This project is licensed under the MIT license. By contributing to this project, you agree that your contributions will be licensed under its MIT license.
For more information, see the Code of Conduct.
The Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at http://contributor-covenant.org/version/2/0.
To contribute to this project, we accept changes to this project with a pull request.
To add a new feature to this project, follow these steps:
- Fork the repository
- Create a new branch for the feature
- Commit your changes
- Push the branch to your fork
- Create a pull request
- Wait for the pull request to be reviewed and merged
- Delete the branch
- Pull the latest changes from the main repository
- Delete the fork
- Celebrate!
GitHub is a great tool for collaboration. If you are not familiar with it, you can learn more about it here.
We follow GitHub Flow for our development process. For more information, see Understanding the GitHub Flow.
Branches are named using the following convention:
feature/
for new featuresbugfix/
for bug fixesrelease/
for releases
Other branches may be created as needed.
To report a bug, follow these steps:
- Search the issues to see if the bug has already been reported
- Create a new issue
- Describe the bug
- Wait for the bug to be fixed
- Celebrate!
Bugs are fixed using the following process:
- Create a new branch for the bug fix
- Commit your changes
- Push the branch to your fork
- Create a pull request
- Wait for the pull request to be reviewed and merged
- Delete the branch
- Pull the latest changes from the main repository
- Delete the fork
Bugs are also reported through the Galaxe Discord server and can be linked to the issue.
Pull requests are accepted with the following process:
- Builds must pass
- Code must be formatted using the Google Java Style Guide
- We use Spotless to enforce this
- You can run
./gradlew spotlessApply
to automatically format your code
- CodeQL must pass
- Qodana must pass
- Manual review must be completed by two maintainers or from
@galaxetv/crew
Pull requests should be descriptive and be clearly documented. Pull requests should be small and concise.
Documentation is generated using Javadoc. Documentation should be added to all public methods and classes.
To validate changes to the plugin, we will be using this plugin on a test server. This is after the pull request has been merged.
This will help us to ensure that the plugin is working as intended, and if we catch any issues we can resolve before making a release and pushing to the production server.