Engineering Standards
Our principle here is “the linter is the standard.” Rules live as committed config enforced in CI, not as prose that rots. Humans and AI agents read the same enforced rules.
flowchart LR Config["Committed config<br/>EditorConfig · analyzers · ESLint · detekt · SwiftLint"] --> CI["Enforced in CI"] CI --> Human["Developers"] CI --> Agent["AI coding agents"]
A page here states a principle and points at the config that enforces it. If a rule could be enforced by a linter, a test, or a branch policy, that is where it belongs — not in a paragraph.
Who these apply to: a new repo complies on day one. An existing repo complies at its next major-version bump. The gap is a ticket, not an exception.
Standards
Section titled “Standards”Each standard is a thin page plus an Examples subpage holding the code that would otherwise bloat it.
| Page | What it covers | Code |
|---|---|---|
| .NET backend | The four committed config files, vertical slices, migration discipline, xUnit v3 | Examples |
| Angular + PrimeNG | Signals, one component library per app, RTL-first, Vitest, bundle budgets | Examples |
| Native mobile | Kotlin/Compose + Swift/SwiftUI, signing, versioning, Arabic-first layout | Examples |
| API design | One error shape, versioning, paging, idempotency, OpenAPI as the contract | Examples |
| Testing strategy | CI lanes, the diff-coverage gate, determinism, who writes which tests | Examples |
| ADRs | When a decision earns one; the template. ADRs live in each repo /docs/adr |
Examples |
| AI agent context | The per-build-unit AGENTS.md convention, size budget, human-drives boundary |
Examples |
Related, elsewhere
Section titled “Related, elsewhere”| Page | What it covers |
|---|---|
| Branching & PRs | GitHub Flow, branch and commit naming, the review policy |
| Pipelines & Environments | The PR gate list, the environment ladder, secrets |
| New Project Provisioning | The day-one repo checklist |