Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 1.85 KB

CONTRIBUTING.md

File metadata and controls

45 lines (29 loc) · 1.85 KB

Contributing

We warmly welcome contributions to the project. Let's discuss ideas or questions in Github discussions. Please feel welcome to open github issues, pull requests or comment for example on RFC tagged issues.

Coding Style

For the Rust portion of the code base, we enforce the coding style via rustfmt. The rustfmt.toml in the root direction is used to configure the style.

For the C++ portion of the code base, we enforce the coding style via clang-format, via the .clang-format file in the root directory.

Tooling

Pre-commit is a tool intended to help you in your local development, it is not enforced on the repository side!

pre-commit is set up and ready to be used in this repository. Simply install the pre-commit python script using:

> pip install pre-commit
> pre-commit install

and the pre-commit git hooks will be active and do basic sanity checks on your code whenever you commit something.

Not all parts of the code base are pre-commit clean, so use it as an early warning system: See what it reports, fix any issue you introduced (as those make sense to fix), and then feel free to skip pre-commit module still failing using

SKIP="module1,module2" git commit

Typical modules to skip include: cspell, check-json and prettier.

Testing

All changes submitted to the repository are automatically built and tested via Github Actions and the corresponding workflow defined in the rust.yaml file.

Contributor License Agreement

When opening a pull request, you will be asked to sign a Contributor License Agreement (CLA) which will allow us to relicense your contribution. Please contact us for any concerns.