How to Contribute
Want to contribute to ForgeJS? 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.
Personal support issues are not allowed on the issue tracker, so please seek help on the community forum. Before asking for help in the forum, you can also do those things :
- read the documentation
The issue tracker is the best place to report a bug, suggest a new feature for the player, request documentation (support) and contribute with code to the project. Please make sure to check the following guide on how to use the issue tracker :
Reporting a bug
- Make sure it is a bug, and not a bad configuration on your side. See the section above to help you find the root of your problem.
- 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 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). 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
masterbranch, 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.
- 4 spaces for indentation (no tabs)
- use semicolons
- write attractive code
- lines with an acceptable length (80 characters not necessary, but don't abuse it)
- always use braces, even for single line blocks
- always comment your code
If you have any question about contributing, ask on the community forum of the project.