AI-powered tool to automatically generate your git commit messages
npm install auto-commit-ai> The minimum supported version of Node.js is the latest v14. Check your Node.js version with node --version.
1. Install aca:
``sh`
npm install -g auto-commit-ai
2. Authenticate using browser:
`sh`
aca auth
Opens browser for authentication. For manual entry:
`sh`
aca auth --manual
3. (Optional) Configure settings:
`sh`
aca config
Interactive interface to customize model, locale, commit type, etc.
Check the installed version with:
`sh`
aca --version
Upgrade to the latest version:
`sh`
npm update -g auto-commit-ai
You can call aca directly to generate a commit message for your staged changes:
`sh`
git add
aca
aca passes down unknown flags to git commit, so you can pass in commit flags.
#### Available CLI flags
- Stage all changes: Stage all tracked file changes before committing
`sh`
aca --all # or -a
- Generate multiple options: Generate multiple commit messages to choose from
`sh`
aca --generate 3 # or -g 3
> Warning: this uses more tokens, meaning it costs more.
- Exclude files: Exclude specific files from AI analysis
`sh`
aca --exclude ".lock" --exclude "dist/" # or -x
#### Commit message types
Configure via aca config:
- None: Standard commit messages
- Conventional: Conventional Commits format (feat:, fix:, etc.)
- Gitmoji: Commit messages with emojis 😄
Integrate aca with Git via the prepare-commit-msg hook. Use Git normally and edit commit messages before committing.
#### Install
In the Git repository you want to install the hook in:
`sh`
aca hook install
#### Uninstall
In the Git repository you want to uninstall the hook from:
`sh`
aca hook uninstall
#### Usage
1. Stage your files and commit:
`sh`
git add
git commit # Only generates a message when it's not passed in
> If you ever want to write your own message instead of generating one, you can simply pass one in: git commit -m "My message"
2. aca will generate the commit message for you and pass it back to Git. Git will open it with the configured editor for you to review/edit it.
3. Save and close the editor to commit!
`sh`
aca config
React-based terminal interface to:
- Configure authentication token
- Choose AI models and commit types
- Set language preferences
- Adjust timeout and message length
- Get real-time validation and descriptions
`sh`
aca auth # Browser-based authentication (recommended)
aca auth --manual # Manual token entry
#### Configuration Options
| Option | Default | Description |
|--------|---------|-------------|
| authtoken | _(required)_ | AutoCommit API authentication token |
| locale | en | Language locale for commit messages (ISO 639-1 codes) |1
| generate | | Number of commit messages to generate (1-5) |conventional
| type | | Commit message format: none, conventional, gitmoji |deepseek-v3
| model | | AI model to use (see supported models below) |30000
| timeout | | Request timeout in milliseconds |50
| max-length | | Maximum commit message length |
#### Supported AI Models
- deepseek-v3 - DeepSeek V3 model (default)
- deepseek-r1 - DeepSeek R1 model
- gemini-2.0 - Google Gemini 2.0 model
- gpt-4-turbo - OpenAI GPT-4 Turbo model
#### Configuration File Locations
aca stores configuration in INI format:./.autoCommit
- Local: (project-specific, takes priority)~/.autoCommit
- Global: (user-wide default)
aca analyzes your staged git changes and generates intelligent commit messages using advanced AI models:
1. Change Detection: Runs git diff --cached to capture your staged changes
2. AI Analysis: Sends the diff to your selected AI model (DeepSeek, Gemini, or GPT-4)
3. Smart Generation: Generates contextual commit messages based on the code changes
4. Format Support: Outputs in your preferred format (conventional commits, gitmoji, or standard)
The tool respects .gitignore` patterns and automatically excludes lock files and build artifacts from analysis.