nocommit is a CLI tool that writes your git commit messages for you with AI using Google Gemini. Never write a commit message again.
Why nocommit?
Writing good commit messages is hard. We've all been there:
- Staring at a blank commit message box, unsure what to write
- Defaulting to vague messages like "fix bug" or "update stuff"
- Struggling to maintain consistency across team commits
- Spending more time writing commit messages than actually coding
nocommit takes the hassle out of commit messages. It looks at your changes and writes a clear, useful message for you—so you can skip the mental overhead and get back to coding.
How It Works
# Stage your changes
git add .
# Generate and commit with AI-generated message
nocommit
# That's it!Features
- Lightning Fast - Powered by Google's Gemini AI for quick, intelligent responses
- Context-Aware - Analyzes actual code changes, not just file names
- Token-Efficient - Smart diff extraction limits files and lines to save API costs
- Conventional Commits - Generates proper conventional commit format automatically
- Interactive Workflow - Review, edit, regenerate, or commit with a beautiful CLI interface
- Multiple Suggestions - Generate up to 5 commit message options to choose from
- Smart Defaults - Works great out of the box, customizable when you need it
What Makes nocommit Special
nocommit uses Google's Gemini AI, which provides:
- Advanced understanding - Gemini analyzes your code changes semantically
- Cost-effective - Generous free tier and affordable pricing
- Fast inference - Get commit messages in seconds
- Reliable - Google's infrastructure ensures high uptime and consistent performance
Smart Diff Handling
For efficient API usage and accurate commit messages, nocommit automatically:
- Limits file count - Processes up to 5 files to stay within token limits
- Extracts key changes - Captures only added/removed lines (up to 30 per file)
- Enforces size limits - Keeps total diff under 4000 characters
- Excludes noise - Ignores lock files, build outputs, and generated files automatically
This ensures you get accurate commit messages without hitting API limits or wasting tokens on irrelevant content like package-lock.json or node_modules.
Excluded Files
nocommit automatically excludes these files from diff analysis:
- Lock files:
package-lock.json,pnpm-lock.yaml,yarn.lock,bun.lock - Build outputs:
dist/**,build/**,.next/** - Generated files:
*.min.js,*.map,*.log - Dependencies:
node_modules/**
Ready to upgrade your commits? Let's get you started with installation and setup.