Project¶
Development happens in a single uv workspace: one lockfile, one virtual
environment, two publishable packages under packages/.
Set up¶
$ uv sync --all-packages --group dev
This installs both workspace packages editable plus the docs, testing, and lint tooling.
Development loop¶
Run every change through this loop:
$ uv run ruff format .
$ uv run pytest
$ uv run ruff check . --fix --show-fixes
$ uv run ty check
The just recipes wrap these: just test, just ruff, just ruff-format,
just ty, and just build-docs.