AI-Powered Git Commit Assistant
Project description
CommitBuddy 🤖
Your AI-Powered Git Commit Assistant 🚀
📖 Overview
CommitBuddy is an intelligent command-line tool that revolutionizes your Git workflow by generating semantic commit messages using AI. Powered by the Ollama CLI, it provides a fun, interactive, and step-by-step process to craft clear, conventional commit messages.
✨ Key Features
🎯 Smart Commit Generation
- AI-powered semantic commit message generation
- Conventional commit format compliance
- Context-aware suggestions based on your changes
🔄 Interactive Workflow
- Step-by-Step Process: Guided commit creation with progress indicators
- Multiple Options:
- ✅ Accept & commit changes
- 🔄 Regenerate commit message
- ❌ Abort process
- Real-time Feedback: Clear status updates and error messages
🔍 Built-in Diagnostics
- Configuration verification
- Git installation check
- Ollama server connectivity test
- Model availability confirmation
🚀 Getting Started
Prerequisites
- Python 3.6 or higher
- Git (initialized repository)
- Ollama installed and running
Installation
For Users
pip install commit-buddy
For Developers
git clone https://github.com/atom2ueki/commitbuddy
cd commitbuddy
pip install -e .
⚙️ Configuration
CommitBuddy uses a .commit-buddy.yml configuration file with the following search priority:
- Current project directory
- Home directory (
~/.commit-buddy.yml)
Sample Configuration
# Model settings
model: qwen:14b # Ollama model selection
ollamaIp: localhost:11434 # Ollama server address
🎮 Usage Guide
Generate Commit Message
commitbuddy generate
The process follows these steps:
- 🔍 Loading configuration
- 📄 Retrieving staged changes
- 🤖 Generating AI commit message
- 🎯 Presenting options
- 🚀 Committing changes (if accepted)
Interactive Options
What would you like to do?
👉 [Y] Accept & commit
👉 [R] Regenerate message
👉 [N] Abort
Your choice (Y/R/N):
Run Diagnostics
commitbuddy doctor
Checks performed:
- ✅ Configuration validation
- ✅ Git installation verification
- ✅ Ollama server connection
- ✅ Model availability
🤝 Contributing
We welcome contributions! Whether it's bug fixes, feature additions, or documentation improvements, please feel free to:
- Fork the repository
- Create your feature branch
- Submit a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
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 commit_buddy-0.1.0.tar.gz.
File metadata
- Download URL: commit_buddy-0.1.0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9ad9120496aa9f9c631ab5f75b96715770002e02ab2c35550e10d58651ce487
|
|
| MD5 |
ff9442283ec26b4d6dab5c425c7b2bad
|
|
| BLAKE2b-256 |
2f945db3f19c66a7d01d3ac0c9a47c941e89d12f296d883b875b367b345a4eb9
|
File details
Details for the file commit_buddy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: commit_buddy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9cd2c7d211edd669d0529bfb2839416242e8646016eb8aa172e20d40df5f8c9
|
|
| MD5 |
f8125646fa4a3b741920870e67701d83
|
|
| BLAKE2b-256 |
51198133ce0b34fdb9e519ec3bc9480de059fa93eb9168af7a9a96e557b13cf7
|