Contributing
Contributions are welcome — bug reports, feature ideas, docs fixes, and pull requests alike.
Before you start
Section titled “Before you start”- Read the Code of Conduct.
- For anything security-sensitive, see the Security policy. Do not file a public issue for vulnerabilities.
- For bugs and features, open an issue first. A five-minute discussion beats a rejected PR.
Dev setup
Section titled “Dev setup”Java 21, Maven, Docker (for Testcontainers).
git clone https://github.com/Samehadar/orinuno.gitcd orinunomvn verify # compile + run tests (Testcontainers needs Docker)Full instructions live in Quick Start and Prerequisites.
Pull request flow
Section titled “Pull request flow”- Fork, branch off
master. - Make the change, keep the diff focused.
- Open a PR; the template asks for a one-line Why.
- Wait for CI to go green (build, tests, CodeQL).
- The maintainer reviews, requests changes if needed, and merges.
Small PRs land faster than big ones.
Commit messages
Section titled “Commit messages”We use Conventional Commits. The PR title becomes the squashed commit, so this matters for the PR title as well:
feat(parse): add filter by release yearfix(decoder): handle missing translation_id gracefullychore(deps): bump testcontainers to 1.22.0docs: clarify how to run live integration testsA few don’ts
Section titled “A few don’ts”- Don’t commit secrets (tokens,
.env, credentials). The repo has push protection enabled, but human review is the last line. - Don’t rename core modules, entities, or public API fields without flagging it in the issue first — downstream consumers depend on them.
- Don’t pile multiple unrelated changes into one PR; split them.