Metadata-Version: 2.4
Name: pyblueforge
Version: 1.0.0
Summary: A professional Python project scaffolder with rich customization.
License: Proprietary
License-File: LICENSE
Keywords: cli,generator,python,scaffold,template
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.11
Requires-Dist: rich>=14.0.0
Requires-Dist: typer>=0.16.0
Provides-Extra: dev
Requires-Dist: build>=1.2.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Requires-Dist: twine>=6.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# PyBlueForge

PyBlueForge is a professional Python project scaffolder focused on fast project bootstrapping, consistent architecture, and polished terminal UX.

It provides a guided wizard (`pyblueforge new`) and non-interactive flags for automation. The generated projects are ready for package publication workflows and include modern defaults for testing and project layout.

## Highlights

- Interactive wizard by default: run only `pyblueforge new`
- Structured templates: `package`, `cli`, and `api`
- Runtime and development dependencies at generation time
- Modern Python packaging with `pyproject.toml` + `src/` layout
- Rich terminal interface using `typer` and `rich`
- Proprietary license policy support by default

## Installation

```bash
pip install pyblueforge
```

For local development of PyBlueForge:

```bash
python -m pip install -e .[dev]
```

## Quick Start

### Interactive mode (default)

```bash
pyblueforge new
```

This opens an interactive wizard and asks for:

- project name
- template type
- destination folder
- Python requirement
- metadata (author/email/description)
- runtime dependencies
- dev dependencies
- git initialization

### Non-interactive mode

```bash
pyblueforge new my_service --template api --add sqlalchemy --add httpx --dev-add pytest-cov --git
```

## Command Reference

```bash
pyblueforge --help
pyblueforge --version
pyblueforge templates
pyblueforge new --help
```

## Template Overview

- `package`: reusable Python package skeleton
- `cli`: Typer-based command-line application skeleton
- `api`: FastAPI application skeleton with `/health` endpoint

## Generated Project Capabilities

Every generated project includes:

- `pyproject.toml` with Hatchling build backend
- `src/<package_name>/` package layout
- `tests/` starter tests
- `README.md`, `.gitignore`, and `LICENSE`

## Publishing a Generated Project to PyPI

Inside the generated project directory:

```bash
python -m pip install build twine
python -m build
twine check dist/*
```

## Documentation

- [Documentation Index](docs/index.md)
- [Getting Started](docs/getting-started.md)
- [CLI Reference](docs/cli-reference.md)
- [Template System](docs/template-system.md)
- [Architecture](docs/architecture.md)
- [PyPI Release Guide](docs/pypi-release.md)
- [Release Checklist](docs/release-checklist.md)
- [License Policy](docs/license-policy.md)
- [Contributing](CONTRIBUTING.md)
- [Changelog](CHANGELOG.md)

## License

PyBlueForge is distributed under a proprietary license. See [LICENSE](LICENSE) for terms.
