Pure-markdown styleguide canon for dexpace. No build, no tests — verification is mechanical (grep/wc) plus read-through.
- Root
README.mddefines 12 cross-cutting rules + the priority order (correctness > performance > DX). Per-language guides restate them natively and extend a named canonical authority (Google/PEPs/Kotlin conventions); where guidance conflicts, the authority wins, except deviations recorded in each guide's ledger. kotlin/,python/,typescript/,csharp/,ruby/share an aligned 15-chapter spine (same number → same topic; 03 = the language-safety slot).go/predates the spine — it follows the chapter-format contract but keeps its own 13-chapter topic order; don't propagate its numbering to the spine families.- Extension guides (
kotlin-jvm/,typescript-bun/,typescript-react/) are additive: they never weaken a core rule; where stricter, they win for that runtime. Cross-reference core chapters, don't restate. The TS family is bun-first —bun install/bun test/Bun.buildare the defaults,tsc --noEmitis the typecheck gate (Bun never type-checks), and React keeps Vitest+MSW for component tests as a recorded substitution; the retired Node guide lives at tagnode-guide-final.
# NN — Title· scope paragraph ·## What good looks like(one fenced exemplar + paragraph citing rule numbers) ·## Ruleswith### N.M — imperative title.each carrying**Reasoning, step by step:**(numbered) +**Enforcement:**line, blank line after every###·## Cross-referenceslast, relative links must resolve.- Each guide README: authority chain, values, chapter index (exact filenames), rules restated natively, deviations ledger, and the verbatim closing
Perfection over technical debt — debt never gets paidexactly once. - Verify gates:
grep -c '^### '= chapter rule count ·grep -c '^## What good looks like'= 1 ·grep -c 'Reasoning, step by step'= rule count · code fences balanced (even count of triple-backtick lines).
- Examples must practice the guide's own rules — reviewers reject exemplars that break sibling chapters (no bare
aswithout a why-comment, no!, no enums/parameter properties (erasableSyntaxOnly), discriminated unions kept whole so narrowing works). - zod v4 top-level forms only:
z.email()/z.uuid()/z.url(), neverz.string().email()etc. - House voice: imperative, dense, zero filler; never stack two em-dash clauses in one sentence.
- Conventional Commits (
type(scope): description, imperative, ≤72-char subject); branchestype/short-description; squash/rebase pergit-and-code-review.md. - No
Co-Authored-Bytrailers — commits author as the repo owner only. - Specs in
docs/superpowers/specs/, plans indocs/superpowers/plans/.