gitdevflow
gitdevflow is a modern, developer-friendly CLI tool for automating Git-based development workflows, Conventional Commit validation, PR management, and automated changelog generation.
Key Features
- 🐙 Pull Request Management — Create, list, check Conventional Commits, auto-label, and merge pull requests directly from your terminal.
- 📜 Changelog Generation — Automatically generate structured release notes in Markdown or JSON from git tag/commit comparisons and merged PRs.
- 🎨 Rich Terminal UX — Beautiful, colored terminal output, interactive setup wizards, progress bars, and Markdown previews using Rich.
- ⚙️ Flexible Configuration — Layered 12-factor configuration via YAML (
~/.gitdevflow.yaml) and environment variable overrides (GITHUB_TOKEN). - 🤖 Commit Compliance — Enforce Conventional Commit title and branch naming conventions for CI pipelines.
Installation
Using pip
pip install gitdevflow
Direct PyPI package link: https://pypi.org/project/gitdevflow/
Using pipx (Recommended for CLI tools)
pipx install gitdevflow
From Source
git clone https://github.com/BlockForge-Dev/gitdevflow.git
cd gitdevflow
poetry install
Quick Start
1. Initialize Configuration
export GITHUB_TOKEN="ghp_your_github_personal_access_token"
gitdevflow config init
2. PR Management
# List open PRs as a styled Rich table
gitdevflow pr list --repo owner/repository
# Check PR title compliance against Conventional Commits
gitdevflow pr check --repo owner/repository
# Automatically auto-label PRs based on branch/title prefix rules
gitdevflow pr label --repo owner/repository
# Create a new PR interactively
gitdevflow pr create --repo owner/repository --base main
3. Changelog Generation
# Generate Markdown changelog between tags
gitdevflow changelog generate --from-ref v0.1.0 --to-ref HEAD --output CHANGELOG.md
# Export changelog as structured JSON
gitdevflow changelog generate --from-ref v0.1.0 --output - --format json
Documentation
Full documentation is available at https://BlockForge-Dev.github.io/gitdevflow/.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details on setting up your environment and submitting pull requests.
License
Licensed under the MIT License.
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 gitdevflow-1.0.0.tar.gz.
File metadata
- Download URL: gitdevflow-1.0.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8a0398711331436e33eda128ad07cb30eec3ba627fd5c5f5b8d871531f09146
|
|
| MD5 |
e89df8f2ca5e8401abc4e0546cd990af
|
|
| BLAKE2b-256 |
dc5d0fe56bb378a1f5b8849858d4e38f251dd2070eeb683d348416d234d90503
|
Provenance
The following attestation bundles were made for gitdevflow-1.0.0.tar.gz:
Publisher:
release.yml on BlockForge-Dev/gitdevflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gitdevflow-1.0.0.tar.gz -
Subject digest:
e8a0398711331436e33eda128ad07cb30eec3ba627fd5c5f5b8d871531f09146 - Sigstore transparency entry: 2359666405
- Sigstore integration time:
-
Permalink:
BlockForge-Dev/gitdevflow@27c9a8e3812e63cd65c057dc434c093bbf21d962 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/BlockForge-Dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@27c9a8e3812e63cd65c057dc434c093bbf21d962 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gitdevflow-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gitdevflow-1.0.0-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8f9c11c0add7c6d09cd8743a181311d948698d5bda0f34a3e753ddda3590c34
|
|
| MD5 |
a418391af4b063dcdf7b987a3d413a99
|
|
| BLAKE2b-256 |
f25e304bef7fef48f597e3c0f1298466b750b832ffee6117acf19cc17aacb337
|
Provenance
The following attestation bundles were made for gitdevflow-1.0.0-py3-none-any.whl:
Publisher:
release.yml on BlockForge-Dev/gitdevflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gitdevflow-1.0.0-py3-none-any.whl -
Subject digest:
e8f9c11c0add7c6d09cd8743a181311d948698d5bda0f34a3e753ddda3590c34 - Sigstore transparency entry: 2359667208
- Sigstore integration time:
-
Permalink:
BlockForge-Dev/gitdevflow@27c9a8e3812e63cd65c057dc434c093bbf21d962 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/BlockForge-Dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@27c9a8e3812e63cd65c057dc434c093bbf21d962 -
Trigger Event:
push
-
Statement type: