# {{ cookiecutter.project_name }}

{{ cookiecutter.description }}

Built on [`mgf-common`]({{ cookiecutter.mgf_common_pin }}) — typed
exceptions, structured logging, OpenTelemetry tracing, and the
team's engineering-standards bar.

## Install

`mgf-*` dependencies (and third-party deps) resolve from the self-hosted
devpi index (`magogi/prod`), configured as the single default index in
`pyproject.toml`. devpi is anonymous-read — no token needed:

```bash
# With uv (recommended) — reads the index-url from pyproject.toml
uv sync

# Or with pip (single index; devpi serves mgf-* and mirrors public PyPI)
pip install \
  --index-url "https://195.15.203.250.sslip.io/magogi/prod/+simple/" \
  -e ".[dev]"
```

See `mgf-common`'s
[`PACKAGE_DISTRIBUTION.md`](https://codeberg.org/magogi-admin/mgf-common/src/branch/main/docs/standards/PACKAGE_DISTRIBUTION.md)
(rules PKG-01/PKG-06) for the registry, tokens, and dependency-confusion-safe pinning.

## Run

```bash
python -m {{ cookiecutter.package_name }}
```

## Test

```bash
# Four green gates — all should pass before committing.
uv run ruff check
uv run mypy --strict src/
uv run pytest
uv run lint-imports
```

## Standards

This project follows
[`mgf-common`'s engineering standards](https://codeberg.org/magogi-admin/mgf-common/src/branch/main/docs/standards/).
Read any topic on demand:

```bash
mgf-fed standards <topic>
```

Audit conformance:

```bash
mgf-fed catch-up                  # project-setup audit
mgf-fed app-doctor --standards        # code-level audit
```

## License

{{ cookiecutter.license }}.
