The contributing guide covers project scope, review expectations, and checks. Start from the repository root:
mise install
mise run build
mise run testFor website changes, run mise run docs:dev for a live preview and
mise exec -- aube run docs:build for the production build. Guides live in
docs/; docs/cli/reference/ is generated from command help in the Rust source.
Linting runs through hk, configured in hk.pkl.
mise install provides the binary; installing the hooks themselves is per-clone:
mise exec -- hk install --mise--mise runs the hooks through mise x, so the project's pinned tools are on
PATH even when Git is invoked from an editor. The pre-commit hook fixes what
it can and stages the result. The same steps run on demand as mise run lint
and mise run lint-fix.
mise install installs mbx 1.8. The normal
mise run build, mise run test, and mise run lint workflows activate its
transparent Cargo wrapper and therefore use the cache while invoking Cargo
normally, including the Cargo steps hk runs. Standalone Cargo commands require an activated mise shell. To bypass
mbx without skipping or weakening a check, prefix the
equivalent Cargo command with MBX_DISABLE=1 and keep the mise tool environment:
MBX_DISABLE=1 mise exec -- cargo build --all
MBX_DISABLE=1 mise exec -- cargo test --all --all-features
MBX_DISABLE=1 mise exec -- cargo clippy --all --all-features --all-targets -- -D warningsIf bypassed Cargo succeeds where the wrapper fails, or mbx introduces a papercut, please start a
mr-boxington Discussion.
Include the repository and commit, operating system, mbx --version,
mbx doctor, and both commands and their output. Before posting, redact
secrets, absolute cache paths, remote URLs, namespaces, and other sensitive or
identifying details.