Reference of build, test, lint, and documentation invocations for the valj workspace. See CONTRIBUTING.md for branch, commit, and PR conventions.
Rust 1.88 (MSRV, required by rmcp/darling). Rustup installs the workspace pin automatically; no rust-toolchain.toml is checked in.
rustup install 1.88
rustup component add --toolchain 1.88 rustfmt clippyNo crate in the workspace declares a [features] section. --features, --all-features, and --no-default-features currently have no effect and are omitted from the commands below.
| Purpose | Command |
|---|---|
| Debug build (all crates) | cargo build --workspace |
| Release build (all crates) | cargo build --workspace --release |
Release binary, valj only |
cargo build -p valj --release |
Release binary, valj-mcp only |
cargo build -p valj-mcp --release |
| Fast compile check without codegen | cargo check --workspace |
Release binaries are written to target/release/valj and target/release/valj-mcp.
| Purpose | Command |
|---|---|
| All tests across all crates | cargo test --workspace |
| Unit tests for a single crate | cargo test -p valj-core |
| Doc-tests only (workspace) | cargo test --workspace --doc |
| CLI integration tests | cargo test -p valj --test integration |
| CLI snapshot tests | cargo test -p valj --test snapshots_cli |
| Single test by name | cargo test --workspace <name> |
| Update snapshots after intentional output change | cargo insta test --workspace && cargo insta review |
| Verify no pending snapshots (CI mode) | cargo insta test --check --workspace |
| Purpose | Command |
|---|---|
| Format check (CI gate) | cargo fmt --all --check |
| Format apply | cargo fmt --all |
| Clippy, all targets, deny warnings | cargo clippy --workspace --all-targets -- -D warnings |
Lints are centrally defined via [workspace.lints] in the root Cargo.toml; all crates inherit them through [lints] workspace = true.
| Purpose | Command |
|---|---|
| Build docs (no deps) | cargo doc --workspace --no-deps |
| Build docs and open in browser | cargo doc --workspace --no-deps --open |
| CI variant: fail on doc warnings | RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps |
missing_docs is enforced at the library level for valj-core and valj-format.
| Purpose | Command |
|---|---|
| Advisories, licences, bans, sources | cargo deny check |
| Unused dependencies | cargo machete |
Installation of the tooling (one-off):
cargo install cargo-deny --locked --version '^0.16'
cargo install cargo-machete --locked| Purpose | Command |
|---|---|
| MSRV verification | cargo msrv verify --workspace |
| SemVer, library crate | cargo semver-checks check-release -p <crate> --baseline-rev <tag> |
Installation of the tooling (one-off):
cargo install cargo-msrv --locked
cargo install cargo-semver-checks --lockedThe following commands reproduce the full quality pipeline:
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
cargo build -p valj-mcp --release
cargo deny check
cargo machete