Skip to content

Contributing

This project requires the following tools installed:

Getting started

After checking out the repo locally, use

sh uv sync

This creates a venv at ".venv/" in repo root (if it doesn't exist). It also installs dev dependencies like pre-commit, ruff, and mypy.

See uv sync docs for more detailed usage.

Tip

To register the pre-commit hooks, use:

shell uv run pre-commit install

You can quickly run pre-commit hooks using our nur task as well:

sh nur pre-commit

See nur pre-commit -h for more detail.

Running tests

First ensure that the following cargo-managed binaries are installed:

Use nur to run tests:

sh nur test

Different test profiles are still defined in .config/nextest.toml. The above command uses the "default" profile, but to mimic the CI, use:

sh nur test --profile ci

To generate a coverage report:

sh nur test llvm-cov --open

The --open flag is optional. It opens the built coverage report in your default browser.

The uploaded codecov report is generated with

sh nur test lcov

Generating docs

To view the docs locally, use our nur task:

sh nur docs --open

The --open flag is optional. It opens the built docs in your default browser.

In CI, docs are built using

sh nur docs --build