Metadata-Version: 2.4
Name: gitdevflow
Version: 1.0.0
Summary: A CLI tool for streamlining Git-based development workflows
License: MIT
License-File: LICENSE
Keywords: git,cli,developer-tools,pull-request,changelog
Author: Your Name
Author-email: your.email@example.com
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Dist: httpx[http2] (>=0.27,<0.28)
Requires-Dist: pydantic (>=2.7,<3.0)
Requires-Dist: pydantic-settings (>=2.3,<3.0)
Requires-Dist: python-dotenv (>=1.0,<2.0)
Requires-Dist: pyyaml (>=6.0,<7.0)
Requires-Dist: rich (>=13.7,<14.0)
Requires-Dist: tenacity (>=9.0,<10.0)
Requires-Dist: typer[all] (>=0.15.0,<0.16.0)
Project-URL: Documentation, https://BlockForge-Dev.github.io/gitdevflow/
Project-URL: Homepage, https://github.com/BlockForge-Dev/gitdevflow
Project-URL: Repository, https://github.com/BlockForge-Dev/gitdevflow
Description-Content-Type: text/markdown

# gitdevflow

[![CI](https://github.com/BlockForge-Dev/gitdevflow/actions/workflows/ci.yml/badge.svg)](https://github.com/BlockForge-Dev/gitdevflow/actions/workflows/ci.yml)
[![Docs](https://github.com/BlockForge-Dev/gitdevflow/actions/workflows/docs.yml/badge.svg)](https://BlockForge-Dev.github.io/gitdevflow/)
[![PyPI](https://img.shields.io/pypi/v/gitdevflow)](https://pypi.org/project/gitdevflow/)
[![Python](https://img.shields.io/pypi/pyversions/gitdevflow)](https://pypi.org/project/gitdevflow/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**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](https://github.com/Textualize/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
```bash
pip install gitdevflow
```
[![PyPI](https://img.shields.io/pypi/v/gitdevflow)](https://pypi.org/project/gitdevflow/) Direct PyPI package link: [https://pypi.org/project/gitdevflow/](https://pypi.org/project/gitdevflow/)

### Using pipx (Recommended for CLI tools)
```bash
pipx install gitdevflow
```

### From Source
```bash
git clone https://github.com/BlockForge-Dev/gitdevflow.git
cd gitdevflow
poetry install
```

---

## Quick Start

### 1. Initialize Configuration
```bash
export GITHUB_TOKEN="ghp_your_github_personal_access_token"
gitdevflow config init
```

### 2. PR Management
```bash
# 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
```bash
# 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/](https://BlockForge-Dev.github.io/gitdevflow/).

---

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on setting up your environment and submitting pull requests.

---

## License

Licensed under the [MIT License](LICENSE).

