# How to Contribute Want to contribute to GPR? Please take a moment to review this document in order to make your contribution and the process around it easier and more effective for everyone. ## Issue tracker The [issue tracker](https://www.github.com/gopro/gpr/issues) is the best place to report a bug. Please make sure to check the following guide on how to use the issue tracker : ### Reporting a bug - If you really think it is a bug, consult the list of issues and make sure nobody has reported it yet. This will avoid duplication of effort. - If it hasn't been reported yet, submit a new issue. ### Suggesting a feature - Consult the roadmap within [projects](https://github.com/gopro/gpr/projects) to know if it is planned. - Consult the list of things that **won't** be implemented. - Read up on what type of feature requests are accepted. - See if anybody has not requested the feature yet. - If it hasn't beed requested yet, submit a new request as an issue. ### Submitting a pull-request - All contributors must sign a [contributor license agreement (CLA)](https://cla.gopro.com). Your code will not be reviewed and accepted by the Admins until this has been received. - To be sure your changes could be interesting and accepted, ask about your patch on Discourse. - Fork the repository and work on the `master` branch, while respecting the imposed guidelines. - Add tests if needed, and make sure that all of them pass. - Document the code according to the guidelines, and make sure the build is OK. If you encounter some problem with the Closure Compiler part, don't hesitate to ask. - Submit a pull request for your changes. - The Admins will review your work and may optionally request conformance, functional or other changes. Work with them to resolve any issues. - Upon acceptance, your code will be added to the main branch and available for all.