🎉 First off, thanks for taking the time to contribute! 👍
If you found a bug or an unexpected behevior then please create a new issue. Before creating an issue, make sure that there is no issue yet. Any information you provide in the issue, helps to solve it.
If you have an idea how to improve the project then please create a new issue. Describe your idea and the motivation behind it.
Please note that this is a community-driven project. The maintainers may have not much time to implement new features if they don't benefit directly from it. So, think about providing a pull request.
You want to provide a bug fix or an improvement? Great! 🎉
Before opening a pull request, make sure that there is a related issue. The issue helps to confirm that the behavior is unexpected, or the idea of the improvement is valid. (Following the rule "Talk, then code")
In order to verify that you don't break anything, you should build the whole project and run all tests. This also apply the code formatting.
Please note that this is a community-driven project. The maintainers may have no time to review your pull request immediately. Stay patient!
You can build the project with Maven.
In the root directory:
Run the tests with
mvn test
Build the JAR files with
mvn clean install
The Java code should be formatted using Google's Java Format.
Commit messages should follow the Conventional Commits format.
For example:
feat(engine): move back in time
* expose an API to move back in time
* ...
Available commit types:
feat
- enhancements, new featuresfix
- bug fixesrefactor
- non-behavior changestest
- only changes in testsdocs
- changes in the documentation, readme, etc.style
- apply code stylesbuild
- changes to the build (e.g. to Maven'spom.xml
)ci
- changes to the CI (e.g. to GitHub related configs)