We welcome any and all contributions (bug fixes, features, documentation, tests, etc.).
For non-trivial additions we recommend opening an issue to discuss the change with the team first. For everything else feel free to open a PR directly.
-
Read the contributor license agreement
All contributors must read and accept the contributor license agreement (CLA) included at the bottom of this document. If you do not accept the CLA, do not submit code to this project. Submitting code to this project only if you have read and agreed to the CLA. -
Search
Search the issues page for key words related to the change you want to make. Check to see if there has been any previous discussion or work done. -
Discuss (optional for trivial changes)
Open an issue to discuss non-trivial changes with the team, or to ask for guidance on how to add a feature. -
Make a Pull Request
Implement the changes and make a pull request. See the "Pull Request Merge Requirements" section below. -
Respond to Review
A reviewer from our team will look over the code and may have questions or give feedback before merging.
If you are unsure about anything, feel free to open an issue or make a pull request anyway. We are happy to help get any contributions merged!
Before a PR is merged it must meet the following requirements:
- Pass all tests
- Add tests covering new functionality
- Follow clang format style guides
- Be approved by relevant code owner
See the developer docs about running and adding tests.
Run clang-format using the .clang-format
file in the root directory. Most IDE's can be configured to do this automatically.
After opening the PR we will assign the correct reviewer to review the change.
We are tracking what needs to be worked on via GitHub Issues and we are tracking what is actively being developed on the dev board.
If you want to contribute but aren't sure how, look for unassigned issues in the issue tracker or for un-started issues on the dev board.
If you find an issue that look interesting feel free to leave a comment to prevent duplicate efforts, or a comment asking for guidance about how to get started.
This contributor license agreement (CLA) applies to all contributions made to this project. If you represent an organization, ensure you have the authority to grant this agreement.
You are yourself or the organization you represent.
Contribution refers to any original work you submit to Coderrect Inc. for this project.
You grant Coderrect Inc. a perpetual, worldwide, transferable, non-exclusive, no-charge, royalty-free, irrevocable, and sublicensable license to use, reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Contributions and any derivative work created based on a Contribution.
You grant to Coderrect Inc. and to any recipient of software distributed by Coderrect Inc., a perpetual, worldwide, transferable, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have make, use, sell, offer to sell, import, and otherwise transfer the Contribution in whole or in part, alone or included in any product under any patent you own, or license from a third party, that is necessarily infringed by the Contribution or by combination of the Contribution with any other work.
By submitting code you guarantee that:
- the contribution is an original work and that you can legally grant the rights described in this agreement
- the contribution does not and will not infringe on the rights of a third party
- you are not aware of any pending or threatened claims, suits, actions, or charges related to the submitted work and that you will notify Coderrect Inc. immediately if you become aware of any pending or threatened claims, suits, actions, or charges related to the submitted work.
By making a contribution to this project You agree and accept this license