Commitmate
AI-powered Git commit message generator
Install / Use
/learn @leehosu/CommitmateREADME
🤖 commitmate
AI-powered Git commit message generator
Overview • Features • Quick Start • Installation • Configuration • Advanced
</div>Overview
<div align="center"> <img src="docs/overview.gif" alt="commitmate demo" width="800"> </div>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
- 🔐 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
Star History
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)
GPG Signing
commitmate config set-gpg-sign true # Enable GPG signing by default
commitmate config set-gpg-sign false # Disable GPG signing
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
export COMMITMATE_GPG_SIGN=true
Usage
commitmate # 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 signing
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
<div align="center">
⭐ Star this project if you find it helpful!
</div>Related Skills
node-connect
354.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
