Contributing¶
This project requires the following tools installed:
- rust
-
uv(Python Project management tool) - nur for running tasks via nushell
-
yarn(Node.js package management tool)
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