Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Build and inspect locally

The pinned Rust toolchain is 1.96. Use one Cargo job for memory-intensive RHDL graphs and Bun for all JavaScript or TypeScript commands.

Fast checks

cargo test --workspace --locked -j1
cargo clippy --workspace --all-targets --all-features --locked -j1 -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --locked -j1

Expensive production descriptor and full-source tests are ignored by default. Run an ignored test only through the command documented by its evidence page.

Documentation

Install the verified mdBook 0.5.4 binary, then run:

bun install --frozen-lockfile
bun run docs:test
bun run docs:build:no-api
bun run docs:check

docs:build:no-api builds the guide and evidence pages without compiling Rust. The publication build uses bun run docs:build, which runs standard cargo doc --workspace --no-deps for /rustdoc/ and a second, presentation-only Rustdoc build for the /api/ crate portal. Generated output lives in site/ and must not be edited or committed.

For the final local publication gate, run the build and release audit in one ordered command:

bun run docs:release

That command requires the emitted full commit/tree identity to match the clean checkout and rejects a placeholder or stale Rustdoc tree. The build writes separate /api/build-metadata.json and /rustdoc/build-metadata.json inventories whose aggregate digests cover every file in their respective trees; the release checker recomputes both digests and binds them to the publication commit and tree.

Preview the static Pages output without authenticating or touching a remote account:

bun run docs:preview

An unknown path must return the top-level 404.html; there is deliberately no single-page-app catch-all rewrite.