Skip to content

Contributing

StackRivet is open core, and contributions are welcome. This page is how changes are proposed and landed.

RepoContains
stackrivet-serverBackend (Java / Spring Boot)
stackrivet-admin-uiAdmin frontend (Vue 3)
stackrivet-sitePublic website and documentation

Code lives in the code repos; public usage, contribution and engineering rules live in those repos and in this documentation site.

For any feature, breaking change or cross-module work, open an issue or RFC before writing a large patch. The proposal should include:

  • Why this change matters.
  • What public API, schema, UI or behavior changes.
  • Non-goals, so the scope stays reviewable.
  • Verification steps: tests, screenshots, migration checks or API calls.

Accepted proposals should leave enough public context for external contributors to understand and review the change. Architectural decisions that affect public extension points should be documented in the relevant public repository or in this site.

Non-trivial changes must satisfy the public repository gates: engineering standards, contribution rules, tests and CI. The Engineering standards and AI guardrails summarize the same rules for humans and AI tools.

  • Branch: feature/<slug>, fix/<slug>, docs/<slug>, chore/<slug>. Lifespan ≤ 3 days.
  • PR ≤ 500 lines. Split larger work (e.g. “structural reflow” + “content rewrite”).
  • Commits follow Conventional Commits with a reproducible Verified: line:
feat(<scope>): <imperative subject ≤ 70 chars>
- what changed
- which issue/RFC is associated (if any)
Verified:
- mvn verify → 0 failures
- pnpm build → exit 0
  • Keep public docs in stackrivet-site and code-specific guidance in the code repos.
  • Don’t reference absolute machine paths — use repo-relative or sibling-repo paths so they stay reproducible.
  • Don’t remove public rules to make a patch easier; update the rule and explain why if the rule itself is wrong.

Open an issue with the file path + section, the inconsistency or unclear point, and a minimal reproduction when possible.

See also the License.