Contributing to Azurite
We want to make contributing to this project as easy as possible for everyone. We love community contributions, after
all, this is a community built game engine. Whether you are opening a pull request, or submitting an issue, we ask
that you please follow these guidelines in order for your contributions to be easily incorporated into the
engine.
We
Develop with Github, Trello, and Discord
We use github to host code, to track issues and feature requests, as well as accept pull requests. We use Trello to
track development tasks. We use Discord for communication.
All
Code Changes Happen Through Pull Requests
Pull requests are the best way to propose changes to the codebase (check out this YouTube Video about git if you
aren't familiar).
- Fork the repo and create your branch from
main
.
- If you've changed classes, fields, and/or methods, update the JavaDocs.
- Document all code that you write using javadocs, including class descriptions, all fields and methods that aren't
100% self explanatory.
- Create a new pull request, and wait for the project maintainers to review it.
If you plan on making large changes to the engine, please consult with the project maintainers to make sure that
it is a change we will be willing to work with you on.
Use a Consistent Coding Style
Please follow the Azurite Java Style
Guide when styling all of your code. It is important to keep the style consistent across the codebase so
that other contributors can read your code.
Contribution Criteria
When reviewing a pull request, we look for one or more of these criteria to be met.
- Does the PR resolve a problem or defficiency in the engine?
- Does the PR add a meaningful new feature?
- Does the PR modify in a helpful way existing code as to make it simpler to use?
We also look for one these criteria to be met.
- Is the code relatively straight forward to make use of without prior knowledge?
- Does the code follow the Azurite style guide?
- Is the code properly documented?
How to format a pull request
- Write a description of the most important changes you have made, and of things you have added.
- Include a basic use case of your code inside of an empty scene class if applicable (please comment if
necessary, this will be added to the documentation site).
Any contributions you make will be under the MIT Software License
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the
project. Feel free to contact the maintainers if that's a concern.
Report
bugs using Github's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
Write
bug reports with detail, background, and sample code
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can.
- What you expected would happen
- What actually happens
- Including error logs if applicable
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)