Contributing
Contributions to Volley are welcome! This page summarizes the development workflow. See the full Contributing Guide for complete details.
Development Setup
git clone https://github.com/volley-streams/volley.git
cd volley
cargo build --workspace
cargo test --workspace --exclude volley-python
System Dependencies
| Dependency | Required by | macOS | Ubuntu |
|---|---|---|---|
cmake | volley-connector-kafka | brew install cmake | apt install cmake |
libcurl4-openssl-dev | volley-connector-kafka | (included) | apt install libcurl4-openssl-dev |
protobuf-compiler | volley-scheduler | brew install protobuf | apt install protobuf-compiler |
Run volley doctor to check your environment.
Code Style
- Formatting:
cargo fmt --all - Linting:
cargo clippy --workspace -- -D warnings - Tests:
cargo test --workspace --exclude volley-python
All warnings are errors in CI (RUSTFLAGS: -Dwarnings).
Submitting Changes
- Fork the repository and create a feature branch
- Make your changes with clear, focused commits
- Ensure
cargo fmt,cargo clippy, andcargo testall pass - Open a pull request against
main
Project Structure
See Crate Map for a per-crate breakdown of the 17-crate workspace.