Thank you for your interest in contributing to ros-z!
# Clone and setup
git clone https://github.com/ZettaScaleLabs/ros-z.git
cd ros-z
nix develop # or: install Rust via rustup
# Build and test
cargo build
cargo test
# Run all pre-submission checks
./scripts/check-local.shWith Nix (Recommended):
nix develop
# or: direnv allowWithout Nix:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install mdbookRun before opening a PR:
./scripts/check-local.shThis runs:
cargo fmt --check- formattingcargo clippy --all-targets -- -D warnings- lintingcargo build- compilationcargo test- testsmdbook test book -L ./target/debug/deps- documentation
- Use
cargo fmtfor formatting - Fix all
cargo clippywarnings - Follow conventional commits:
feat:,fix:,docs:,refactor:,test:,chore:
Please open PRs as DRAFT initially:
- Run
./scripts/check-local.shlocally - Open PR as draft
- Mark "Ready for review" when all checks pass
This helps us manage CI workflow approvals.
- Write clear PR descriptions
- Reference issues:
Fixes #123orRelates to #456 - Keep PRs small and focused
- Respond to review feedback promptly
- Examples live in
crates/ros-z/examples/as runnable programs - Book chapters reference examples via
{{#include}} - Test documentation:
mdbook serve book
See the book for detailed guides.
- Questions: GitHub Discussions
- Bugs: GitHub Issues
- Chat: Zenoh Discord
Contributions are licensed under the same license as the project (see LICENSE).
Thank you for contributing to ros-z! 🦀