We'd love to accept your patches, contributions and suggestions to this project. Here are a few small guidelines you need to follow.
To better foster an open, innovative and inclusive community please refer to our Code of Conduct when contributing.
If you think you've found a bug, please log a new issue in the [GitHub issue tracker. When filing issues, please use our issue template. The best way to get your bug fixed is to be as detailed as you can be about the problem. Providing a minimal project with steps to reproduce the problem is ideal. Here are questions you can answer before you file a bug to make sure you're not missing any important information.
- Did you read the documentation?
- Did you include the snippet of broken code in the issue?
- What are the EXACT steps to reproduce this problem?
- What specific version or build are you using?
- What operating system are you using?
GitHub supports markdown, so when filing bugs make sure you check the formatting before clicking submit.
If you have an idea for a new feature or enhancement let us know by filing an issue. To help us understand and prioritize your idea please provide as much detail about your scenario and why the feature or enhancement would be useful.
This is an open source project and we welcome code and content contributions from the community.
Identifying the scale
If you would like to contribute to this project, first identify the scale of what you would like to contribute. If it is small (grammar/spelling or a bug fix) feel free to start working on a fix.
If you are submitting a feature or substantial code contribution, please discuss it with the team. You might also read these two blogs posts on contributing code: Open Source Contribution Etiquette by Miguel de Icaza and Don't "Push" Your Pull Requests by Ilya Grigorik. Note that all code submissions will be rigorously reviewed and tested by the project team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.
Obtaining the source code
If you are an outside contributor, please fork the repository to your account. See the GitHub documentation for forking a repo if you have any questions about this.
Submitting a pull request
If you don't know what a pull request is read this article: https://help.github.com/articles/using-pull-requests. Make sure the repository can build and all tests pass, as well as follow the current coding guidelines. When submitting a pull request, please use our pull request template.
Pull requests should all be done to the master branch.
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.
This project follows Google's Open Source Community Guidelines.