Architecture
Rules
- •Keep runtime code in
src/{{ cookiecutter.package_name }}/. - •Keep CLI parsing in
cli.pyand business logic in dedicated modules. - •Keep public interfaces typed and explicit.
- •Keep
pyproject.tomlmetadata consistent with package runtime version. - •Treat these modules as shared package foundations and keep them coherent:
settings.py,logging.py,async_runner.py,exceptions.py. - •Ensure package-specific exceptions always inherit from
PackageError.
Validation
- •
uv run pytest -m unit - •
uv run {{ cookiecutter.project_slug }} --help