python-template
Reference

Tasks

Every task target defined in Taskfile.yml

task --list prints this table from the source of truth. It is reproduced here so you can read it without a checkout.

Development

TaskRuns
task dev:checkThe gate: dev:lint, dev:fmt-check, dev:typecheck, dev:test, in that order.
task dev:lintruff check src tests
task dev:fmtruff format src tests — rewrites files.
task dev:fmt-checkruff format --check src tests — fails without rewriting.
task dev:typecheckty check src
task dev:testpytest
task uv:lockuv lock with UV_FROZEN lifted and any mise shim bypassed — the deliberate way to rewrite uv.lock. (uv sync also rewrites it wherever UV_FROZEN is absent, which is every CI job.)

task dev:check is the single gate. CI runs the same tools, and the bootstrap smoke test runs task dev:check inside each generated project — so if it passes locally it passes everywhere.

Hooks

TaskRuns
task dev:hooksprek run --all-files
task dev:hooks-installprek install for the pre-commit, commit-msg and pre-push hook types.

Run task dev:hooks-install once per clone. CI executes the hooks from .pre-commit-config.yaml rather than restating the commands, so local and CI cannot drift.

Docs

TaskRuns
task docs:devpnpm dev with BASE_PATH= — hot reload at http://localhost:3000.
task docs:serveProduction build without a basePath, then serves it.
task docs:buildProduction build with the /python-template basePath, matching CI.

docs:dev and docs:serve strip the basePath deliberately: the deployed site is mounted at /python-template, but a local server serves from the root, so keeping the prefix would 404 every asset.

On this page