Skip to main content

A safe Git commit, versioning, and push helper with AI-assisted messages

Project description

gup Release 0.1.0

gup (Git Update & Push) is a command-line tool that helps you commit, version, and push Git changes safely, with a clear review step and optional AI-assisted commit messages.

If you often forget to write good commit messages, tag releases consistently, or want a single, predictable command to finalize your work, gup is designed for you.


What problem does gup solve?

Many Git workflows break down at the same points:

  • changes pile up without commits
  • commit messages are rushed or inconsistent
  • version tags are forgotten or misnumbered
  • pushes happen without a final review

gup turns these scattered steps into a single, guided release flow.


What gup does

When run inside a Git repository, gup:

  • stages current changes
  • proposes a clear commit message (optionally AI-assisted)
  • enforces a clean, ≤72-character summary line
  • determines the next version tag automatically
  • shows a full review screen before committing
  • creates the commit and annotated tag
  • pushes both to the configured remote

Every step is visible. Nothing happens without confirmation.


Why gup is different

gup is intentionally conservative.

  • No history rewriting
  • No hidden automation
  • No background hooks
  • No silent commits

It favors clarity over cleverness and review over speed.


Requirements

  • Python 3.9 or newer
  • Git
  • The llm CLI installed and configured (for AI commit messages)
  • A non-bare Git repository

Installation

Using pip (recommended)

Install gup as a standard CLI tool:

git clone git@github.com:appfeat/gup.git
cd gup 
pip install .

After installation, the gup command will be available on your PATH.


Usage

From inside a Git repository:

gup

That’s the entire interface.

gup will guide you through:

  • identity confirmation (if needed)
  • model selection (first run only)
  • commit message review
  • release confirmation

Configuration

gup stores its settings in Git config:

  • gup.model – selected LLM model
  • gup.timeout – AI request timeout (seconds)

These settings are repository-local and do not affect other projects.


Typical use cases

  • finishing a feature and creating a clean release commit
  • maintaining consistent version tags
  • solo development with better commit hygiene
  • small teams that want predictable Git history

Philosophy

gup is designed around a simple idea:

Finishing work should feel deliberate, not rushed.

It aims to make the last step of development calm, reviewable, and reliable.


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

gitgo-1.0.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

gitgo-1.0.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for gitgo-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9e6a29abcd09b03619094e5bfd32fb222086528a2164f4e5f9ff463811a083c6
MD5 829415d35181c3b8101d51165e31be01
BLAKE2b-256 a77d538df43b7b80f06383c5fdba85d5b832e39615e72397e959112667420d5b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for gitgo-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 081500c024ccbf7b8bb7c76180fdf5ea3601218baffda5533bb6bba6583ac4b6
MD5 d4a8ce5754c651fdafa4ddc390db8ac3
BLAKE2b-256 a108598090fde6689a74e23aaa175e404c0da55188a63e16a15c0922372725a1

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