A fast, simple, lightweight CLI that automates your git workflow. Generate commit messages, detect branch misalignment, create feature branches, and open pull requests—all powered by AI.
Most AI commit tools are built on Node.js or Python, adding noticeable startup delay to every invocation. Committer is a native binary—it launches instantly and streams responses in real-time, so you're never waiting on the tool itself.
Generate conventional commits from your staged changes:
Catch mistakes before they happen. Committer analyzes your changes and warns if they don't match your current branch:
Generate PR titles and descriptions from your commits, then create the PR:
- Conventional commits — Properly formatted
type(scope): descriptionmessages - Fast — Starts instantly, streams responses in real-time
- Smart diff filtering — Automatically excludes lock files, build artifacts, minified code
- Large diff handling — Intelligently truncates at 300KB to stay within limits
- Any model — Use Claude, GPT-4, Gemini, Llama, or any model on OpenRouter
cargo install committer-cligit clone https://github.com/nolanneff/committer.git
cd committer
cargo install --path .Download from the releases page.
-
Get an API key from OpenRouter
-
Set your API key:
export OPENROUTER_API_KEY="sk-or-..."
Add to your shell profile (
~/.bashrc,~/.zshrc) to persist across sessions. -
Generate your first commit:
git add . committer
committer # Generate message, prompt for confirmation
committer -a # Stage all changes first
committer -y # Skip confirmation, commit immediately
committer -ay # Stage all + auto-commit (fully automatic)
committer -d # Dry run, preview message only
committer -o # Generate single-line message (no body)
committer -m <model> # Use a specific model
committer -v # Show verbose outputcommitter -b # Analyze branch alignment, prompt to create
committer -B # Auto-create suggested branchescommitter pr # Create PR with AI-generated title/description
committer pr --draft # Create as draft
committer pr -d # Preview without creating
committer pr -y # Create without confirmation
committer pr --base main # Specify base branch (auto-detected by default)
committer pr -m <model> # Use a specific modelRequires: GitHub CLI (gh auth login)
Configuration is optional. Committer works out of the box with sensible defaults. Customize only what you need.
Config file: ~/.config/committer/config.toml
committer config show # View current settings
committer config model <model> # Set default model
committer config auto-commit true # Skip confirmations
committer config commit-after-branch true # Auto-commit after creating branch
committer config verbose true # Enable debug output| Option | Default | Description |
|---|---|---|
model |
google/gemini-3-flash-preview |
Default model |
auto_commit |
false |
Skip confirmation prompts |
commit_after_branch |
false |
Auto-commit after creating branch via b option |
verbose |
false |
Show detailed logs |
OPENROUTER_API_KEY— API key (required)EDITOR— Editor for commit message editing (optional)
Windows 11's new tabbed Notepad has issues saving temp files when using the [e] Edit option. It may open "Save As" to the wrong directory instead of saving in place.
Set the EDITOR environment variable to a different editor like VS Code, Notepad++, or classic Notepad (C:\Windows\notepad.exe).
- Git
- OpenRouter API key (free tier available)
- GitHub CLI (only for
committer pr)
This project is under active development. Planned features:
- Custom commit message formatting (templates, scopes, styles)
- More configuration options
- Fork the repo
- Create a feature branch (
git checkout -b feat/my-feature) - Commit using conventional commits (Could use committer 🙂)
- Open a PR against
main
MIT © Nolan Neff



