Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (auto-commit-ai) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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-ai
Authenticate using browser:
aca auth
Opens browser for authentication. For manual entry:
aca auth --manual
(Optional) Configure settings:
aca config
Interactive interface to customize model, locale, commit type, etc.
Upgrading
Check the installed version with:
aca --version
Upgrade to the latest version:
npm update -g auto-commit-ai
Usage
CLI mode
You can call aca
directly to generate a commit message for your staged changes:
git add <files...>
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
aca --all # or -a
Generate multiple options: Generate multiple commit messages to choose from
aca --generate 3 # or -g 3
Warning: 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 install
Uninstall
In the Git repository you want to uninstall the hook from:
aca hook uninstall
Usage
Stage your files and commit:
git add <files...> 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"
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.Save and close the editor to commit!
Configuration
Interactive Configuration
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
Authentication Commands
aca auth # Browser-based authentication (recommended)
aca auth --manual # Manual token entry
Options
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 --cached
to 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.