Contribute
General guidelines
- If you want to contribute a bug fix or a new feature that isn't listed in the issues yet, please open a new issue for it and link it to your PR.
- A lot of Google's Best Practices for Java Libraries apply to this project as well.
- Keep the code compatible with the latest LTE Java version (Java 21 at the moment).
- Avoid adding new dependencies as much as possible. If absolutely necessary, try to use the same libraries which are already used in the project.
- Write unit and/or integration tests for your code.
- Avoid making breaking changes. Always keep backward compatibility in mind. Specially the described behavior in this documentation should not change.
- Follow existing naming conventions.
- Follow existing code style present in the project.
- Large features should be discussed with maintainers before implementation. Please ping @mhus in the comments on the issue.
Opening an issue
- Please fill in all sections of the issue template.
Opening a PR
- Link an issue to your PR if possible only small changes can be accepted without issue. In this case describe your changes in the PR.
- Fill in all the sections of the PR template.
- Make sure you've added tests if possible.
- Make sure you've added documentation where required.
- For new big features, make sure you've added integration tests and documentation.
- Please make it easier to review your PR:
- Keep changes as small as possible.
- Do not combine refactoring with changes in a single PR.
- Avoid reformatting existing code.
- Provide PR in separate branches. Do not mix multiple PRs in a single branch.
Guidelines for new features
- Use the existing entry points described in this documentation for new features. Do not add new entry points unless absolutely necessary.
- Try to enhance existing features instead of adding new ones.
- New features should be optional and should not change the behavior of existing features.
- It should be possible to integrate new features into existing code without changing the existing code.
- New features should be well documented.
- New features should be tested.
Guidelines for bug fixes
- Bug fixes should not change the behavior of existing features.
- Bug fixes should have an associated issue or a detailed description of the bug in the PR.
Additional contributions opportunities
It's also possible to enhance the snippets in the kt2l-snippet project.
The website is located in the branch gh-pages
and is generated by the dinosaur
project.