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.0.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.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gipt-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 7e1cf8e9c9d852192d290e260b48bf1b7d12edb41a0d1f9831e600f2c592f0b1
MD5 b58af9d9cf518bcb0367dc339f3516ce
BLAKE2b-256 61b5efb6873d1b5b557d0769d44c33b8106ebdef73d0db7513f824c9f76cea39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gipt-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca2640bb8086d87eaed13dd47fc78d70e311aead07555a49ef55f043aea29ba1
MD5 09d43048f5dbff4a8a84d777a638ef13
BLAKE2b-256 8a54008d5d2cef51cbc4939630451540a08f13ad2988efa3d2228920b413f726

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