Overview
Features
- 🤖 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
- 🎨 Interactive UI - Edit, regenerate, or cancel with simple prompts
- ⚙️ Flexible - Configurable via CLI or environment variables
- 🚀 Cross-platform - Linux, macOS, Windows
Quick Start
# 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
commitmate
Installation
Homebrew (Recommended)
brew tap leehosu/tap
brew install commitmate
Binary Download
Download 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
Configuration
Basic Setup
# 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-20241022
Language Settings
commitmate config set-commit-language en # Commit message language (en/ko)
commitmate config set-ui-language ko # UI language (en/ko)
View Configuration
commitmate config show
Environment Variables
export 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
Usage
commitmate # Analyze and commit
commitmate --dry-run # Generate message only
commitmate --provider openai # Use specific provider
commitmate --no-verify # Skip git hooks
Advanced Features
Conventional Commits
commitmate follows the Conventional Commits format:
<type>(<scope>): <subject>
Supported types: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert
JIRA Integration
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 authentication
Supported patterns: PROJECT-123, ABC-456, DEVOPS2-430
Note: JIRA prefixes are not added on main, master, or develop branches.
Multilingual Support
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 en
Contributing
Issues and PRs are welcome! See CONTRIBUTING.md
Changelog
See CHANGELOG.md for release history
License
MIT License - See LICENSE
Author
@leehosu
⭐ Star this project if you find it helpful!