Contributing¶
We're glad to have you. The contribution loop is straightforward.
Workflow¶
- Open an issue first with a user story, success criteria, and a job-size guess. The maintainers triage and tag.
- Branch from
mainasfeature/<topic>orbugfix/<topic>. - Implement, run tests, run
clang-format. - Open a PR referencing the issue with GitHub's
fixes #Nsyntax. - CI runs Linux / macOS / Windows builds + the test suite.
- Maintainers review; address feedback; merge.
Commit conventions¶
feat: add foo
fix: bar no longer crashes when baz is empty
docs: clarify portal session lifetime
chore: bump dependency X
refactor: extract Y helper from Z
test: add coverage for the W code path
The version bump on main is driven by commit prefixes: feat → minor,
fix → patch, breaking change → major.
Code style¶
- C++ formatted with
clang-format. The project file is in the repo root. - No tabs.
- Headers use
#pragma once. - SPDX header on every source file:
// SPDX-FileCopyrightText:+// SPDX-License-Identifier:.
Where the spec lives¶
SPECIFICATION.md— high-level requirements and user stories.CHANGELOG.md— the canonical record of what changed in each release.docs/— the user-facing documentation site (this site).