Intelligent Git commit message and changelog generator powered by AI
Project description
giv - AI-Powered Git History Assistant
giv (pronounced "give") is a powerful CLI tool that transforms raw Git history into polished commit messages, summaries, changelogs, release notes, and announcements. This Python implementation provides cross-platform binary distribution with zero dependencies.
✨ Key Features
- 🚀 Self-contained binaries - No Python installation required
- 🤖 Multiple AI backends - OpenAI, Anthropic, Ollama, and custom endpoints
- 📝 Rich command suite - Generate messages, summaries, changelogs, and release notes
- 🎯 Smart Git integration - Support for revision ranges, pathspecs, and staged changes
- ⚙️ Flexible configuration - Project and user-level settings with inheritance
- 🔧 Template system - Customizable prompts for all output types
🚀 Quick Install
Direct Download (Recommended)
# Linux x86_64
curl -L -o giv https://github.com/fwdslsh/giv/releases/latest/download/giv-linux-x86_64
chmod +x giv && sudo mv giv /usr/local/bin/
# macOS Apple Silicon
curl -L -o giv https://github.com/fwdslsh/giv/releases/latest/download/giv-macos-arm64
chmod +x giv && sudo mv giv /usr/local/bin/
# Windows x86_64
curl -L -o giv.exe https://github.com/fwdslsh/giv/releases/latest/download/giv-windows-x86_64.exe
# Move to a directory in your PATH
Other Installation Methods: Package managers, PyPI, and more →
🏁 Getting Started
# Initialize giv in your project
giv init
# Generate commit message for current changes
giv message
# Create changelog entry
giv changelog v1.0.0..HEAD
# Generate release notes
giv release-notes v1.2.0..HEAD
Detailed Usage Guide: Command examples and advanced usage →
⚙️ Basic Configuration
Set up your AI provider:
# Quick setup with environment variables (recommended)
export OPENAI_API_KEY="your-api-key"
export GIV_API_MODEL="gpt-4"
# Or configure via giv
giv config set api.url "https://api.openai.com/v1/chat/completions"
giv config set api.model "gpt-4"
Complete Configuration Guide: All settings and providers →
🎨 Customization
# Initialize project templates
giv init
# Edit templates
nano .giv/templates/commit_message_prompt.md
nano .giv/templates/changelog_prompt.md
# Use custom template
giv message --prompt-file custom-prompt.md
Template System: Customization and variables →
📖 Documentation
- Installation Guide - All installation methods and troubleshooting
- Configuration - Complete configuration reference
- App Specification - Commands, usage, and template system
- Build System - Technical architecture
- Publishing Guide - Release process for contributors
🤖 Supported AI Providers
- OpenAI - GPT-4, GPT-3.5-turbo
- Anthropic - Claude 3.5 Sonnet, Claude 3 Opus
- Local (Ollama) - Llama 3.2, Code Llama, and more
- Custom endpoints - Any OpenAI-compatible API
Provider Setup Examples: Configuration guide →
🔧 Development
git clone https://github.com/fwdslsh/giv.git
cd giv-py
poetry install
poetry run pytest
Development Details: Build system and contributing →
📄 License
MIT License - see LICENSE file for details.
🔗 Quick Links
- 📥 Releases - Download binaries
- 🐛 Issues - Report bugs
- 💬 Discussions - Community support
- 🗺️ Roadmap - Planned features
Transform your Git history into professional documentation with the power of AI.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file giv-0.5.1.tar.gz.
File metadata
- Download URL: giv-0.5.1.tar.gz
- Upload date:
- Size: 70.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.11.0rc1 Linux/6.8.0-65-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
622000d22682b1ddc1500c99fbf6ff577bcc5178ad5ec77bd947857074f0ab76
|
|
| MD5 |
3f8e936ad1b25f35bd4ce4e1cc17accc
|
|
| BLAKE2b-256 |
c7e4cea843f75180c306106fe722078f876cd5ed495a9d8bf0c94c182624c040
|
File details
Details for the file giv-0.5.1-py3-none-any.whl.
File metadata
- Download URL: giv-0.5.1-py3-none-any.whl
- Upload date:
- Size: 90.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.11.0rc1 Linux/6.8.0-65-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c0b36f62ecfbf0a1b4afb1f317b476917be848eac388ff219a702d01c89aa3e
|
|
| MD5 |
8e540c15c16fd869cc41903f3c73a65f
|
|
| BLAKE2b-256 |
42980b78f7f167b3763557112601aa206e06da3ff543b4d65bd844889da97311
|