Commit messages,
written for you.

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

Features

Simple Free mode

Only an OpenRouter key needed. Picks the best currently free model and fails over automatically.

Any provider

OpenRouter, Ollama for local models, or any OpenAI-compatible endpoint such as LM Studio.

Stage, commit, push

--add, --push, --pull, and --push-all for every configured remote.

Watch mode

Commits automatically as you edit, with a configurable delay after the last change.

Version helpers

Bump a version file and sync Cargo.toml, package.json, and GitHub.

Self-healing failover

Jail and blacklist tracking for flaky models, with daily retries and manual --unjail.

VS Code extension

Generate messages from the source control panel.

Smart retries

Handles API failures and network errors without penalizing healthy models.

Install

# 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

Providers

ProviderWhereSetup
Simple Free OpenRouterCloud, freeaicommit --add-simple-free --openrouter-api-key=KEY
OpenRouterCloudchoose in --add-provider
OllamaLocalchoose in --add-provider
OpenAI-compatibleLocal or cloudchoose in --add-provider

Usage

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