A powerful CLI tool that generates conventional commit messages using local LLMs via Ollama. Say goodbye to writing commit messages manually!
- 🤖 Generates smart, conventional commit messages using local LLMs
- 🔄 Automatically manages Ollama service
- 🎯 Supports multiple Ollama models
- 🚀 Fast and efficient
- 💻 Works offline with local models
- 📝 Automatic git staging with smart file selection
cargo install commitgenius
brew tap bannawandoor27/Commitgenius
brew install commitgenius
# Add GPG key
curl -fsSL https://bannawandoor27.github.io/Commitgenius/apt-repo/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/commitgenius-archive-keyring.gpg
# Add repository
echo "deb [signed-by=/usr/share/keyrings/commitgenius-archive-keyring.gpg] https://bannawandoor27.github.io/Commitgenius/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/commitgenius.list
# Update and install
sudo apt update
sudo apt install commitgenius
- Ollama must be installed on your system
- Rust and Cargo (if installing via cargo)
- Stage and commit all changes:
cmgenius .
- Stage and commit specific files:
cmgenius file1.rs file2.rs
- Commit already staged changes:
cmgenius
Use a different model:
# Stage and commit all changes with a specific model
cmgenius . --model codellama
# Stage and commit specific files with a specific model
cmgenius file1.rs file2.rs --model codellama
# Commit staged changes with a specific model
cmgenius --model codellama
Available models:
- qwen2.5:7b (default)
- codellama
- llama2
- mistral
- neural-chat
- And any other model available in Ollama
# Stage and commit all changes
cmgenius .
# Stage and commit specific files
cmgenius src/main.rs Cargo.toml
# Commit already staged changes with a specific model
cmgenius --model codellama
# View available options
cmgenius --help
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes using Commitgenius! (
cmgenius .
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Ollama for providing the local LLM infrastructure
- The Rust community for amazing crates and tools
Hasanul Banna - @bannawandoor27
Project Link: https://github.com/bannawandoor27/Commitgenius