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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d587e24509e36fde2e2e418fabd3fd96e4280766708e0fca577e81bc61ede65
|
|
| MD5 |
b3213117cb43608220047fb9c2401bab
|
|
| BLAKE2b-256 |
fb05a43ecd42fc11a02599da80fc92a978277457ed852856c6dd6bdf6e86b315
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a350805d58755a9ca6d28d28945a066fe62e93116d1f280f63036a28699b93c3
|
|
| MD5 |
070d5cb6604fb13d3a14738055e8bf69
|
|
| BLAKE2b-256 |
cfef18dfdb2632f492a91cd046e2877269f999153fbc0d045264f67d2c3155d5
|