Feedback and contributions are welcome. If you find a bug or want a feature, please open an issue in this repository.
- Fork the repository
- Clone your fork
- Create a feature branch
- Make your changes
- Run checks locally:
make test
make build
make lint- Commit with a descriptive message
- Push your branch and open a Pull Request
-
Use the deterministic toolchain: Gradle Wrapper + Gradle Toolchains + Temurin.
-
Local Java is managed by mise/asdf via
.tool-versions(see below). The CI uses the same vendor. -
We pin major Java version in Gradle toolchain and CI; patch is logged in CI and bumped intentionally.
-
Keep PRs focused (one change per PR when possible).
-
Add tests for new behavior.
-
Update docs when you change workflows or endpoints.
-
Don’t commit secrets (use
.env, and keep.env.exampleup to date).
When reporting an issue, please include:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- OS, Java version, and how you’re running the app (
make dev,make run, etc.)