# How to contribute

We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.

## Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution,
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to <https://cla.developers.google.com/> to see
your current agreements on file or to sign a new one. You generally only need
to submit a CLA once, so if you've already submitted one (even if it was for a
different project), you probably don't need to do it again.

## Pull request standards

All submissions, including submissions by project members, require review.
We use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.

Furthermore, please make sure your new code comes with extensive tests! We
use automatic testing to make sure all pull requests pass tests and do not
decrease overall test coverage by too much. Make sure you adhere to our style
guide. Just have a look at our code for clues. We mostly follow pep8 and use
the pep8 linter to check for it. Code should always come with documentation,
which is generated automatically and can be found
[here](http://openfermion.org).
