Skip to main content

AI-powered git commit message generator supporting multiple providers (Gemini, Claude)

Project description

Commit with AI

AI-powered git commit message generator supporting multiple AI providers (Gemini API, Claude CLI).

What It Does

Analyzes your staged git changes and generates 5 Conventional Commits-compliant commit message suggestions using AI. Select one or enter your own.

Installation

Via PyPI (Recommended)

# Use uvx (no installation required)
uvx commit-with-ai

# Or install globally
pip install commit-with-ai

From Source

git clone https://github.com/chenwei791129/commit-with-ai.git
cd commit-with-ai
uv run -m commit_with_ai

Setup

Provider Selection

Choose 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)

Model Selection

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

Gemini 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

Claude CLI Provider

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

Configure Git Alias

# 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'

Usage

git add <files>
git ac

# Or with provider/model options
git add <files>
commit-with-ai --provider claude-cli --model sonnet

Environment Variables

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

Example

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]:

Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commit_with_ai-1.2.0.tar.gz (114.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

commit_with_ai-1.2.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file commit_with_ai-1.2.0.tar.gz.

File metadata

  • Download URL: commit_with_ai-1.2.0.tar.gz
  • Upload date:
  • Size: 114.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for commit_with_ai-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8419edffeadd2d53eaa68dfb5fb659b39ec8f311d39ebf1d4afd625eae8eedf3
MD5 7d8871f3461e1a9c071b4b5fb16a4c2c
BLAKE2b-256 e982914a1f58ede5e8ee89c6aca7567006d64b525b3798f0544e21c3f2e900e8

See more details on using hashes here.

File details

Details for the file commit_with_ai-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: commit_with_ai-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for commit_with_ai-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b98bb4b53badb1a181efde27980d39eda02916ed2dcf478688169288d8ffd328
MD5 8c3703ae0a8674b85ca0a643747867ed
BLAKE2b-256 4854666f9d24122dee76d8cb8dc26c6e9db95fcb40f024e8ee8fe91104a7ce1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page