AI-powered Git commit message generator
Overview β’ Features β’ Quick Start β’ Installation β’ Configuration β’ Advanced
- π€ AI-Powered - OpenAI GPT & Anthropic Claude support
- π Conventional Commits - Industry-standard commit format
- π Multilingual - Korean/English support for messages and UI
- π« JIRA Integration - Auto-detect and add issue numbers from branch names
- π GPG Signing - Sign commits with GPG keys
- π¨ Interactive UI - Edit, regenerate, or cancel with simple prompts
- βοΈ Flexible - Configurable via CLI or environment variables
- π Cross-platform - Linux, macOS, Windows
# 1. Set your API key
commitmate config set-key openai sk-xxxxx
commitmate config set-provider openai
# 2. Stage your changes
git add .
# 3. Generate and commit
commitmatebrew tap leehosu/tap
brew install commitmateDownload from Releases
# macOS/Linux
tar -xzf commitmate_*.tar.gz
chmod +x commitmate
sudo mv commitmate /usr/local/bin/
# Windows
# Extract commitmate.exe and add to PATH# API Keys
commitmate config set-key openai sk-xxxxx
commitmate config set-key claude sk-ant-xxxxx
# Provider
commitmate config set-provider openai # or claude
# Model (optional)
commitmate config set-model openai gpt-4o-mini
commitmate config set-model claude claude-3-5-haiku-20241022commitmate config set-commit-language en # Commit message language (en/ko)
commitmate config set-ui-language ko # UI language (en/ko)commitmate config set-gpg-sign true # Enable GPG signing by default
commitmate config set-gpg-sign false # Disable GPG signingcommitmate config showexport COMMITMATE_OPENAI_API_KEY=sk-xxxxx
export COMMITMATE_CLAUDE_API_KEY=sk-ant-xxxxx
export COMMITMATE_PROVIDER=openai
export COMMITMATE_COMMIT_LANGUAGE=ko
export COMMITMATE_UI_LANGUAGE=en
export COMMITMATE_GPG_SIGN=truecommitmate # Analyze and commit
commitmate --dry-run # Generate message only
commitmate --provider openai # Use specific provider
commitmate --no-verify # Skip git hooks
commitmate -S # Enable GPG signing
commitmate --no-gpg-sign # Disable GPG signingcommitmate follows the Conventional Commits format:
<type>(<scope>): <subject>
Supported types: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert
Automatically detects JIRA issue numbers from branch names:
# Branch: DEVOPS2-430-add-feature
commitmate
# Output: [DEVOPS2-430] feat: add user authentication
# Branch: feature/add-auth
commitmate
# Output: feat: add user authenticationSupported patterns: PROJECT-123, ABC-456, DEVOPS2-430
Note: JIRA prefixes are not added on main, master, or develop branches.
Separate language settings for commit messages and UI:
# English commits, Korean UI (for Korean developers in global teams)
commitmate config set-commit-language en
commitmate config set-ui-language ko
# Korean commits, English UI (for international developers in Korean companies)
commitmate config set-commit-language ko
commitmate config set-ui-language enIssues and PRs are welcome! See CONTRIBUTING.md
See CHANGELOG.md for release history
MIT License - See LICENSE
β Star this project if you find it helpful!
