Toolchain¶
Goals¶
The development toolchain is designed to keep formatting, linting, type checks, tests, and documentation generation consistent across local work and CI.
Primary commands¶
Current stack¶
- dependency management:
uv - command runner:
just - formatting and linting:
ruff - type checking:
ty - tests:
pytest - documentation:
zensical
CI expectations¶
- static checks run in GitHub Actions
- tests run in GitHub Actions
- documentation is built in CI to catch broken navigation or invalid content before merge
Conventions¶
- Ruff:
from __future__ import annotationsrequired; isort per-file-ignores for__init__.pyandtests/**(I002); PGH003 and B008 allowed where appropriate. - Type checking:
tycheckssrc/only. - Just:
installrunsuv sync --all-groups;checkrunsuvx ty check src/. - Publish: tag-triggered workflow for PyPI.