A fast CLI that reads your diff and writes a concise, descriptive git commit message with an LLM. Cloud, free, or fully local.
Get startedView on GitHub$ aicommit --add --push → staged 4 files → model: free (auto-selected) ✓ feat(auth): add token refresh with retry on 401 ✓ pushed to origin/main
Only an OpenRouter key needed. Picks the best currently free model and fails over automatically.
OpenRouter, Ollama for local models, or any OpenAI-compatible endpoint such as LM Studio.
--add, --push, --pull, and --push-all for every configured remote.
Commits automatically as you edit, with a configurable delay after the last change.
Bump a version file and sync Cargo.toml, package.json, and GitHub.
Jail and blacklist tracking for flaky models, with daily retries and manual --unjail.
Generate messages from the source control panel.
Handles API failures and network errors without penalizing healthy models.
# npm npm install -g @suenot/aicommit # or cargo cargo install aicommit
# one-time setup: pick a provider aicommit --add-provider # then, in any repo git add . aicommit
| Provider | Where | Setup |
|---|---|---|
| Simple Free OpenRouter | Cloud, free | aicommit --add-simple-free --openrouter-api-key=KEY |
| OpenRouter | Cloud | choose in --add-provider |
| Ollama | Local | choose in --add-provider |
| OpenAI-compatible | Local or cloud | choose in --add-provider |
aicommit # commit staged changes aicommit --add # stage all, then commit aicommit --add --push # ...and push aicommit --push-all # push to every remote aicommit --dry-run # preview the message aicommit --watch # auto-commit on change aicommit --jail-status # model health