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 fmtenforces formatting (checked by CI)cargo clippy --workspace --all-targetsmust pass with no warningscargo doc --workspace --no-depsmust 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-byline
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.