Skip to main content

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

PyPI Python License LangChain Typer

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gipt-0.1.1.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

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

gipt-0.1.1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file gipt-0.1.1.tar.gz.

File metadata

  • Download URL: gipt-0.1.1.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

Hashes for gipt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 675560941dcd4d1d8d9585b2e3bd244b8ebb05dc8637b5337635d9660b0a8af3
MD5 788e87513e488eece1e169b83c57a1d7
BLAKE2b-256 73f61ddf38546de5cf3e3ce852bcb29c6bd3de88f7e86aa1fa0b8d58c40e611a

See more details on using hashes here.

File details

Details for the file gipt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gipt-0.1.1-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

Hashes for gipt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e1f3d0df25525e9cf0073034e4fefd06d5cbb46dcfd3856be267ce329a439fbe
MD5 0b4a7a4a8a5d340cf32da04e05516172
BLAKE2b-256 45668103ecff80e24b2150aaa4034b237a38fded24f264127193b5ed9af9f854

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