First and foremost, we encourage all contributors to adhere to the Code of Conduct
If you would like to contribute enhancements or bug-fixes, please open an issue on GitHub first. We may already have a solution in the works, or we might have slightly different ideas about certain aspects of development, and creating an issue helps you and us to agree on a way forward together and achieve the best possible outcome for everyone.
Feel free to make use of automated code formatting using clang-format while you write your code. We also provide a comprehensive suite of unit and integration tests that we expect you to run regularly and extend during development to cover all additional bug fixes and features that you write. Ideally, you should employ the principles of test-driven development (TDD).
Please submit a pull request once you are done. We may have some questions or feedback, and we would kindly ask you to please cooperate with us on finding a solution. Once we both agree that development is done, we will merge the pull request. This last step should not take more than a few days altogether.
If you have any questions or comments regarding this document, please open a GitHub issue and let us know.
Otherwise, happy hacking! :)