Skip to main content

Git actions simplified

Project description

Generate git actions without interrupting your coding flow.

git add . && git commit -am "ugh... I vide all the way, what did I do? what do I even say here?" && git push -u origin dev

⬇️

gitme -u <your-remote-branch>

gitme-cli-generate

gitme show

gitme-cli-show

Prerequisites

  • Python 3.8+
  • At least one AI provider API key:
    • Anthropic API key for Claude models, default is claude-sonnet-4-5
    • OpenAI API key for GPT models, openai Python package for OpenAI support, default is gpt-4o-mini
  • Git, all gitme commands must be run from within a git repository directory. If you're not in a git repository, you'll see an error message prompting you to initialize a git repository with git init.

Features

  • Analyzes git diffs to generate contextually relevant commit messages
  • Detects untracked files and prompts to add them
  • Supports staged changes only or all modified files
  • Streamline your git workflow: add files, commit and push to upstream branch with user confirmation on every step, extremely lightweight and fast.
  • User input: Option to edit and then confirm the messages before committing
  • Multiple AI Providers: Choose between Anthropic or OpenAI, default is Anthropic
  • Model options for both providers
  • File changes and commit message history for logging, search and review at local
  • Repository-specific message storage

Installation

Install from PyPI:

pip install gitme-cli --upgrade

Or install directly from GitHub:

pip install git+https://github.com/wangjing0/gitme.git

Or develop locally:

git clone https://github.com/wangjing0/gitme.git
cd gitme
pip install -e .

AI Provider Setup

Choose one or both providers:

For Anthropic Claude (default):

export ANTHROPIC_API_KEY="your-anthropic-api-key-here"

For OpenAI GPT (Optional):

export OPENAI_API_KEY="your-openai-api-key-here"

Basic Usage

# Generate message for staged changes (default - uses Anthropic Claude)
gitme

# Generate message for all changes
gitme -a

# Generate message and commit
gitme -c

# Generate message and commit and push to remote branch
gitme -u <remote-branch>
# Use OpenAI instead of Anthropic (default)
gitme -p openai

# Use OpenAI with specific model
gitme -p openai -m gpt-4o

# Use Anthropic with specific model
gitme -m claude-3-5-haiku-latest

# Combine with other options
gitme -p openai -c  # Use OpenAI and commit

Message history and modified files

# Show previous messages (includes provider/model info)
gitme show

# Show last 5 messages
gitme show -n 5

# Show from all repositories
gitme show -r

# Clear history
gitme show --clear

Enhanced Message History Display:

[1] 2025-09-30 07:48:32
    💬 Message:
    Update default AI model to Claude Sonnet 4
    
    - Modified README.md
    🤖 AI Provider: Anthropic (claude-sonnet-4-5)
    📝 Files changed: 1

[2] 2025-09-30 07:45:54
    💬 Message:
    Update documentation images and references
    
    - Modified README.md
    - Added images/gitmecommit.png
    - Added images/gitmeshow.png
    - Cleaned up src/gitme/cli.py
    🤖 AI Provider: Anthropic (claude-sonnet-4-5)
    📝 Files changed: 4

Options

Generate Options

  • -s, --staged: Analyze only staged changes
  • -a, --all: Analyze all changes (staged and unstaged)
  • -p, --provider: Choose AI provider (anthropic or openai, default: anthropic)
  • -m, --model: Model to use (provider-specific)
  • -c, --commit: Create commit with generated message (uses git commit -a -m "auto-generated message")
  • -u, --upstream:Analyze all changes and create commit and push to upstream branch (specify branch name)

Show Options

  • -n, --limit: Number of messages to show
  • -r, --all-repos: Show messages from all repositories
  • --clear: Clear message history

Available Models

Anthropic Claude:

  • claude-sonnet-4-5 (default)
  • claude-3-5-haiku-latest
  • claude-3-sonnet-20240229

OpenAI GPT:

  • gpt-4o-mini (default when using OpenAI)
  • gpt-4o
  • gpt-4

Privacy & Security Notice

⚠️ Important: When using gitme or gitme generate, your code changes will be sent to the selected AI provider (Anthropic Claude or OpenAI GPT) for processing. The tool does NOT send your entire codebase - only the diff contents of changed files.

Please exercise caution when using this tool:

  • Avoid using it with repositories containing sensitive information, credentials, or proprietary code
  • Review your changes before running the command to ensure no sensitive data is included
  • Consider using .gitignore to exclude sensitive files from git tracking
  • Be aware that different providers have different data handling policies
  • Both Anthropic and OpenAI have their own privacy policies and data retention practices

Requirements

  • Python 3.8+
  • Git
  • At least one AI provider API key:
    • Anthropic API key for Claude models
    • OpenAI API key for GPT models, openai Python package for OpenAI support

New Release

chmod +x release.sh && ./release.sh <version>

then upload to PyPI

twine upload dist/*

Roadmap

  • User feedback on the generated message and modify accordingly
  • Add a way to add custom prompt to the AI provider
  • add features: search messages and return commit_id, rewind to a previous commit, redo the commit message, etc.
  • Local models with Ollama support

Contributing

Contributions are welcome! Please feel free to submit a pull request. ❤️ @wangjing0

License

MIT

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

gitme_cli-0.8.3.tar.gz (254.2 kB view details)

Uploaded Source

Built Distribution

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

gitme_cli-0.8.3-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file gitme_cli-0.8.3.tar.gz.

File metadata

  • Download URL: gitme_cli-0.8.3.tar.gz
  • Upload date:
  • Size: 254.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for gitme_cli-0.8.3.tar.gz
Algorithm Hash digest
SHA256 222acbe16c0dacc0137c937c89cb8e57c286ae3a92de6227dbdccf7c9cfaa532
MD5 1703b4a48233d707e0378aaa2d4ffe0c
BLAKE2b-256 842c47d5afe5ddf17e8d756f173de846c6945f0dce4129e45b7a7bec2b337e72

See more details on using hashes here.

File details

Details for the file gitme_cli-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: gitme_cli-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for gitme_cli-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3339d41d692973916ef288b0ab80a5f1d9bfd238757087f6e560a8058f98dc97
MD5 7c9c85f57b921409970da3c0750b161e
BLAKE2b-256 ba6da00e7c3200636ee9f30108c60f4644d4a1b3caf2877fc4dd2b28a0e2b6f1

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