The first step in contributing to the code base is forking the repo.

If you have an existing fork, make the repo is up-to-date. Always create the branch off the actively developed branch (which will be set as the default branch on GitHub).

Bug Fixes

  • Create a branch
  • Once the bug has been fixed (with the proper tests described below) submit a pull request
  • If there is an existing open issue, reference the issue number in the pull request description.

New Features

Open a ticket to describe the feature and why it makes sense to integrate it into the core library. Having code to show the intended implementation is always a plus, so you can supply that as well. In either case simply:

  • Create a branch
  • Once implemented with tests and documentation, submit a pull request referencing the open ticket.


  • Create a branch
  • Submit a pull request