# {{ cookiecutter.project_name }} {{ cookiecutter.description }} ## Installation ```bash uv sync --frozen --group dev ``` ## Usage ```bash {{ cookiecutter.project_slug }} --help {{ cookiecutter.project_slug }} config show {{ cookiecutter.project_slug }} config init ``` ## Configuration Default config path (XDG): ``` ~/.config/{{ cookiecutter.project_slug }}/config.toml ``` Override with: ```bash export {{ cookiecutter.package_name | upper }}_CONFIG=/path/to/config.toml ``` Resolution order: 1. `{{ cookiecutter.package_name | upper }}_CONFIG` explicit path (errors if missing) 2. `~/.config/{{ cookiecutter.project_slug }}/config.toml` when present 3. In-code defaults ## Reproducible Workflow ```bash uv lock uv sync --frozen --group dev uv run invoke lint uv run invoke test ``` ## Development ### Setup ```bash uv sync --frozen --group dev ``` ### Code Quality ```bash uv run ruff check src tests uv run ruff format --check src tests uv run mypy src uv run invoke lint ``` ### Testing ```bash uv run pytest uv run invoke test ``` ## License MIT License - see LICENSE file for details.