Skip to main content

LLM-assisted conventional commits generator for git repositories. Automatically generates git add and commit lines based on git diff and status.

Project description

gitmeup

gitmeup is a lightweight command-line tool that automates Conventional Commit generation using an LLM. It analyses your working tree using git diff --stat, git status, and a filtered git diff, then produces atomically grouped git add and git commit commands with strict path-quoting rules.

This improves commit hygiene in large or fast-moving repositories while reducing cognitive overhead.

Features

  • Extracts:
    • git diff --stat
    • git status --short
    • git diff excluding image and binary noise
  • Sends structured context to an LLM
  • Produces:
    • Precise Conventional Commits
    • Batched git add / git commit sequences
    • Proper double-quote path escaping
  • Dry-run or apply mode
  • Minimal overhead, only Python and git required

Installation

Local development (editable)

git clone https://github.com/ikramagix/gitmeup
cd gitmeup

python3 -m venv .venv
source .venv/bin/activate

pip install --upgrade pip
pip install -e .

System-wide (user environment)

pip install git+https://github.com/ikramagix/gitmeup

Ensure GEMINI_API_KEY is configured:

export GEMINI_API_KEY="your-key"

You also need a model with:

export GITMEUP_MODEL="a gemini model"

Usage

From any git repository with uncommitted changes:

gitmeup

Dry-run prints proposed commands. To apply staged operations:

gitmeup --apply

Specify a model:

gitmeup --model gpt-4.1

Specify an API key manually:

gitmeup --api-key sk-....

Example

gitmeup

Sample output:

git add src/app/main.py
git add src/app/utils/helpers.py
git commit -m "refactor(core): clean helper logic"

License

MIT License. See LICENSE for details.

Maintainer

Created and maintained by @ikramagix.

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

gitmeup-1.0.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

gitmeup-1.0.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file gitmeup-1.0.0.tar.gz.

File metadata

  • Download URL: gitmeup-1.0.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for gitmeup-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ebb082a3b851fc2bb63e3a73f0d832e184b8f5f78714342608fe44f52562a592
MD5 3b1d19a9816305727d492bbb36facf09
BLAKE2b-256 400f0b6c0e7d81de183fca3ea4fc18e108fdc5e93a07e53558e66a3b1b339103

See more details on using hashes here.

File details

Details for the file gitmeup-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gitmeup-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for gitmeup-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 156789af7e226910f847ec57c47986350b87aa91c0b4a468ce363ffaa53fd0b8
MD5 14875f4cdd44da80e168f910dad59711
BLAKE2b-256 26d8b136c33e5997c654360b43aa094b48133cf70e5ce547f282f61a026158ce

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