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.
- π€ 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
curl -sSL https://raw.githubusercontent.com/san0808/commitcraft/main/install.sh | bashcargo install commitcraftDownload the latest binary from GitHub Releases
git clone https://github.com/san0808/commitcraft
cd commitcraft
cargo build --release
sudo cp target/release/commitcraft /usr/local/bin/commitcraft# Run interactive setup
commitcraft setup
# Check your configuration
commitcraft config
# List available providers and models
commitcraft list# 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# 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# 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 --yesConfiguration 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"This tool generates commit messages following the Conventional Commits specification:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: New featuresfix: Bug fixesdocs: Documentation changesstyle: Code formattingrefactor: Code restructuringtest: Adding testschore: Maintenance tasksperf: Performance improvementsci: CI/CD changesbuild: Build system changes
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.
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
Experience CommitCraft's power through our professional demo videos:
Perfect for social media and quick showcases:
./demo/quick-demo.shComplete feature walkthrough for presentations:
./demo/cinematic-demo.shAutomatic 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.
cargo build --releasecargo test-
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
"Not inside a git repository"
- Make sure you're in a git repository
- Run
git initif needed
"No staged files to commit"
- Stage your changes with
git add .orgit add <file>
"API key not found"
- Run
commitcraft setupto configure API keys - Check your configuration with
commitcraft config
Build errors
- Ensure you have Rust 1.70+ installed
- Run
rustup updateto update your toolchain
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE file for details.
- Conventional Commits specification
- Rust community for excellent crates
- AI providers (OpenAI, Google, Anthropic) for powerful models