Bugs and feature requests should be reported in the issue tracker and answer the following questions:
- Motivation: Why should this be addressed? What is the purpose?
- Input: What are the pre-conditions and actual behavior?
- Output: What is the expected outcome after the issue has been addressed?
- Test: How can the results listed in the "Output" be QA'ed?
For code contributions, these are the suggested steps:
- Identify the change you'd like to make, e.g. fix a bug or add a feature. Before larger contributions please first creating an issue to ensure that the change is properly scoped.
- Fork the repository on GitHub.
- Develop your change on a feature branch.
- Write tests to validate your change works as expected.
- Create a pull request.
- Address any issues raised during the code review.
- Once you get a "+1" on the pull request, the change can be merged.