Contributing
CONTRIBUTING.md at the repository root is the single source of truth for the contribution workflow. This page summarizes it.
Where to Contribute
- Bug reports: Open an issue
- Questions and ideas: Start a discussion
- Security reports: Follow SECURITY.md — do not open a public issue
- Code and documentation changes: Open a pull request (see below)
Pull Requests
Pull requests are welcome. The workflow, documented in full in CONTRIBUTING.md:
- Branch from
main; keep branches short-lived and rebase (don't merge) to update againstmain. - Give the PR a Conventional Commits title (
type(scope): subject) and link any related issue. - Work through the pre-merge checklist: lint, typecheck,
make docker-test, ≥90% coverage on changed lines, an Alembic migration if SQLModel metadata changed, SPDX headers on new files, and doc updates if a rule or behavior shifted. - Pass CI.
For larger changes, open an issue or discussion first describing the problem and the change you recommend — it avoids wasted work if the direction needs adjusting.
Note: the public repository is published from an upstream development workspace, so maintainers may apply your accepted change there and merge it indirectly rather than via the GitHub merge button.
CLA
Code contributions require a one-time Contributor License Agreement. When you open your first pull request, a maintainer will confirm whether your CLA is already on file and, if not, ask you to complete it before merge. See CONTRIBUTING.md and CLA.md in the repository root.
Documentation Feedback
For documentation issues, include the page URL and the section heading. Small corrections are welcome as issues; larger documentation proposals are easier to handle as discussions first.