We'd love to accept your contributions to this project. Here are a few guidelines to follow.
Code contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) keep the copyright to your contribution. The CLA gives us permission to use and redistribute your contributions as part of the project. Open https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
Normally you only need to submit a Google CLA once. You probably don't need to do it again if you've already submitted one (even for a different Google project).
Thanks for considering submitting code!
- We follow the Github Pull Request Model.
- For big changes, please create an issue outlining the feature and describing its implementation. This gives us a chance to review early so there's no wasted effort.
- All submissions, even by project members, require review before merging.
Everyone is welcome to try out and add comments to pull requests. If you don't know how to do one of the steps, feel free to ping one of the repository owners and we'll help!
We look for the following in reviews:
Code
- Follow Go's formatting conventions. You can auto-format using
make pre-commit
- Blend in with the existing code, even if it's "wrong".
- Write tests.
- Refactor OR add a feature in a PR. This makes it easier to understand changes and see bugs. See Martin Fowler's Workflows of Refactoring for more information.
Documentation
Try to keep documentation short, easy to read and accessible to people from all backgrounds.
You can use online checkers like hemingwayapp to help.