commitmate

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2026 License: MIT Imports: 1 Imported by: 0

README

🤖 commitmate

AI-powered Git commit message generator

Go Version Release

English | 한국어

OverviewFeaturesQuick StartInstallationConfigurationAdvanced


Overview

commitmate demo

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

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!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
ai
git

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL