Thank you for considering contributing to this project! We welcome bug reports, feature requests, and code contributions. Please read the following guidelines to help us effectively address your input.
If you find a bug, please help us by reporting it. A good bug report should include:
- A clear and descriptive title
- A step-by-step description of how to reproduce the issue
- What you expected to happen vs what actually happened
- Information about your environment (OS, version of the project, etc.)
- Relevant logs or screenshots, if available
Please check the Issues page to ensure your bug hasn't already been reported before creating a new one.
We welcome suggestions for improvements or new features. To propose a new idea:
- Open a discussion (e.g., via GitHub Discussions) to present your idea and gather feedback.
- Please do not submit a large pull request for a new feature without prior discussion. We want to make sure your efforts align with the project's goals and that there's community interest in the feature.
- When describing your feature request, include:
- What the feature does
- Why it’s useful
- Any alternatives you’ve considered
This process helps prevent disappointment from having a significant contribution rejected due to misalignment.
We’re happy to accept code contributions that improve the project. If you're new to the project, we recommend starting with issues labeled good first issue or help wanted.
- Fork the repo and create your branch from
main. - Make your changes and ensure they follow the existing code style, we can guide you during the review process.
- Write or update tests as appropriate.
- Run the test suite locally to ensure nothing is broken.
- Submit a pull request and link any relevant issues.
Please make sure your pull request:
- Clearly describes the problem it solves or feature it implements
- Is focused on a single change or set of related changes
The project makes use of formatting tools for the C++ (clang-format) and cmake (gersemi) files. The formatting must be applied for a PR to be accepted.
To format a cmake file, please apply the command
gersemi -i the-cmake-fileOne can find the formatting style in the file .gersemirc.
To format a C++ file, please apply the command
clang-format -i the-cpp-fileOne can find the formatting style in the file .clang-format.
Warning
The formatting might not give the same result with different versions of a tool.
Your contributions make this project better! Whether it’s reporting a bug, proposing a feature, or submitting a pull request, we truly appreciate your effort and time.