Readme
๐จ CommitCraft
A fast, intelligent CLI tool that generates conventional commit messages using AI. Built in Rust for performance and reliability.
๐ What's New in v1.1.0 : Updated to the latest AI models for 75% faster responses and 75% cost savings ! Now featuring GPT-4.1 Nano and Claude 3.5 Haiku as defaults.
โจ Features
๐ค Multi-AI Provider Support : Works with OpenAI, Google Gemini, and Anthropic Claude
๐ Conventional Commits : Follows Conventional Commits v1.0.0 specification
โ๏ธ Smart Configuration : Interactive setup with TOML configuration file
๐ฏ Context-Aware : Analyzes staged files and repository context
๐ง Developer-Friendly : Built for fast iteration with dry-run, review, and verbose modes
๐ฑ Model Aliases : Quick switching between models with custom aliases
๐ Quick Start
Installation
Option 1: Quick Install (Linux/macOS)
curl - sSL https://raw.githubusercontent.com/san0808/commitcraft/main/install.sh | bash
Option 2: Install via Cargo
cargo install commitcraft
Option 3: Download Binary
Download the latest binary from GitHub Releases
Option 4: Build from Source
git clone https://github.com/san0808/commitcraft
cd commitcraft
cargo build -- release
sudo cp target/release/commitcraft /usr/local/bin/commitcraft
Setup
# Run interactive setup
commitcraft setup
# Check your configuration
commitcraft config
# List available providers and models
commitcraft list
๐ Usage
โจ New Interactive Mode (Default)
# Stage your changes
git add .
# Generate and edit commit command interactively
commitcraft
โ Message generated successfully!
๐ Generated commit message:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
feat(auth): add OAuth2 login support
Implement OAuth2 authentication flow with Google and GitHub providers.
Includes token refresh logic and secure storage.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Edit the command below (or press Enter to execute):
$ git commit -m "feat(auth): add OAuth2 login support"โ
# โ You can edit this command or just press Enter to execute
๐ Quick Modes
# Skip interactive editing, commit immediately
commitcraft -y
# Just show the git command (no execution)
commitcraft --show-command
# Dry run (generate message without committing)
commitcraft --dry-run
# Use legacy confirmation flow
commitcraft --legacy
๐ง Advanced Usage
# Use specific provider and model
commitcraft --provider openai --model gpt-4o
# Use model alias
commitcraft --model smart
# Include verbose output and file context
commitcraft --verbose --include-files
# Review in editor before committing
commitcraft --review
# Combine options
commitcraft --provider anthropic --model fast --verbose --yes
๐ ๏ธ Configuration
Configuration is stored at ~/.config/commitcraft/config.toml :
default_provider = "gemini"
[ api_keys ]
openai = " sk-..."
gemini = " your-api-key"
anthropic = " your-api-key"
[ models ]
openai = " gpt-4.1-nano" # Latest: 75% faster & cheaper
gemini = " gemini-1.5-flash-latest" # Unchanged: Already optimal
anthropic = " claude-3-5-haiku-20241022" # Latest: Superior performance
[ aliases ]
fast = " gemini-1.5-flash-latest"
smart = " gpt-4o"
๐ฏ Conventional Commits
This tool generates commit messages following the Conventional Commits specification:
< type > [ optional scope] : < description>
[ optional body]
[ optional footer ( s) ]
Supported Types
feat : New features
fix : Bug fixes
docs : Documentation changes
style : Code formatting
refactor : Code restructuring
test : Adding tests
chore : Maintenance tasks
perf : Performance improvements
ci : CI/CD changes
build : Build system changes
Examples
feat ( auth) : add OAuth2 login support
Implement OAuth2 authentication flow with Google and GitHub providers.
Includes token refresh logic and secure storage.
feat! : remove deprecated API endpoints
BREAKING CHANGE : The v1 API endpoints have been removed. Use v2 instead.
๐๏ธ Project Structure
src/
โโโ main. rs # Main application entry point
โโโ cli. rs # Command- line interface definitions
โโโ config. rs # Configuration management
โโโ git. rs # Git operations ( diff, commit, repo info)
โโโ providers/ # AI provider implementations
โโโ mod . rs # Common traits and structures
โโโ openai. rs # OpenAI GPT integration
โโโ gemini. rs # Google Gemini integration
โโโ anthropic. rs # Anthropic Claude integration
๐ฌ Demos & Recordings
Watch CommitCraft in Action
Experience CommitCraft's power through our professional demo videos:
๐ฏ Quick Demo (3 minutes)
Perfect for social media and quick showcases:
./demo/quick-demo.sh
๐จ Full Cinematic Demo (8-10 minutes)
Complete feature walkthrough for presentations:
./demo/cinematic-demo.sh
Automatic Features:
โ
Generates MP4, GIF, WebM formats for any platform
โ
Professional quality with realistic typing effects
โ
Upload guides for YouTube, Twitter, LinkedIn, GitHub
See demo/README.md for complete documentation.
๐งช Development
Building
cargo build -- release
Testing
cargo test
Manual Testing Checklist
Setup Flow
cargo run -- setup
Basic Generation
git add some-file.rs
cargo run -- --dry-run
Provider Testing
cargo run -- --provider openai --dry-run
cargo run -- --provider gemini --dry-run
cargo run -- --provider anthropic --dry-run
Advanced Features
cargo run -- --verbose --include-files --dry-run
cargo run -- config
cargo run -- list
๐ง Troubleshooting
Common Issues
"Not inside a git repository"
Make sure you're in a git repository
Run git init if needed
"No staged files to commit"
Stage your changes with git add . or git add < file>
"API key not found"
Run commitcraft setup to configure API keys
Check your configuration with commitcraft config
Build errors
Ensure you have Rust 1.70+ installed
Run rustup update to update your toolchain
๐ค Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests
Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Acknowledgments
Conventional Commits specification
Rust community for excellent crates
AI providers (OpenAI, Google, Anthropic) for powerful models