2 releases
Uses new Rust 2024
| 0.1.1 | Oct 12, 2025 |
|---|---|
| 0.1.0 | Oct 10, 2025 |
#855 in Machine learning
515KB
11K
SLoC
Git With AI
AI-powered Git toolkit that enhances workflow with intelligent commit messages, pull request generation, code reviews, changelogs, and more. It integrates with various LLM providers to automate and improve your development process.
Features
- Smart Commit Messages: Generate meaningful commit messages based on your code changes
- Pull Request Generation: Automatically create detailed PR descriptions with context
- Code Reviews: Get AI-assisted code reviews with suggestions
- Changelogs: Generate release notes and changelogs from commit history
- Multiple LLM Support: Works with OpenAI, Anthropic, Google, and other providers
- Git Config Integration: Store configurations in Git config for project-specific settings
- Wire Protocol Support: Efficient caching and synchronization for remote repositories
Installation
From Source
git clone https://github.com/ab22593k/gitai.git
cd gitai
cargo build --release
Configuration
gitai uses Git config to store settings. Configure your LLM provider:
To configure your default LLM provider globally, use the following commands.
Replace 'google' with your chosen provider and provide the necessary credentials and model.
git config --global gitai.defaultprovider google
git config --global gitai.google-apikey "your-api-key"
git config --global gitai.google-model "gemini-1.5-pro"
# For project-specific settings, omit the --global flag to apply configurations locally.
# Example: git config gitai.defaultprovider openai
Supported providers: openai, anthropic, google, cohere, groq, ollama, etc.
You can also use the config command:
How to Use
Generating Commit Messages
# Stage your changes
git add .
# Generate a commit message
git message
# Or specify a custom instruction
git message --instructions "Focus on the API changes"
Generating Changelogs
# Generate changelog from commits
git changelog
# Specify version and detail level
git changelog --version 1.2.0 --detail-level standard
# Generate release notes
git release-notes --version 1.2.0
Other Commands
Wire operations (syncing)
git wire
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
Licensed under the MIT License. See LICENSE.md for details.
Dependencies
~48–73MB
~1M SLoC