AI-powered git commit message generator supporting multiple AI providers (Gemini API, Claude CLI).
Analyzes your staged git changes and generates 5 Conventional Commits-compliant commit message suggestions using AI. Select one or enter your own.
# Use uvx (no installation required)
uvx commit-with-ai
# Or install globally
pip install commit-with-aigit clone https://github.com/chenwei791129/commit-with-ai.git
cd commit-with-ai
uv run -m commit_with_aiChoose your AI provider via --provider flag or COMMIT_AI_PROVIDER environment variable:
# Use Gemini (default)
commit-with-ai
# Use Claude CLI
commit-with-ai --provider claude-cli
# Or set via environment variable
export COMMIT_AI_PROVIDER="claude-cli"Priority: --provider flag > COMMIT_AI_PROVIDER env > default (gemini)
Override the default model via --model flag or COMMIT_AI_MODEL environment variable:
# Use a specific model
commit-with-ai --provider claude-cli --model sonnet
# Or set via environment variable
export COMMIT_AI_MODEL="sonnet"Priority: --model flag > COMMIT_AI_MODEL env > provider default
Set your Gemini API key:
export GEMINI_API_KEY="your-api-key-here"Get your API key from Google AI Studio.
| Setting | Default |
|---|---|
| Model | gemini-3-flash-preview |
Requires Claude Code installed and authenticated locally. No API key needed — uses your existing Claude CLI credentials.
# Install Claude Code (if not already installed)
npm install -g @anthropic-ai/claude-code
# Authenticate
claude login| Setting | Default |
|---|---|
| Model | haiku |
# If installed via pip
git config --global alias.ac '!commit-with-ai'
# Or if using uvx (no installation)
git config --global alias.ac '!uvx commit-with-ai'git add <files>
git ac
# Or with provider/model options
git add <files>
commit-with-ai --provider claude-cli --model sonnet| Variable | Description | Default |
|---|---|---|
COMMIT_AI_PROVIDER |
AI provider (gemini, claude-cli) |
gemini |
COMMIT_AI_MODEL |
AI model name | Provider-specific |
GEMINI_API_KEY |
Gemini API key (for gemini provider) | — |
GOOGLE_API_KEY |
Alternative Gemini API key | — |
Analyzing staged changes...
Generating commit message options with claude-cli (haiku)...
======================================================================
Select a commit message:
======================================================================
1. feat(auth): add user authentication system
2. feat: implement login and registration flow
3. chore(deps): add authentication dependencies
4. docs: update README with auth setup instructions
5. refactor(auth): restructure authentication module
6. Enter custom message
7. Cancel
======================================================================
Enter selection [1-7]: