Metadata-Version: 2.4
Name: yggtools
Version: 1.1.2
Summary: uv overlay for opinionated Python package scaffolding.
Project-URL: Homepage, https://github.com/antoinebarre/yggtools
Project-URL: Repository, https://github.com/antoinebarre/yggtools
Author: Antoine Barré
License-Expression: MIT
Keywords: automation,ci,packaging,quality,scaffold,uv
Requires-Python: >=3.12
Requires-Dist: jinja2>=3.1
Requires-Dist: rich>=13
Requires-Dist: typer>=0.12
Description-Content-Type: text/markdown

# yggtools

`yggtools` is a CLI dev tool that scaffolds opinionated Python packages on
top of [uv](https://docs.astral.sh/uv/). It sets up a complete project in
one command and provides a built-in quality pipeline you run with
`make check`.

## Install

```bash
uv tool install yggtools
```

## Quick start

```bash
# Scaffold a new library
yggtools init-repo my-lib

# Run the quality pipeline
cd my-lib
make check
```

## Commands

| Command | Description |
|---------|-------------|
| `yggtools init-repo NAME` | Scaffold a new Python package |
| `yggtools init` | Complete an existing uv project in place |
| `yggtools pipeline` | Run the full staged quality pipeline |
| `yggtools run [CHECK]` | Run quality checks on the current project |
| `yggtools version` | List versions found in package artifacts |
| `yggtools increase-version LEVEL` | Bump patch/minor/major versions |

## Quality checks

| Check | Tool |
|-------|------|
| Format | `ruff format --check` |
| Lint (ruff) | `ruff check` |
| Lint (flake8) | `flake8` |
| Version consistency | `pyproject.toml`, `__init__.py`, `uv.lock` |
| Type check | `mypy --strict` |
| Metrics | built-in CC + line-count |
| Security (code) | `bandit` |
| Security (deps) | `pip-audit` |
| Tests | `pytest --cov-fail-under=100` |

## Documentation

- [User guide](doc/user_guide.md)
- [Architecture Decision Record — rebaseline](doc/ADR-001-rebaseline.md)
- [Software Requirements Specification](doc/SRS.md)
- [Software Design Document](doc/SDD.md)

## License

MIT
