Contributing to JaggedVerge libraries

JaggedVerge welcomes and encourage patches and pull requests for our libraries. If you are looking to get involved but aren’t sure what to work on the issues tracker is often a good place to get some ideas, we will mark issues with the `easy` tag if they are easy to fix. Documentation improvements are very valuable and we appreciate contributions with documentation or example code, this helps make libraries more usable.

Submitting changes

We have general code quality requirements for accepting a patch or pull request. Please make sure that the code you are submitting is to the best of your knowledge working code. We will reject code that introduces defects.

We have high standards for our libraries, if your code doesn’t meet this standard we will do our best to provide constructive feedback as to how you can improve your code.

For all of our projects hosted on GitHub we use a pull request workflow for integrating new changes.

Pull requests

At a minimum please include the following:

  • Reference any issues in the issues tracker
  • Quick summary of what the contribution implements or fixes

Please prefix the title of your pull request with [MRG] (Ready for Merge), if the contribution is complete and ready for a detailed review. Incomplete contributions should be prefixed [WIP] (to indicate a work in progress) and changed to [MRG] when it matures. WIPs may be useful to: indicate you are working on something to avoid duplicated work, request broad review of functionality or API, or seek collaborators. WIPs often benefit from the inclusion of a task list in the PR description.

If the project is running CI such as TravisCI then passing the test suite is a precondition for merging. Only in select circumstances will this requirement be waived and there has to be a good reason given for why.

Coding guidelines

Please take some time to read the coding guidelines for the specific language that the project is using: