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

Contributing

Building

cargo build --workspace

With JIT compilation (x86_64 only):

cargo build --workspace --features jit

Local CI

Run the full CI pipeline locally before submitting a pull request:

./scripts/local-ci.sh all

Individual jobs:

./scripts/local-ci.sh --list          # show available jobs
./scripts/local-ci.sh fmt clippy      # run specific jobs
./scripts/local-ci.sh build test doc  # build, test, and generate docs

Available jobs: build, fmt, clippy, doc, test, bench-quick, examples.

Code Style

  • cargo fmt enforces formatting (checked by CI)
  • cargo clippy --workspace --all-targets must pass with no warnings
  • cargo doc --workspace --no-deps must build without warnings

Testing

cargo test --workspace

See Testing for the full testing strategy.

Pull Requests

  • One logical change per commit
  • Conventional commit format: feat:, fix:, docs:, refactor:, test:, perf:, chore:
  • Subject line under 72 characters, imperative mood
  • Include Signed-off-by line

Documentation

The book is built with mdbook:

mdbook build docs/
mdbook serve docs/    # local preview at http://localhost:3000

API documentation:

cargo doc --workspace --no-deps --open

Release Process

See Release Process for the two-phase prepare/publish workflow.