Skip to content

Contributing

Contributions are welcome — bug reports, feature ideas, docs fixes, and pull requests alike.

  • 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.

Java 21, Maven, Docker (for Testcontainers).

Terminal window
git clone https://github.com/Samehadar/orinuno.git
cd orinuno
mvn verify # compile + run tests (Testcontainers needs Docker)

Full instructions live in Quick Start and Prerequisites.

  1. Fork, branch off master.
  2. Make the change, keep the diff focused.
  3. Open a PR; the template asks for a one-line Why.
  4. Wait for CI to go green (build, tests, CodeQL).
  5. The maintainer reviews, requests changes if needed, and merges.

Small PRs land faster than big ones.

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 year
fix(decoder): handle missing translation_id gracefully
chore(deps): bump testcontainers to 1.22.0
docs: clarify how to run live integration tests
  • 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.