Skip to main content

A practical Git workflow automation tool for branches, snapshots, releases, and repository hygiene.

Project description

GitForge

Practical Git workflow automation for branches, snapshots, releases, and repository hygiene.

PyPI Python License Stars


GitForge is a terminal-first Git workflow assistant for developers who want repeatable branch naming, safer commits, fast repository health checks, release tags, changelogs, branch cleanup, and ref comparisons without memorizing a pile of shell snippets. It uses the real Git executable, prints clean Rich tables, and keeps every operation explicit so it fits normal local and CI workflows.

  • Repository health checks - inspect branch, upstream, dirty state, remotes, conflicts, and local Git identity.
  • Branch automation - turn ticket titles into consistent branch names and optionally switch to them.
  • Snapshot commits - stage tracked or all files, commit with guardrails, and optionally push.
  • Release tagging - create annotated semantic-version tags with dirty-tree protection.
  • Changelog generation - group commit history into Markdown or JSON output.
  • Cleanup and compare tools - remove merged branches safely and summarize ref differences.

Installation

pip install gitforge-cli

The installed console command is:

gitforge --help

Usage

Inspect a repository:

gitforge status --repo .
gitforge doctor --repo .

Create a workflow branch:

gitforge branch "Add OAuth callback validation" --ticket AUTH-42 --prefix feature

Commit a snapshot:

gitforge snapshot -m "Implement OAuth callback validation"

Generate a changelog:

gitforge changelog --since v0.1.0 --output CHANGELOG.md

Create a release tag:

gitforge release 1.2.0 --push

Commands

Command Description Example
gitforge status Show branch, upstream, dirty state, remote, and last tag. gitforge status --json
gitforge doctor Check Git availability, repo state, identity, remote, upstream, and conflicts. gitforge doctor
gitforge branch <title> Create a normalized branch name from a ticket/title. gitforge branch "Fix login" --ticket WEB-7
gitforge snapshot Stage changes and commit with safety checks. gitforge snapshot -m "Fix login"
gitforge sync Fetch, pull with rebase or merge, and optionally push. gitforge sync --autostash
gitforge release <version> Create an annotated release tag. gitforge release 1.0.0
gitforge changelog Render commit history as grouped Markdown or JSON. gitforge changelog --max-count 25
gitforge compare <base> [head] Compare two refs by unique commits and changed files. gitforge compare main HEAD
gitforge cleanup List or delete merged local branches. gitforge cleanup --apply
gitforge ignore Append built-in .gitignore templates. gitforge ignore python macos

Configuration

GitForge intentionally uses standard Git configuration instead of its own config file.

git config user.name "Your Name"
git config user.email "you@example.com"
git remote add origin git@github.com:you/project.git
git branch --set-upstream-to origin/main main

Most commands accept --repo so they can operate on another checkout without changing directories.

License

MIT License. See LICENSE.

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

gitforge_cli-0.1.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

gitforge_cli-0.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitforge_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for gitforge_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6d587e24509e36fde2e2e418fabd3fd96e4280766708e0fca577e81bc61ede65
MD5 b3213117cb43608220047fb9c2401bab
BLAKE2b-256 fb05a43ecd42fc11a02599da80fc92a978277457ed852856c6dd6bdf6e86b315

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitforge_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for gitforge_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a350805d58755a9ca6d28d28945a066fe62e93116d1f280f63036a28699b93c3
MD5 070d5cb6604fb13d3a14738055e8bf69
BLAKE2b-256 cfef18dfdb2632f492a91cd046e2877269f999153fbc0d045264f67d2c3155d5

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