Develop Locally

Use this flow when working on the in-tree interview solution rather than an installed release.

Install the Toolchain

mise install
prek install
prek install --hook-type commit-msg

Run the Current CLI

echo '{"hello":"world"}' | uv run mercury

That path executes the package from the checked-out repository and is the default workflow during implementation.

Run Tests

uv run --extra dev pytest -v

If you change the package interface or parsing logic, keep the subprocess-oriented CLI tests passing so the interview demo path remains stable.

Regenerate Practice Fixtures

uv run problems/generate.py

This rewrites the JSON datasets under problems/.

Build Distributables

uv build

This should produce:

  • dist/*.tar.gz
  • dist/*.whl

Validate the Docs Set

If you have prek installed, prek will run these checks for you on docs changes. Run them manually when you want faster feedback or prefer to check the docs set directly:

mise run docs-check-filenames
mise run docs-check-links
mise run docs-check-index
mise run docs-check-frontmatter

Run these before release-oriented documentation changes so the Quartz bundle stays publishable.