Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Contributions to this project are released to the public under the project's open source license.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The CodeQL Coding Standards project only considers external contributions that improve an existing query. Proposals for additional standards or guidelines are out of scope for this project.
If you are interested in adding a query that is outside the scope of this project then consider contributing to the CodeQL standard library and queries.
The CodeQL Coding Standards is subject to strict software development processes in accordance with the ISO 26262 standard. For more information on the tool qualification process refer to our tool qualification document.
To ensure the that we adhere to the requirements we must first start with an issue to register and discuss the proposed improvement.
The next step, after registering and discussing your improvement, is proposing the improvement in a pull request.
- Fork and clone the repository
- Configure and install the CodeQL CLI specified in the
supported_codeql_configs.json
and ClangFormat - Create a new branch:
git checkout -b my-branch-name
- Make your change according to process described in the development handbook
- Ensure the files are appropriately formatted.
- QL files should be formatted with
codeql query format
- C/C++ files should be formatted with
clang-format
using the format specification .clang-format
- QL files should be formatted with
- Push to your fork and submit a draft pull request. Make sure to select Create Draft Pull Request.
- Address failed checks, if any.
- Mark the pull request ready for review.
- Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
- Follow the development handbook.
- Ensure all PR checks succeed.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a good commit message.