Thanks for contributing.
- Java 21
- Maven 3.9+
- Local Velocity and/or Bukkit/Paper environment for manual validation
- Optional local MySQL, MongoDB, and Redis instances for integration checks
git clone git@github.com:HauntedMC/DataProvider.git
cd DataProvider
mvn -q -DskipTests compilesrc/main/java: implementationsrc/main/resources: default plugin/database configurationsrc/test/java: unit tests (mirrors runtime packages)docs/: developer and operational documentation.github/: CI workflows, issue templates, PR template
- Branch from
main. - Keep commits focused and easy to review.
- Use clear commit messages:
type: summary.
Examples:
fix: prevent stale provider reuse after disconnectdocs: add release and configuration guides
- Prefer Optional-first helper APIs over nullable/cast-heavy call sites.
- Keep platform integration thin and reuse shared internal components.
- Ensure registration and cleanup paths remain lifecycle-safe.
- Treat external IO and payload parsing as untrusted; fail safely.
- Keep logs actionable and avoid leaking secrets/credentials.
Minimum:
mvn -q -DskipTests compile
mvn -q testRecommended:
mvn -B verify
mvn -B -DskipTests checkstyle:check- Fill out the PR template.
- Link related issues.
- Document API/config changes and migration notes when relevant.
- Add or update tests for behavior changes.
- Update docs when behavior or setup changes.
Do not open public issues for vulnerabilities. Use the process in SECURITY.md.