Thanks for taking the time to contribute.
- Use Java 21 and Maven.
- Make sure you can run a local compile and test pass.
- If your change affects runtime behavior, test it in a Velocity environment.
git clone <repo-url>
cd ServerFeatures
mvn -q -DskipTests compile- Create a branch from
main. - Keep the change focused on one clear problem.
- Add or update tests with the code change.
- Run local checks before opening a PR.
- Update docs when operator behavior or configuration expectations change.
Minimum checks:
mvn -q -DskipTests compile
mvn -q testRecommended before merge:
mvn -B verify
mvn -B -DskipTests checkstyle:check- Use a clear title and summary.
- Explain what changed and why.
- Call out configuration or migration impact.
- Link related issues where relevant.
- Keep commits readable and review-friendly.
- Prefer clear, explicit code over clever shortcuts.
- Keep feature boundaries clean.
- Handle malformed input safely.
- Avoid blocking critical paths with long-running work.
- Log failures in a way operators can act on.
Do not report vulnerabilities in public issues. Follow SECURITY.md for private reporting.