For humans and LLM agents writing CORA code, and for code reviewers. Not a tutorial. The rules to honor when modifying CORA so the codebase doesn't drift. If the code disagrees with this page, the code is wrong. For collaboration on the design (not the code), see Contributing.
-
:material-source-branch:{ .lg .middle } Workflow
Reading order, commits, branch flow, migrations, tests.
-
:material-file-tree-outline:{ .lg .middle } Layout
BC structure, imports, naming, bootstrap, shared code.
-
:material-graph-outline:{ .lg .middle } Modeling
Event sourcing, value objects, field grouping.
-
:material-hand-back-right-outline:{ .lg .middle } Affordances
The closed 30-value vocabulary of device primitives, and the two naming patterns behind it.
-
:material-puzzle-outline:{ .lg .middle } Patterns
Read side, query slices, projections, idempotency, cross-aggregate validation.
-
:material-ruler-square-compass:{ .lg .middle } Conventions
Identifiers, units of measurement, personal data, schema-validated values.
-
:material-tag-text-outline:{ .lg .middle } Naming
The R1-R6 rules for naming aggregates, events, commands, slices, and Families.
-
:material-rocket-launch-outline:{ .lg .middle } Runtime
Production hardening, logging, HTTP errors.
-
:material-book-alphabet:{ .lg .middle } Glossary
Terms defined once and used the same way in code, commits, and prose.
-
:material-handshake-outline:{ .lg .middle } Contributing
What this project is and isn't asking for. Beamline collaborators welcome; drive-by code PRs not.