Skip to main content

AI-Powered Git Commit Assistant

Project description

CommitBuddy 🤖

Your AI-Powered Git Commit Assistant 🚀

Release Python Version License Contributions Welcome

📖 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:

  1. Current project directory
  2. 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:

  1. 🔍 Loading configuration
  2. 📄 Retrieving staged changes
  3. 🤖 Generating AI commit message
  4. 🎯 Presenting options
  5. 🚀 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:

  1. Fork the repository
  2. Create your feature branch
  3. Submit a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Report Bug · Request Feature

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commit_buddy-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

commit_buddy-0.1.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

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

Hashes for commit_buddy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e9ad9120496aa9f9c631ab5f75b96715770002e02ab2c35550e10d58651ce487
MD5 ff9442283ec26b4d6dab5c425c7b2bad
BLAKE2b-256 2f945db3f19c66a7d01d3ac0c9a47c941e89d12f296d883b875b367b345a4eb9

See more details on using hashes here.

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

Hashes for commit_buddy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9cd2c7d211edd669d0529bfb2839416242e8646016eb8aa172e20d40df5f8c9
MD5 f8125646fa4a3b741920870e67701d83
BLAKE2b-256 51198133ce0b34fdb9e519ec3bc9480de059fa93eb9168af7a9a96e557b13cf7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page