View on GitHub


Test Coverage

Contributions are welcome, and they are greatly appreciated! Every
little bit helps, and credit will always be given.

You can contribute in many ways:

Types of Contributions

Report Bugs

Report bugs at

If you are reporting a bug, please include:

* Your operating system name and version.
* Any details about your local setup that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.

Submitting pull requests to change the documentation or code

Changes can be proposed by sending a pull request (PR). A maintainer will
review the changes and provide feedback.

The pull request will be merged into the master branch after discussion.

Please make sure to run the tests and that the tests pass before submitting the
PR. Please keep in mind that some changes might not be merged if the
maintainers decide they can't be merged.

Please squash your commits to one commit per fix or feature. The resulting
commit should have a single meaningful message.

Commit message guidelines

The short summary should include the name of the directory or file affected by
the commit (e.g.: utils: added a new utility method to get status).

A longer description of what the commit does should start on the third line
when such a description is deemed necessary.

If you have trouble with the appropriate git commands to handle these
requirements, please let us know! We're happy to help.

Legal Stuff: Sign your work

You must sign off on your work by adding your signature at the end of the
commit message. Your signature certifies that you wrote the patch or otherwise
have the right to pass it on as an open-source patch.

If you set your and git configuration options, you can
sign your commits automatically with git commit -s.

    git config "Joe Smith"
    git config

git commit -s should be used now to sign the commits automatically, instead of
git commit.

Submit Feedback

The best way to send feedback is to file an issue at

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions
  are welcome :)