| Crates.io | commitbot |
| lib.rs | commitbot |
| version | 0.4.0 |
| created_at | 2025-11-08 20:32:59.102601+00 |
| updated_at | 2025-12-23 18:29:51.203203+00 |
| description | A CLI assistant that generates commit and PR messages from your diffs using LLMs. |
| homepage | https://github.com/MikeGarde/commitbot |
| repository | https://github.com/MikeGarde/commitbot |
| max_upload_size | |
| id | 1923250 |
| size | 174,419 |
A Rust-powered CLI that writes meaningful, structured Git commit messages using LLMs.
Commitbot analyzes your staged Git changes and helps you craft clear, consistent commit messages that describe why changes were made — not just what changed.
It can summarize diffs, ask you how each file relates to the purpose of the commit, and produce structured, readable messages your teammates (and future self) will thank you for.
You’ll need an OpenAI API key set as an environment variable:
export OPENAI_API_KEY="sk-..."
brew tap mikegarde/tap
brew install commitbot
Analyze all staged changes and generate a commit message in one step:
commitbot
Walk through each staged file and describe how it relates to the main purpose of the commit:
commitbot --ask
For each file, select:
1) Main purpose
2) Supporting change
3) Consequence / ripple
4) Ignore
After all files are classified, Commitbot summarizes and generates the full commit message.
Generate high-level PR descriptions by summarizing commit messages instead of diffs:
commitbot pr develop
commitbot pr develop feat/ISSUE-201-registration
Commitbot will:
develop or main) and the feature branch.#123).Commitbot automatically loads its configuration from ~/.config/commitbot.toml. Settings can be defined globally in this file, overridden by environment variables, or specified directly through CLI flags. Per-project configurations are also supported for repository-specific overrides.
Example:
model = "gpt-4o-mini"
["mikegarde/commitbot"]
model = "gpt-5-nano"
GPL-3.0-or-later
See LICENSE for details.
Commitbot is under active development — features and output quality will evolve with each release.