Skip to main content

AI-powered Git commit message generator that automatically creates conventional commit messages using Groq, OpenRouter, or Cohere APIs. Source: https://github.com/Joshi-e8/ai-commit-generator.git

Project description

๐Ÿค– Smart Commits AI - Universal Git Commit Generator

PyPI version NPM version Docker License: MIT Downloads

AI-powered commit messages for ANY project - React, Flutter, Go, Python, and more!

Transform your Git workflow with AI that understands your code changes and generates perfect conventional commit messages. Works with any programming language and any project type.

This tool works as a Git pre-commit hook that analyzes your staged changes and generates professional commit messages using AI APIs (Groq, OpenRouter, Cohere).


๐Ÿš€ Quick Start (2 minutes)

๐Ÿš€ Universal Installation (Works with ANY Project)

Method 1: One-Line Install (Recommended)

# Universal installer - works on macOS, Linux, Windows
curl -fsSL https://raw.githubusercontent.com/Joshi-e8/ai-commit-generator/main/install.sh | bash

Method 2: NPM (Perfect for JavaScript/React/Next.js)

# Install via NPM (no Python knowledge required)
npm install -g smart-commits-ai

# Or use without global install
npx smart-commits-ai install

Method 3: Docker (Zero Dependencies)

# Works everywhere, no local setup needed
docker run --rm -v $(pwd):/workspace joshi/smart-commits-ai install

Method 4: Python Package (Traditional)

# For Python developers
pip install smart-commits-ai

๐Ÿ“Š Choose Your Installation Method

Method Best For Setup Time Dependencies
One-Line Script Any team 30 seconds Auto-detected
NPM Package JS/React/Node teams 15 seconds Node.js
Docker DevOps/Containerized 20 seconds Docker only
Python Package Python developers 10 seconds Python 3.8+

โšก Quick Setup (2 Minutes)

Step 1: Get Free API Key

Choose your preferred AI provider:

Step 2: Setup in Your Project

# Navigate to ANY Git repository (React, Flutter, Go, Python, etc.)
cd your-awesome-project

# Install Git hook
smart-commits-ai install

# Add your API key
echo "GROQ_API_KEY=your_key_here" >> .env

Step 3: Start Using AI Commits

# Normal Git workflow - AI handles the message!
git add src/components/Button.js
git commit  # โœจ AI generates: "feat(ui): add Button component with hover effects"

That's it! Every git commit now uses AI. ๐ŸŽ‰

๐ŸŒ Works with ANY Project Type

React/Next.js Projects

# Install via NPM (feels native to JS developers)
npm install smart-commits-ai
npx smart-commits-ai install

# Example AI-generated commits:
# feat(components): add responsive navigation bar with mobile menu
# fix(api): resolve authentication token refresh issue
# style(ui): update button hover animations and color scheme

Flutter/Mobile Projects

# One-line install
curl -fsSL https://raw.githubusercontent.com/Joshi-e8/ai-commit-generator/main/install.sh | bash

# Example AI-generated commits:
# feat(widgets): implement custom date picker with theme support
# fix(navigation): resolve back button behavior on Android
# perf(images): optimize asset loading and caching strategy

Backend Projects (Go, Rust, Java, etc.)

# Docker approach (no dependencies)
docker run --rm -v $(pwd):/workspace joshi/smart-commits-ai install

# Example AI-generated commits:
# feat(api): add user authentication middleware with JWT
# fix(db): resolve connection pool timeout issues
# refactor(handlers): improve error handling and logging

Any Git Repository

# Universal installer
bash <(curl -fsSL https://raw.githubusercontent.com/Joshi-e8/ai-commit-generator/main/install.sh)

# Works with: Python, C++, C#, PHP, Ruby, Swift, Kotlin, and more!


โœจ Features

  • ๐ŸŒ Universal: Works with ANY programming language and project type
  • ๐Ÿค– AI-Powered: Uses Groq, OpenRouter, or Cohere APIs
  • ๐Ÿ“ Conventional Commits: Automatic type(scope): description format
  • โšก Fast: < 2 second response time with Groq
  • ๐Ÿ“ฆ Multiple Install Methods: NPM, Docker, Python, or standalone
  • ๐Ÿ”ง Configurable: Customize prompts, models, and scopes
  • ๐Ÿ›ก๏ธ Secure: Only staged changes sent to AI, no data storage
  • ๐Ÿ”„ Fallback: Works even if AI fails
  • ๐ŸŽฏ Team-Friendly: No Python knowledge required for team adoption
  • ๐Ÿงช Testable: Comprehensive test suite and type hints
  • ๐ŸŽจ Rich CLI: Beautiful command-line interface with colors

๐ŸŽฏ Real-World Examples

React Component Changes

# Your changes: Added a new Button component with TypeScript
git add src/components/Button.tsx
git commit
# ๐Ÿค– AI generates: "feat(components): add Button component with TypeScript and hover animations"

Flutter Widget Updates

# Your changes: Fixed navigation issue on Android
git add lib/screens/home_screen.dart
git commit
# ๐Ÿค– AI generates: "fix(navigation): resolve back button behavior on Android devices"

API Endpoint Development

# Your changes: Added user authentication middleware
git add src/middleware/auth.go
git commit
# ๐Ÿค– AI generates: "feat(auth): implement JWT middleware with role-based access control"

Database Schema Updates

# Your changes: Added indexes for better performance
git add migrations/add_user_indexes.sql
git commit
# ๐Ÿค– AI generates: "perf(db): add indexes on user table for faster queries"

๐Ÿข Team Adoption

For JavaScript/TypeScript Teams

{
  "devDependencies": {
    "smart-commits-ai": "^1.0.4"
  },
  "scripts": {
    "postinstall": "smart-commits-ai install",
    "commit": "git commit"
  }
}

For Any Team (Docker)

# Add to team setup docs
echo 'alias smart-commits="docker run --rm -v $(pwd):/workspace joshi/smart-commits-ai"' >> ~/.bashrc

For CI/CD Pipelines

# .github/workflows/commits.yml
- uses: joshi-e8/smart-commits-ai-action@v1
  with:
    api_key: ${{ secrets.GROQ_API_KEY }}

๐Ÿ“ Project Structure

ai-commit-generator/
โ”œโ”€โ”€ README.md                           # This file
โ”œโ”€โ”€ TEAM_SETUP_GUIDE.md                # Detailed team documentation
โ”œโ”€โ”€ pyproject.toml                     # Python package configuration
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ ai_commit_generator/
โ”‚       โ”œโ”€โ”€ __init__.py                # Package initialization
โ”‚       โ”œโ”€โ”€ cli.py                     # Command-line interface
โ”‚       โ”œโ”€โ”€ core.py                    # Main commit generation logic
โ”‚       โ”œโ”€โ”€ config.py                  # Configuration management
โ”‚       โ”œโ”€โ”€ api_clients.py             # AI API clients
โ”‚       โ””โ”€โ”€ git_hook.py                # Git hook management
โ”œโ”€โ”€ templates/
โ”‚   โ”œโ”€โ”€ .commitgen.yml                 # Configuration template
โ”‚   โ””โ”€โ”€ .env.example                   # Environment template
โ”œโ”€โ”€ tests/                             # Test suite
โ”œโ”€โ”€ examples/                          # Usage examples
โ””โ”€โ”€ legacy/                            # Original bash scripts
    โ”œโ”€โ”€ install_hook.sh                # Legacy installer
    โ””โ”€โ”€ hooks/
        โ””โ”€โ”€ prepare-commit-msg         # Legacy hook script

๐Ÿ–ฅ๏ธ CLI Commands

Install Hook

# Install Git hook in current repository
smart-commits-ai install

# Install with configuration files
smart-commits-ai install --config

# Force overwrite existing hook
smart-commits-ai install --force

Manage Installation

# Check installation status
smart-commits-ai status

# Test with current staged changes
smart-commits-ai test

# Uninstall hook
smart-commits-ai uninstall

Generate Messages

# Generate message for staged changes
smart-commits-ai generate

# Generate without writing to file (dry run)
smart-commits-ai generate --dry-run

# Generate and save to specific file
smart-commits-ai generate --output commit-msg.txt

Configuration

# Show current configuration
smart-commits-ai config --show

# Validate configuration
smart-commits-ai config --validate

๐Ÿ”ง Configuration

Basic Setup (.env)

# Choose one provider
GROQ_API_KEY=gsk_your_key_here
# OPENROUTER_API_KEY=sk-or-your_key_here
# COHERE_API_KEY=your_cohere_key_here

Advanced Setup (.commitgen.yml)

api:
  provider: groq
  
commit:
  max_chars: 72
  types: [feat, fix, docs, style, refactor, test, chore]
  scopes: [api, ui, auth, db, config]
  
prompt:
  template: |
    Generate a conventional commit message for:
    {{diff}}

๐Ÿข Team Deployment

Option 1: Shared Network Drive

# Copy to shared location
cp -r ai-commit-generator /shared/tools/

# Team members install from shared location
/shared/tools/ai-commit-generator/install_hook.sh

Option 2: Internal Git Repository

# Create internal repo
git init ai-commit-generator
git add .
git commit -m "feat: add AI commit message generator"
git remote add origin https://github.com/your-org/ai-commit-generator.git
git push -u origin main

# Team members clone and install
git clone https://github.com/your-org/ai-commit-generator.git
cd your-project
../ai-commit-generator/install_hook.sh

Option 3: Package Distribution

# Create distributable package
tar -czf ai-commit-generator.tar.gz ai-commit-generator/

# Team members download and extract
curl -sSL https://your-server/ai-commit-generator.tar.gz | tar -xz
./ai-commit-generator/install_hook.sh

๐Ÿ› ๏ธ Advanced Usage

Custom Prompts

prompt:
  template: |
    You are a senior developer. Generate a commit message for:
    
    {{diff}}
    
    Requirements:
    - Use conventional commits
    - Be specific about business impact
    - Maximum {{max_chars}} characters

Multiple Models

# Fast and efficient
GROQ_MODEL=llama3-8b-8192

# More detailed
GROQ_MODEL=llama3-70b-8192

# Creative
GROQ_MODEL=mixtral-8x7b-32768

Debug Mode

DEBUG_ENABLED=true
tail -f .commitgen.log

๐Ÿšจ Troubleshooting

Issue Solution
"API key not found" Check .env file, ensure correct variable is set
"jq: command not found" Install jq: brew install jq or apt install jq
"Rate limit exceeded" Wait 1 minute or switch to different provider
"Hook not working" Reinstall: ./install_hook.sh

๐Ÿ“Š Provider Comparison

Provider Speed Cost Models Best For
Groq โšก Very Fast ๐Ÿ†“ Free Llama 3, Mixtral Teams, Daily Use
OpenRouter ๐ŸŒ Medium ๐Ÿ’ฐ Paid Claude, GPT-4 Premium Quality
Cohere โš–๏ธ Fast ๐Ÿ†“ Free Tier Command-R Enterprise

๐Ÿค Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'feat: add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open Pull Request

๐Ÿ“„ License

MIT License - see LICENSE file for details.


๐Ÿ™ Acknowledgments

๐ŸŽ‰ Success Stories

"We migrated our entire React team (12 developers) to Smart Commits AI in one day. Now our commit history is consistent and descriptive!" โ€” Frontend Team Lead

"Works perfectly with our Flutter CI/CD pipeline. No Python knowledge required for the mobile team." โ€” Mobile Developer

"The Docker approach was perfect for our polyglot microservices architecture." โ€” DevOps Engineer

๐Ÿ“Š Why Teams Choose Smart Commits AI

Team Type Traditional Approach With Smart Commits AI
React/Next.js Inconsistent messages Professional conventional commits
Flutter/Mobile "fix", "update" messages Descriptive widget/feature commits
Backend APIs Generic descriptions Specific endpoint/middleware commits
Full-Stack Mixed commit styles Unified team standards

๐Ÿ”— Links


Transform ANY team's commit messages today! ๐Ÿš€

Works with React, Flutter, Go, Python, Java, C++, and every other language.

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

smart_commits_ai-1.0.5.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

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

smart_commits_ai-1.0.5-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file smart_commits_ai-1.0.5.tar.gz.

File metadata

  • Download URL: smart_commits_ai-1.0.5.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for smart_commits_ai-1.0.5.tar.gz
Algorithm Hash digest
SHA256 5121200c9bf84fcfd214e1caf6dcb0f3f9e3b1459ed700568addb120158a4288
MD5 cbb0a0465b093146971b53fdef9060b2
BLAKE2b-256 92e78308afa22235fcbe3828f745f7a4fc6556227efe995cf7547291769e8940

See more details on using hashes here.

File details

Details for the file smart_commits_ai-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for smart_commits_ai-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 65ea5cc4fb1bf7e5f2f1f9053dfd5677c74dfe13d26590dca88fbd570bcac82e
MD5 f8f0c6c493fbc02d735b1fdaf3e06cc6
BLAKE2b-256 8ea298a6903da3a7c0854ccc83742faee9f666c1e4bce0db16d8bacc50b56e85

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