Contributing
StackRivet is open core, and contributions are welcome. This page is how changes are proposed and landed.
Repository layout
Section titled “Repository layout”| Repo | Contains |
|---|---|
stackrivet-server | Backend (Java / Spring Boot) |
stackrivet-admin-ui | Admin frontend (Vue 3) |
stackrivet-site | Public website and documentation |
Code lives in the code repos; public usage, contribution and engineering rules live in those repos and in this documentation site.
Proposal-first
Section titled “Proposal-first”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.
Governance gates
Section titled “Governance gates”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, PR, commit
Section titled “Branch, PR, commit”- 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 0A few firm rules
Section titled “A few firm rules”- Keep public docs in
stackrivet-siteand 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.
Reporting issues
Section titled “Reporting issues”Open an issue with the file path + section, the inconsistency or unclear point, and a minimal reproduction when possible.
See also the License.