Contributing
Thanks for helping build Parallax.
Canonical short guide (setup commands, DCO note, PR norms):
CONTRIBUTING.md in the repository root.
Also see the Code of Conduct, Security policy, and Privacy policy.
Development setup
git clone https://github.com/parallax-runtime/parallax.git
cd parallax
cargo build --workspace
cargo test --workspace
cargo run -p parallax-cli --bin plx -- doctor
Prerequisites: Rust 1.75+, Node.js 18+ (JS adapter), Python 3.10+ (Python adapter).
Docs site
cd docs
mdbook serve --open
# http://localhost:3000
Build static site:
mdbook build
# output: docs/book/
Requires mdBook (cargo install mdbook).
Project norms
- No fake capabilities — return
Unsupported/ structured errors - Prefer small, focused PRs
- Use conventional commits:
feat:,fix:,docs:,chore:,test:,ci: - Keep README and docs synchronized with real CLI behavior
- Add tests for migration / PIR / snapshot critical paths
- Update CHANGELOG.md for user-visible changes
- Bump the correct versioning surface when you break PIR, protocol, snapshots, or adapter contracts
Adapter conformance
See root CONTRIBUTING.md and Adapters overview. In short: honest capabilities, versioned protocol, structured errors, lenient probe/registration, tests for paths you touch.
Code layout
See Architecture. Adapters live under crates/parallax-adapter-* with worker scripts in adapters/.
Checks before opening a PR
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cd docs && mdbook build
CI runs these on Linux, Windows, and macOS (plus docs + audit jobs).
License
Contributions are accepted under the Apache-2.0 license. No CLA is required at this time; see the root contributing guide for the lightweight DCO note.