- First of all, fork and clone this repo;
- Install Rust and Cargo (to build and test Sonic);
- Install Task (for a better Developer Experience);
From the repository root, run:
cargo build --lockedFrom the repository root, run:
cargo runFrom the repository root, run:
task testFrom the repository root, run:
task e2e-testtask citask deps:updateThis lints the supply chain after updating, and provides utility for easily validating changes in dependencies build scripts. This is very important, please don鈥檛 use cargo update without task deps:lint and task deps:validate-build-scripts!
If you encounter an issue with Sonic, or would like to request a feature to be implemented, please do open an issue.
Note that before opening an issue, you should always search for other similar issues as to avoid opening a duplicate issue. This makes the life of the project maintainer much easier.
When writing your issue title and command, make sure to be as precise as possible, giving away the maximum amount of details (even if you have a feeling some details are useless, they might make debugging or understanding easier for us).
If you would like to contribute directly by writing code, you should fork this repository and edit it right away from your GitHub namespace.
Once you are done with your work, run cargo clippy --locked --no-deps to ensure your code follows our formatting guidelines.
When this is done, you may open a Pull Request (PR), then explain your changes and their purpose precisely. We will finally accept or comment on your Pull Request, if we need more changes done on your code.