There are many ways to contribute to the project, you can fix issues, improve
documentation or work on any of the features.

## Using the issue tracker

Think you've found a bug or have a new feature to suggest? Let us know! Use the
issues tracker for:

* [bug reports](#bug-reports)
* [requesting a feature](#feature-requests)
* [submitting pull requests](#pull-requests)

## Bug reports

A bug is a _demonstrable problem_ that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!

Update to the most recent master release if possible. We may have already fixed
your bug. Provide a demo that specifically shows the problem. This demo should be
fully operational with the exception of the bug you want to demonstrate. The more
pared down, the better.

The more information you provide, the easier it is for us to validate that there
is a bug and the faster we'll be able to take action.

## Feature requests

Feature requests are welcome and should be discussed. But take a moment to find
out whether your idea fits with the scope and aims of the project. Please provide
as much detail and context as possible.

## Pull requests

Good pull requests - patches, improvements, new features - are a fantastic help.
They should remain focused in scope and avoid containing unrelated commits.

In the description, please provide us with some explanation of why you made the
changes you made. For new features make sure to explain a standard use case to us.

If you have any large pull request in mind (e.g. implementing features,
refactoring code, etc), **please ask first** otherwise you risk spending a lot of
time working on something that the project's developers might not want to merge
into the project.

**IMPORTANT**: _Never ever_ merge upstream `master` into your branches. You
should always `git rebase` on `master` to bring your changes up to date when
necessary.


Thank you for your contributions!
