auto-commit-ai
v2.1.1
Published
AI-powered tool to automatically generate your git commit messages
Maintainers
Readme
Setup
The minimum supported version of Node.js is the latest v14. Check your Node.js version with
node --version.
Install
aca:npm install -g auto-commit-aiAuthenticate using browser:
aca authOpens browser for authentication. For manual entry:
aca auth --manual(Optional) Configure settings:
aca configInteractive interface to customize model, locale, commit type, etc.
Upgrading
Check the installed version with:
aca --versionUpgrade to the latest version:
npm update -g auto-commit-aiUsage
CLI mode
You can call aca directly to generate a commit message for your staged changes:
git add <files...>
acaaca 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
aca --all # or -aGenerate multiple options: Generate multiple commit messages to choose from
aca --generate 3 # or -g 3Warning: this uses more tokens, meaning it costs more.
Exclude files: Exclude specific files from AI analysis
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 😄
Git hook
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:
aca hook installUninstall
In the Git repository you want to uninstall the hook from:
aca hook uninstallUsage
Stage your files and commit:
git add <files...> git commit # Only generates a message when it's not passed inIf you ever want to write your own message instead of generating one, you can simply pass one in:
git commit -m "My message"acawill 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.Save and close the editor to commit!
Configuration
Interactive Configuration
aca configReact-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
Authentication Commands
aca auth # Browser-based authentication (recommended)
aca auth --manual # Manual token entryOptions
Configuration Options
| Option | Default | Description |
|--------|---------|-------------|
| authtoken | (required) | AutoCommit API authentication token |
| locale | en | Language locale for commit messages (ISO 639-1 codes) |
| generate | 1 | Number of commit messages to generate (1-5) |
| type | conventional | Commit message format: none, conventional, gitmoji |
| model | deepseek-v3 | AI model to use (see supported models below) |
| timeout | 30000 | Request timeout in milliseconds |
| max-length | 50 | 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:
- Local:
./.autoCommit(project-specific, takes priority) - Global:
~/.autoCommit(user-wide default)
How it works
aca analyzes your staged git changes and generates intelligent commit messages using advanced AI models:
- Change Detection: Runs
git diff --cachedto capture your staged changes - AI Analysis: Sends the diff to your selected AI model (DeepSeek, Gemini, or GPT-4)
- Smart Generation: Generates contextual commit messages based on the code changes
- 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.
Links
- AutoCommit Official Website - AI-powered commit message generator
- Icebreaker Games - Fun team building and icebreaker activities
