Skip to content

leehosu/commitmate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

69 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– commitmate

AI-powered Git commit message generator

License: MIT Go Version Release

English | ν•œκ΅­μ–΄

Overview β€’ Features β€’ Quick Start β€’ Installation β€’ Configuration β€’ Advanced


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
  • πŸ” 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

Star History Chart

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

@leehosu


⭐ Star this project if you find it helpful!

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages