A CLI tool to generate commit messages based on git diffs using AI
Project description
CommitCrafter 🎨
Craft your commit messages while you focus on coding. CommitCrafter analyzes your git diff and generates meaningful, conventional commit messages.
✨ What's Cool
- 🤖 Multiple AI Brains: Choose your favorite - GPT, Claude, Gemini, Mistral, or Ollama
- 🎯 Smart Selection: Pick from multiple suggestions for the perfect commit message
- 📋 Auto-Copy: Selected message goes straight to your clipboard
- 🎭 Conventional Commits: Proper formatting with emojis included
- 🔌 Just Works: Zero config needed - works with any git repo
🚀 Quick Start
# Install with pipx
pipx install commitcrafter
# Use it (in any git repository)
commitcraft # Uses Claude by default
commitcraft -a gpt # Or use GPT instead
🎮 Choose Your Model
commitcraft -a claude # Anthropic's Claude
commitcraft -a gpt # OpenAI's GPT
commitcraft -a gemini # Google's Gemini
commitcraft -a mistral # Mistral AI
commitcraft -a ollama # Local Ollama
🔑 Setup
You'll need an API key for your chosen model. Set it as an environment variable:
# Pick the one you need:
export ANTHROPIC_API_KEY='your-key'
export OPENAI_API_KEY='your-key'
export GEMINI_API_KEY='your-key'
export MISTRAL_API_KEY='your-key'
export OLLAMA_API_KEY='your-key'
📦 Requirements
- Python 3.12+
- A git repository
- An API key for your chosen model
🤝 Contributing
Found a bug? Have an idea? PRs and issues are always welcome!
📝 License
MIT - Do whatever you want with it!
🔗 Useful Links
🛠️ Built With
- Pydantic-AI - Modern AI Agent Framework
- Typer - Beautiful CLI Builder
- Rich - Rich Terminal Output
- GitPython - Git Operations
- Pyperclip - Clipboard Management
🤖 AI Providers
- Anthropic Claude - Our Default Model
- OpenAI - GPT Integration
- Google Gemini - Google's LLM
- Mistral AI - Open Source Models
- Ollama - Local AI Runtime
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file commitcrafter-0.3.2.tar.gz.
File metadata
- Download URL: commitcrafter-0.3.2.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.6 Darwin/24.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8ecf4b2da063e00307f706c7132ce933da89dceda60ab214589edd7d7ebab52
|
|
| MD5 |
addb4f2af2ab846cfd56984b0bc2060b
|
|
| BLAKE2b-256 |
53c8e9c79f4157a70b2d91ef4c61c463039245460ee65e635145a964d7e7fba0
|
File details
Details for the file commitcrafter-0.3.2-py3-none-any.whl.
File metadata
- Download URL: commitcrafter-0.3.2-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.12.6 Darwin/24.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d28a99049fa5d730cdc75de75eb251ca9c4f64f8c88c20574c13759a0e2a7b8c
|
|
| MD5 |
9aecd887e46d330e9a6183b03ef55a15
|
|
| BLAKE2b-256 |
81b757bd692dc79f2775c926599e85d73f120e30fe9480c176182b5ce22b380f
|