Skip to main content

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.

Build Status Python License

✨ 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

🤖 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


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

giv-0.5.1.tar.gz (70.3 kB view details)

Uploaded Source

Built Distribution

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

giv-0.5.1-py3-none-any.whl (90.0 kB view details)

Uploaded Python 3

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

Hashes for giv-0.5.1.tar.gz
Algorithm Hash digest
SHA256 622000d22682b1ddc1500c99fbf6ff577bcc5178ad5ec77bd947857074f0ab76
MD5 3f8e936ad1b25f35bd4ce4e1cc17accc
BLAKE2b-256 c7e4cea843f75180c306106fe722078f876cd5ed495a9d8bf0c94c182624c040

See more details on using hashes here.

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

Hashes for giv-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c0b36f62ecfbf0a1b4afb1f317b476917be848eac388ff219a702d01c89aa3e
MD5 8e540c15c16fd869cc41903f3c73a65f
BLAKE2b-256 42980b78f7f167b3763557112601aa206e06da3ff543b4d65bd844889da97311

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