Thank you for your interest in contributing! This document covers how to get started.
- Rust 1.75 or later (
rustup update stable) cargoin yourPATH
# Unit and integration tests
cargo test --all-features
# Stress tests (long-running, ignored by default)
cargo test --test stress_tests -- --ignored# Full benchmark suite (outputs HTML reports in target/criterion/)
cargo bench
# Quick smoke-check (no timing, just compile/run)
cargo bench -- --testThis project enforces zero warnings on every push. Before submitting a PR:
# Format
cargo fmt
# Lint (must be warning-free)
cargo clippy --all-targets --all-features -- -D warnings
# Build docs
cargo doc --no-deps --all-featuresAny unsafe block must have a // SAFETY: comment explaining the invariant being
upheld. New unsafe blocks require a reviewer to sign off.
- Fork the repo and create a feature branch from
main. - Make your changes, ensuring all tests pass and there are no Clippy warnings.
- Add or update tests for your change.
- Update
CHANGELOG.mdunder[Unreleased]with a brief description. - Open a PR against
main. The CI must be green before merging.
Use conventional commit style:
feat: add kalman filter stage
fix: correct cache-line padding on 32-bit targets
docs: add backpressure strategy examples
bench: add end-to-end latency benchmark
Please open a GitHub issue with:
- Your Rust version (
rustc --version) - Your OS and architecture
- A minimal reproducible example if applicable