Contributions welcome!
- You will need a GitHub account
- Create an issue in this GitHub repo for your issue, if one does not yet exist
- Describe the issue and include steps to reproduce if it's a bug.
- Ensure to mention the earliest version that you know it affects.
- If you are able and want to fix this, fork the repository on GitHub
- In your forked repository, create a feature branch for your upcoming patch. (e.g.
feature/issue-22-enhance-four-candles
orbugfix/issue-42-crash-when-laughing
)- Usually this is based on the main branch.
- Create a branch based on main;
git checkout main
git checkout -b feature/issue-22-enhance-four-candles
- Please avoid working directly on the
main
branch.
- Make sure you stick to the coding style that is used already.
- The project uses Spotless to maintain a consistent code styling.
- Run
./gradlew format
to format the code.
- Make commits of logical units and describe them properly.
- Submit tests to your patch / new feature, so it can be tested easily.
- Before submitting run
./gradlew format static test coverage
:- Running
./gradlew format
will ensure the code is correctly formatted. - Running
./gradlew static
will run static code analysis. - Running
./gradlew test
will run all the tests. - Running
./gradlew coverage
will produce a code coverage report in<project-roo>/build/reports/jacoco/coverage/html/index.html>
- Running
- Push your changes to a feature branch in your fork of the repository.
- Open a pull request, also known as a PR, to merge the changes from your branch into the main branch.
- Don't forget to link your PR to the issue if you are solving one.
- Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
- Ensure all checks pass on the pull request.
- Once you submit your PR, a team member will review your proposal. We may ask questions or request additional information. We may ask for changes to be made before a PR can be merged, either using suggested changes or pull request comments.
- As you update your PR and apply changes, mark each conversation as resolved.