Skip to content

Development

Terminal window
uv lock --check && uv sync --frozen
uv run pre-commit install
uv run pre-commit run --all-files
uv run pytest

Read AGENTS.md before changing generate_families.py or update_families.py: it lists the invariants each module depends on and the test that guards each one.

The documentation lives in docs/, built with Starlight and starlight-pydocs. The Python API pages are generated from the docstrings at build time by Griffe, which runs through uvx and reads the source without importing it.

Terminal window
cd docs
npm ci
npm run dev # http://localhost:4321/mgnifam/
npm run build # static site in docs/dist/

Requires Node >= 22.12 and uv on PATH. Every push to main deploys the site to GitHub Pages.