committer-cli

Crates.iocommitter-cli
lib.rscommitter-cli
version0.1.0
created_at2026-01-25 20:15:14.773121+00
updated_at2026-01-25 20:15:14.773121+00
descriptionFast AI-powered git commit message generator
homepagehttps://github.com/nolanneff/committer
repositoryhttps://github.com/nolanneff/committer
max_upload_size
id2069438
size1,912,664
Nolan (nolanneff)

documentation

README

Committer

AI-powered commits, branches, and pull requests.

Crates.io License: MIT Rust Platform

InstallationQuick StartUsageConfiguration


A fast, 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.


What It Does

Commit Messages

Generate conventional commits from your staged changes:

Committer generating a commit message

Branch Detection

Catch mistakes before they happen. Committer analyzes your changes and warns if they don't match your current branch:

Committer detecting branch misalignment

Pull Requests

Generate PR titles and descriptions from your commits, then create the PR:

Committer creating a pull request

Features

  • Conventional commits — Properly formatted type(scope): description messages
  • 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

Installation

From crates.io

cargo install committer-cli

From source

git clone https://github.com/nolanneff/committer.git
cd committer
cargo install --path .

Pre-built binaries

Download from the releases page.

Quick Start

  1. Get an API key from OpenRouter

  2. Set your API key:

    export OPENROUTER_API_KEY="sk-or-..."
    

    Add to your shell profile (~/.bashrc, ~/.zshrc) to persist across sessions.

  3. Generate your first commit:

    git add .
    committer
    

Usage

Commits

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 -m <model>   # Use a specific model

Branches

committer -b           # Analyze branch alignment, prompt to create
committer -B           # Auto-create suggested branches

Pull Requests

committer pr           # Create PR with AI-generated title/description
committer pr --draft   # Create as draft
committer pr -d        # Preview without creating

Requires: GitHub CLI (gh auth login)

Configuration

Configuration is optional. Committer works out of the box with sensible defaults. Customize only what you need.

Config file: ~/.config/committer/config.toml

Commands

committer config show              # View current settings
committer config model <model>     # Set default model
committer config auto-commit true  # Skip confirmations
committer config verbose true      # Enable debug output

Options

Option Default Description
model google/gemini-2.0-flash-001 Default model
auto_commit false Skip confirmation prompts
verbose false Show detailed logs

Environment variables

  • OPENROUTER_API_KEY — API key (required)

Requirements

Roadmap

This project is under active development. Planned features:

  • Custom commit message formatting (templates, scopes, styles)
  • More configuration options

Contributing

  1. Fork the repo
  2. Create a feature branch (git checkout -b feat/my-feature)
  3. Commit using conventional commits (Could use committer 🙂)
  4. Open a PR against main

License

MIT © Nolan Neff

Commit count: 66

cargo fmt