AI-Powered Conventional Commits Generator for Git
- π€ AI-generated commit messages from staged diff via LLM
- π¨ Interactive commit type selector with emoji (feat, fix, docs, ...)
- π’ Optional issue number embedding β
feat(#123): β¨ message - π Multi-LLM support: OpenAI / Anthropic / Ollama / DeepSeek / XAI / Phind / Google / Groq / Custom
- π¦ Rust-native, minimal overhead
curl -fsSL https://raw.githubusercontent.com/kitty-eu-org/aigcw/main/scripts/install.sh | bashcargo install aigcwgit clone https://github.com/kitty-eu-org/aigcw.git
cd aigcw
cargo install --path .gcw is a drop-in wrapper around git. Use it in place of git:
# Stage changes and commit interactively
git add .
gcw commit
# Interactive flow:
# 1. Select commit type β feat / fix / docs / ...
# 2. Enter issue number β 123 (or press Enter to skip)
# 3. Enter message β or leave blank to generate via LLM
#
# Result: feat(#123): β¨ add new feature
# or: feat: β¨ add new feature (if issue skipped)
# Pass a message directly (skips LLM generation)
gcw commit -m "initial setup"
# All other git commands pass through unchanged
gcw push
gcw pull
gcw statusOn first run, gcw creates a config file at ~/.config/aigcw/config.toml.
Example config:
config_version = 1
[llm_config]
provider = "OpenAI" # OpenAI | Anthropic | Ollama | DeepSeek | XAI | Phind | Google | Groq | CUSTOM
enable = true
api_key = "sk-..."
model = "gpt-4o"
# url = "https://custom-endpoint/v1" # required for CUSTOM providerYou can also customise commit types by creating .commitconfig.toml in your project root:
[emoji]
enable = true
[[types]]
name = "feat"
emoji = "β¨"
desc = "A new feature"
[[types]]
name = "fix"
emoji = "π"
desc = "A bug fix"# Build
cargo build --release
# Install from local
cargo install --path .MIT Β© 2025 aigcw