Let us know how we are doing
- Make a private fork of the repository you want to contribute to.
- Assign the related Jira ticket to yourself and set it to "In Progress" so that others know you are working on it.
- Write good code:
- We prefer Test Driven Development.
- Unit tests are required. Integration tests are encouraged.
- Pay attention to the code standards documented in the repository where you are contributing.
- Observe best practices and style guidelines in the repository's "Coding-Conventions.md" file.
- Write idiomatic code for the language you’re using (e.g., PEP8 for python)
- Respect other stylistic and design choices until you build enough credibility to influence the project as a whole.
- Understand the Apache 2 license: don’t contribute anything encumbered by copyright or patent issues.
- Don’t add new dependencies without consulting a maintainer.
- The CI pipeline is configured to fail on compiler warnings.
- Confirm that all tests pass.
- Don't mix unrelated improvements in the same Pull Requset.
- Submit a Pull Request to the master branch of the upstream repository.
- Move the Jira ticket to "Code Review" status.
- Announce your PR on #indy-pr-review at chat.hyperledger.com (give the PR URL and Jira reference).
- The reviewer should assign the ticket to themselves.
- Especially engage the maintainers if the change is big, significant, or risky.
- Monitor the pull request for comments from the reviewer.
- Be patient.
- Our goal is to not let pull requests go for a week without some type of follow up from the maintainers.