AI-native Git assistant integrating intelligent automation into your version control workflow
Project description
Gipt 🤖
AI-native Git assistant integrating intelligent automation into your version control workflow
Gipt brings artificial intelligence directly into your Git workflow, automating repetitive tasks and enhancing your development experience. Instead of treating AI as an external tool, Gipt integrates seamlessly into your version control lifecycle—from initialization to commits to configuration management.
✨ Features
- 🤖 Multi-Provider AI Support - Works with Ollama, OpenAI, Anthropic, and Groq
- 📝 Intelligent Commit Messages - Generate context-aware commits that follow best practices
- 🎨 Multiple Commit Styles - Conventional Commits, Gitmoji, or Simple formats
- 🔧 Smart Configuration - Global and repository-level settings with simple CLI management
- 🪝 Git Hook Integration - Automatic commit message generation via prepare-commit-msg hook
- 🌊 Streaming Output - Real-time message generation with live feedback
- ⚡ Zero-Configuration Start - Works out of the box with sensible defaults
- 🎯 Git-Style Commands - Familiar command patterns like
gipt commit -a,gipt config --list
Quick Start
Installation
pip install gipt
Or with uv:
uv pip install gipt
Initialize in Your Repository
cd your-git-repo
gipt init
This creates a local .gipt/config file with default settings and optionally installs a Git hook for automatic commit message generation.
Generate Your First Commit
# Make some changes
echo "new feature" > feature.txt
git add feature.txt
# Generate and commit with AI
gipt commit
That's it! Gipt analyzes your changes and creates an intelligent commit message.
Usage
Basic Commands
# Initialize in repository
gipt init
# Generate commit (preview only)
gipt commit --dry-run
# Stage all and commit
gipt commit --all
# Amend last commit
gipt commit --amend
# Use specific style
gipt commit --style gitmoji
Configuration
# List all settings
gipt config --list
# View specific setting
gipt config core.provider
# Update setting (local)
gipt config core.provider anthropic
# Update global setting
gipt config --global core.temperature 0.9
Quick Setup Examples
# Initialize with OpenAI
gipt init --provider openai --model gpt-4-turbo-preview
# Initialize with Anthropic and gitmoji style
gipt init --provider anthropic --style gitmoji
# Initialize with custom temperature
gipt init --temp 1.2
For detailed documentation, see docs/usage.md
Git Hook Integration
Gipt can automatically generate commit messages when you run git commit:
# Install hook during init
gipt init
# Or manually copy hook
cp ~/.gipt/hooks/prepare-commit-msg .git/hooks/
chmod +x .git/hooks/prepare-commit-msg
# Now git commit opens editor with AI-generated message
git add .
git commit # Message auto-generated!
# Override with manual message
git commit -m "manual message"
🧠 AI Providers
Gipt works with multiple AI providers out of the box:
| Provider | Setup | Example |
|---|---|---|
| Ollama (default) | No API key needed | gipt config provider.ollama.model gemma3:latest |
| OpenAI | export OPENAI_API_KEY="sk-..." |
gipt config core.provider openai |
| Anthropic | export ANTHROPIC_API_KEY="sk-ant-..." |
gipt config core.provider anthropic |
| Groq | export GROQ_API_KEY="gsk_..." |
gipt config core.provider groq |
Configure your preferred provider:
gipt config core.provider anthropic
gipt config provider.anthropic.model claude-sonnet-4-20250514
Commit Styles
Gipt supports three formats:
Conventional Commits (default) - Structured, semantic commits
feat(api): add user authentication endpoint
Implemented JWT-based authentication with refresh tokens.
Gitmoji - Visual commit messages with emojis
✨ Add user authentication endpoint
Simple - Clean, straightforward messages
Add user authentication endpoint
Change style: gipt config core.commit_style gitmoji
Configuration
Locations:
- Global:
~/.gipt/config- User-wide defaults - Local:
.gipt/config- Repository-specific settings
See docs/usage.md for all available settings.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
# Clone repository
git clone https://github.com/ahmad-alqaisi215/gipt.git
cd gipt
# Install in development mode with dev dependencies
pip install -e ".[dev]"
# Run gipt
gipt --version
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with LangChain for AI integration
- CLI powered by Typer
- Inspired by the Conventional Commits specification
Links
Why Gipt?
Let's be honest—most developers don't enjoy the administrative side of version control. We love writing code, but documenting changes, crafting meaningful commit messages, and maintaining repository hygiene? Not so much. It's common to work for hours on a feature, accumulate dozens of changes, and then face that familiar moment:
$ git add .
$ git commit -m "fix stuff"
Sound familiar?
Version control systems are filled with repetitive, tedious tasks that distract from actual development. Gipt was created with a simple question: What if an AI agent could work alongside Git?
Not just generating commit messages (though that's a great start), but truly understanding your changes, monitoring repository evolution, providing context-aware suggestions, and helping maintain a clean, organized codebase. Think of Gipt as your intelligent version control companion—automating the boring parts so you can focus on what matters: building great software.
Made with ❤️ by Ahmad Alqaisi
Project details
Release history Release notifications | RSS feed
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 gipt-0.1.2.tar.gz.
File metadata
- Download URL: gipt-0.1.2.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f122e5628ecd10ff69543eede4a1f92d22234ac368c43b17b65ded6911ccde9b
|
|
| MD5 |
11d8479feb87eb9c1c270c1ee4cfecf9
|
|
| BLAKE2b-256 |
8ecb66da808a4598f21b9d27c7522cbd3aa57c6ed000d8883166893a81cadf6f
|
File details
Details for the file gipt-0.1.2-py3-none-any.whl.
File metadata
- Download URL: gipt-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee782e949dbea11a120dfc885ff8e5b956dda11e6c486c222f99371ea14530b9
|
|
| MD5 |
26665978457f91653d66ffcb58187995
|
|
| BLAKE2b-256 |
acae81c8b6319b806dd4bdb6758ebac7d414604f26767a213f605b355b090ffe
|