First off, thank you for taking the time to contribute! 👍 🎉
If you believe there is an issue, search through existing issues for this project trying a few different ways to find discussions, past or current, that are related to the issue. Reading those discussions helps you to learn about the issue, and helps us to make a decision.
Reporting an issue or making a feature request is a great way to contribute. Your feedback and the conversations that result from it provide a continuous flow of ideas. However, before creating a ticket, please take the time to ask and research first.
Once you're ready, create an issue on the module.
To contribute to this project, please fork the repository and submit a pull request with your changes. Please ensure that your changes adhere to the following guidelines:
- Code should follow the conventions.
- All code should be well-documented.
- All new functionality should be covered by tests.
- Changes should not break existing functionality.
-
Always check out the
main
branch and submit pull requests against it. -
Choose the granularity of your commits consciously and squash commits that represent multiple edits or corrections of the same logical change. See Rewriting History section of Pro Git for an overview of streamlining the commit history.
-
Format commit messages using 55 characters for the subject line, 72 characters per line for the description, followed by the issue fixed, e.g.
Closes gh-12279
. See the Commit Guidelines section of Pro Git for best practices around commit messages, and usegit log
to see some examples. -
If there is a prior issue, reference the GitHub issue number in the description of the pull request.
Helping to review pull requests is another great way to contribute. Your feedback can help to shape the implementation of new features. When reviewing pull requests, however, please refrain from approving or rejecting a PR unless you are a core committer for this project.
Please follow the Google Java Style Guide when writing Java code for this project. You can also import the Intellij IDEA code style configuration file for Java from here.