Read our Code of Conduct to keep our community approachable and respectable.
This guide will give you an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
- Follow Setup Guide for setting up the project locally.
If you spot an issue with the tool or you want to improve the tool by adding some functionality, search if an issue already exists for the same.
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
Scan through our existing issues to find one that interests you. You can narrow down the search using labels as filters. As a general rule, we don’t assign issues to anyone. If you find a problem to work on, you are welcome to open a PR with a fix.
- Commit the changes once you are happy with them. Always write a clear log message for your commits.
- For commit message we follow Conventional Commit Message Guideline. To enforce this we use pre-commit, to setup the same go through pre-commit setup section of the README
- Make sure there are no lint issues, check lint issues by running
make lint
. If there are some in the portion which you have touched, fix those lint issues. - If you are making changes to config then please update schema.json file also.
- We use semgrep for static code analysis and finding vulnerabilities. To check issues locally run
make run_semgrep
.
- Please test the tool locally so that by doing the above change there is nothing breaking in the project elsewhere.
- To test project locally you can run
make test
- To test project locally you can run
- Don't forget to self-review to speed up the review process.
- Open a new GitHub pull request with the fix/patch.
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
- Before submitting, please read the Contributing to Django project guide to know more about coding conventions and unit tests, etc.
- Your PR is merged!
- Congratulations 🎉 The Enigma team thanks you ✨.
- Once your PR is merged, your contributions will be publicly visible on the Project Repo.