@mstar-harness/omp 3.6.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +63 -0
  2. package/agents/architect.md +35 -0
  3. package/agents/code-reviewer.md +90 -0
  4. package/agents/frontend-dev.md +33 -0
  5. package/agents/fullstack-dev-2.md +33 -0
  6. package/agents/fullstack-dev.md +33 -0
  7. package/agents/ops-engineer.md +33 -0
  8. package/agents/product-manager.md +35 -0
  9. package/agents/project-manager.md +32 -0
  10. package/agents/prompt-engineer.md +33 -0
  11. package/agents/qa-engineer.md +35 -0
  12. package/agents/qc-specialist-2.md +62 -0
  13. package/agents/qc-specialist-3.md +62 -0
  14. package/agents/qc-specialist.md +62 -0
  15. package/agents/writing-specialist.md +35 -0
  16. package/assets/icon.png +0 -0
  17. package/assets/logo-dark.png +0 -0
  18. package/assets/logo-dark.svg +6 -0
  19. package/assets/logo.png +0 -0
  20. package/assets/logo.svg +6 -0
  21. package/commands/amazing-pr-review.md +31 -0
  22. package/commands/codebase-audit.md +40 -0
  23. package/commands/iteration-drive.md +48 -0
  24. package/commands/iteration-loop.md +99 -0
  25. package/commands/iteration-start.md +122 -0
  26. package/dist/hooks/pre/mstar-gates.js +6579 -0
  27. package/dist/tools/mstar_dispatch_validate/index.js +6291 -0
  28. package/dist/tools/mstar_iteration_gate/index.js +6321 -0
  29. package/dist/tools/mstar_lease_verify/index.js +6343 -0
  30. package/dist/tools/mstar_path_resolve/index.js +6297 -0
  31. package/dist/tools/mstar_status_validate/index.js +6402 -0
  32. package/dist/tools/mstar_worktree_check/index.js +6343 -0
  33. package/harness-agents/architect.md +35 -0
  34. package/harness-agents/code-reviewer.md +90 -0
  35. package/harness-agents/frontend-dev.md +33 -0
  36. package/harness-agents/fullstack-dev-2.md +33 -0
  37. package/harness-agents/fullstack-dev.md +33 -0
  38. package/harness-agents/ops-engineer.md +33 -0
  39. package/harness-agents/product-manager.md +35 -0
  40. package/harness-agents/project-manager.md +32 -0
  41. package/harness-agents/prompt-engineer.md +33 -0
  42. package/harness-agents/qa-engineer.md +35 -0
  43. package/harness-agents/qc-specialist-2.md +62 -0
  44. package/harness-agents/qc-specialist-3.md +62 -0
  45. package/harness-agents/qc-specialist.md +62 -0
  46. package/harness-agents/writing-specialist.md +35 -0
  47. package/harness-commands/amazing-pr-review.md +31 -0
  48. package/harness-commands/codebase-audit.md +40 -0
  49. package/harness-commands/iteration-drive.md +48 -0
  50. package/harness-commands/iteration-loop.md +99 -0
  51. package/harness-commands/iteration-start.md +122 -0
  52. package/harness-skills/grill-me/SKILL.md +10 -0
  53. package/harness-skills/mstar-artifacts/SKILL.md +66 -0
  54. package/harness-skills/mstar-artifacts/references/knowledge-and-designs.md +110 -0
  55. package/harness-skills/mstar-artifacts/references/plan-files-and-reports.md +98 -0
  56. package/harness-skills/mstar-artifacts/references/plan-quality-bar.md +99 -0
  57. package/harness-skills/mstar-artifacts/references/status-and-residuals.md +472 -0
  58. package/harness-skills/mstar-artifacts/templates/README.md +7 -0
  59. package/harness-skills/mstar-artifacts/templates/plan.main.md +54 -0
  60. package/harness-skills/mstar-artifacts/templates/status.empty.json +5 -0
  61. package/harness-skills/mstar-audit/SKILL.md +151 -0
  62. package/harness-skills/mstar-audit/references/audit-playbook.md +175 -0
  63. package/harness-skills/mstar-audit/references/codebase-audit.md +103 -0
  64. package/harness-skills/mstar-audit/references/finding-format.md +69 -0
  65. package/harness-skills/mstar-audit/references/pr-review-seat-evidence.md +28 -0
  66. package/harness-skills/mstar-audit/references/pr-review.md +475 -0
  67. package/harness-skills/mstar-audit/references/security-review.md +219 -0
  68. package/harness-skills/mstar-branch-worktree/SKILL.md +236 -0
  69. package/harness-skills/mstar-branch-worktree/references/parallel-writable-pre-dispatch.md +68 -0
  70. package/harness-skills/mstar-coding-behavior/SKILL.md +167 -0
  71. package/harness-skills/mstar-compound/SKILL.md +109 -0
  72. package/harness-skills/mstar-compound/assets/resolution-template.md +94 -0
  73. package/harness-skills/mstar-compound/references/category-mapping.md +37 -0
  74. package/harness-skills/mstar-compound/references/compound-workflow.md +171 -0
  75. package/harness-skills/mstar-compound/references/concepts-vocabulary.md +44 -0
  76. package/harness-skills/mstar-compound/references/schema.yaml +122 -0
  77. package/harness-skills/mstar-compound-refresh/SKILL.md +154 -0
  78. package/harness-skills/mstar-compound-refresh/references/project-knowledge-bootstrap.md +164 -0
  79. package/harness-skills/mstar-conventions/SKILL.md +215 -0
  80. package/harness-skills/mstar-conventions/references/artifact-storage-paths.md +53 -0
  81. package/harness-skills/mstar-conventions/references/effort-estimation.md +38 -0
  82. package/harness-skills/mstar-conventions/references/harness-bootstrap-and-agents-layering.md +96 -0
  83. package/harness-skills/mstar-design-md/SKILL.md +142 -0
  84. package/harness-skills/mstar-design-md/references/completeness-checklist.md +181 -0
  85. package/harness-skills/mstar-design-md/references/design-md-spec.md +508 -0
  86. package/harness-skills/mstar-design-md/references/vercel-example.md +200 -0
  87. package/harness-skills/mstar-design-md/templates/DESIGN.dark.md.template +354 -0
  88. package/harness-skills/mstar-design-md/templates/DESIGN.md.template +474 -0
  89. package/harness-skills/mstar-dispatch-gates/SKILL.md +134 -0
  90. package/harness-skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +23 -0
  91. package/harness-skills/mstar-engine-legacy/SKILL.md +53 -0
  92. package/harness-skills/mstar-engine-legacy/references/anti-recursion-checklists.md +58 -0
  93. package/harness-skills/mstar-engine-legacy/references/engine-check-boilerplate.md +26 -0
  94. package/harness-skills/mstar-engine-legacy/references/lease-protocol.md +92 -0
  95. package/harness-skills/mstar-engine-legacy/references/qc-seat-n-restatements.md +57 -0
  96. package/harness-skills/mstar-engine-legacy/references/status-field-history.md +186 -0
  97. package/harness-skills/mstar-harness-core/SKILL.md +196 -0
  98. package/harness-skills/mstar-host/SKILL.md +96 -0
  99. package/harness-skills/mstar-host/references/_shared/host-role-binding-core.md +51 -0
  100. package/harness-skills/mstar-host/references/_shared/plan-mode-bridge-core.md +91 -0
  101. package/harness-skills/mstar-host/references/codex.md +61 -0
  102. package/harness-skills/mstar-host/references/cursor-plan-mode-bridge.md +170 -0
  103. package/harness-skills/mstar-host/references/cursor.md +183 -0
  104. package/harness-skills/mstar-host/references/dsh.md +507 -0
  105. package/harness-skills/mstar-host/references/kimi-plan-mode-bridge.md +36 -0
  106. package/harness-skills/mstar-host/references/kimi.md +136 -0
  107. package/harness-skills/mstar-host/references/omp-plan-mode-bridge.md +32 -0
  108. package/harness-skills/mstar-host/references/omp.md +245 -0
  109. package/harness-skills/mstar-host/references/opencode.md +76 -0
  110. package/harness-skills/mstar-host/references/parallel-dispatch.md +68 -0
  111. package/harness-skills/mstar-host/references/zcode-plan-mode-bridge.md +36 -0
  112. package/harness-skills/mstar-host/references/zcode.md +129 -0
  113. package/harness-skills/mstar-iteration/SKILL.md +408 -0
  114. package/harness-skills/mstar-iteration/references/autonomous-direction-lock.md +90 -0
  115. package/harness-skills/mstar-iteration/references/command-shared-invariants.md +62 -0
  116. package/harness-skills/mstar-iteration/references/iteration-artifact-boundaries.md +103 -0
  117. package/harness-skills/mstar-iteration/references/iteration-compass-template.md +142 -0
  118. package/harness-skills/mstar-iteration/references/iteration-corpus-hygiene.md +45 -0
  119. package/harness-skills/mstar-iteration/references/iteration-workspace-readme-template.md +27 -0
  120. package/harness-skills/mstar-iteration/references/phase-2-worktree-lease.md +205 -0
  121. package/harness-skills/mstar-iteration/references/phase-3-iteration-close.md +105 -0
  122. package/harness-skills/mstar-iteration/references/phase-4-5-pr-delivery.md +85 -0
  123. package/harness-skills/mstar-iteration/references/phase5-helper-discovery.md +24 -0
  124. package/harness-skills/mstar-phase-gates/SKILL.md +118 -0
  125. package/harness-skills/mstar-project-governance/SKILL.md +119 -0
  126. package/harness-skills/mstar-review-qc/SKILL.md +76 -0
  127. package/harness-skills/mstar-review-qc/references/review-responsibility-boundaries.md +54 -0
  128. package/harness-skills/mstar-roles/SKILL.md +103 -0
  129. package/harness-skills/mstar-roles/references/_shared/leaf-executor-core.md +65 -0
  130. package/harness-skills/mstar-roles/references/architect.md +109 -0
  131. package/harness-skills/mstar-roles/references/code-reviewer.md +118 -0
  132. package/harness-skills/mstar-roles/references/frontend-dev.md +70 -0
  133. package/harness-skills/mstar-roles/references/fullstack-dev-shared.md +89 -0
  134. package/harness-skills/mstar-roles/references/ops-engineer.md +72 -0
  135. package/harness-skills/mstar-roles/references/product-manager.md +102 -0
  136. package/harness-skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +200 -0
  137. package/harness-skills/mstar-roles/references/project-manager/plan-management.md +59 -0
  138. package/harness-skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +56 -0
  139. package/harness-skills/mstar-roles/references/project-manager/qc-and-residuals.md +99 -0
  140. package/harness-skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +99 -0
  141. package/harness-skills/mstar-roles/references/project-manager.md +310 -0
  142. package/harness-skills/mstar-roles/references/prompt-engineer.md +65 -0
  143. package/harness-skills/mstar-roles/references/qa-engineer/acceptance-gate.md +62 -0
  144. package/harness-skills/mstar-roles/references/qa-engineer.md +71 -0
  145. package/harness-skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +104 -0
  146. package/harness-skills/mstar-roles/references/qc-specialist/report-template.md +88 -0
  147. package/harness-skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +44 -0
  148. package/harness-skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +57 -0
  149. package/harness-skills/mstar-roles/references/qc-specialist-shared.md +120 -0
  150. package/harness-skills/mstar-roles/references/writing-specialist.md +88 -0
  151. package/harness-skills/mstar-sdd/SKILL.md +137 -0
  152. package/harness-skills/mstar-sdd/references/file-handoffs.md +85 -0
  153. package/harness-skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
  154. package/harness-skills/mstar-sdd/references/implementer-prompt.md +56 -0
  155. package/harness-skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
  156. package/harness-skills/mstar-sdd/references/task-reviewer-prompt.md +53 -0
  157. package/harness-skills/mstar-skill-authoring/SKILL.md +182 -0
  158. package/harness-skills/mstar-skill-authoring/references/regression-fixation.md +46 -0
  159. package/harness-skills/mstar-skill-authoring/references/skillsbench-authoring.md +154 -0
  160. package/harness-skills/mstar-strategy/SKILL.md +114 -0
  161. package/harness-skills/pm/SKILL.md +40 -0
  162. package/hooks/pre/mstar-gates.js +6579 -0
  163. package/package.json +45 -0
  164. package/plugin.json +49 -0
  165. package/skills/grill-me/SKILL.md +10 -0
  166. package/skills/mstar-artifacts/SKILL.md +66 -0
  167. package/skills/mstar-artifacts/references/knowledge-and-designs.md +110 -0
  168. package/skills/mstar-artifacts/references/plan-files-and-reports.md +98 -0
  169. package/skills/mstar-artifacts/references/plan-quality-bar.md +99 -0
  170. package/skills/mstar-artifacts/references/status-and-residuals.md +472 -0
  171. package/skills/mstar-artifacts/templates/README.md +7 -0
  172. package/skills/mstar-artifacts/templates/plan.main.md +54 -0
  173. package/skills/mstar-artifacts/templates/status.empty.json +5 -0
  174. package/skills/mstar-audit/SKILL.md +151 -0
  175. package/skills/mstar-audit/references/audit-playbook.md +175 -0
  176. package/skills/mstar-audit/references/codebase-audit.md +103 -0
  177. package/skills/mstar-audit/references/finding-format.md +69 -0
  178. package/skills/mstar-audit/references/pr-review-seat-evidence.md +28 -0
  179. package/skills/mstar-audit/references/pr-review.md +475 -0
  180. package/skills/mstar-audit/references/security-review.md +219 -0
  181. package/skills/mstar-branch-worktree/SKILL.md +236 -0
  182. package/skills/mstar-branch-worktree/references/parallel-writable-pre-dispatch.md +68 -0
  183. package/skills/mstar-coding-behavior/SKILL.md +167 -0
  184. package/skills/mstar-compound/SKILL.md +109 -0
  185. package/skills/mstar-compound/assets/resolution-template.md +94 -0
  186. package/skills/mstar-compound/references/category-mapping.md +37 -0
  187. package/skills/mstar-compound/references/compound-workflow.md +171 -0
  188. package/skills/mstar-compound/references/concepts-vocabulary.md +44 -0
  189. package/skills/mstar-compound/references/schema.yaml +122 -0
  190. package/skills/mstar-compound-refresh/SKILL.md +154 -0
  191. package/skills/mstar-compound-refresh/references/project-knowledge-bootstrap.md +164 -0
  192. package/skills/mstar-conventions/SKILL.md +215 -0
  193. package/skills/mstar-conventions/references/artifact-storage-paths.md +53 -0
  194. package/skills/mstar-conventions/references/effort-estimation.md +38 -0
  195. package/skills/mstar-conventions/references/harness-bootstrap-and-agents-layering.md +96 -0
  196. package/skills/mstar-design-md/SKILL.md +142 -0
  197. package/skills/mstar-design-md/references/completeness-checklist.md +181 -0
  198. package/skills/mstar-design-md/references/design-md-spec.md +508 -0
  199. package/skills/mstar-design-md/references/vercel-example.md +200 -0
  200. package/skills/mstar-design-md/templates/DESIGN.dark.md.template +354 -0
  201. package/skills/mstar-design-md/templates/DESIGN.md.template +474 -0
  202. package/skills/mstar-dispatch-gates/SKILL.md +134 -0
  203. package/skills/mstar-dispatch-gates/references/leaf-executor-checklist.md +23 -0
  204. package/skills/mstar-engine-legacy/SKILL.md +53 -0
  205. package/skills/mstar-engine-legacy/references/anti-recursion-checklists.md +58 -0
  206. package/skills/mstar-engine-legacy/references/engine-check-boilerplate.md +26 -0
  207. package/skills/mstar-engine-legacy/references/lease-protocol.md +92 -0
  208. package/skills/mstar-engine-legacy/references/qc-seat-n-restatements.md +57 -0
  209. package/skills/mstar-engine-legacy/references/status-field-history.md +186 -0
  210. package/skills/mstar-harness-core/SKILL.md +196 -0
  211. package/skills/mstar-host/SKILL.md +96 -0
  212. package/skills/mstar-host/references/_shared/host-role-binding-core.md +51 -0
  213. package/skills/mstar-host/references/_shared/plan-mode-bridge-core.md +91 -0
  214. package/skills/mstar-host/references/codex.md +61 -0
  215. package/skills/mstar-host/references/cursor-plan-mode-bridge.md +170 -0
  216. package/skills/mstar-host/references/cursor.md +183 -0
  217. package/skills/mstar-host/references/dsh.md +507 -0
  218. package/skills/mstar-host/references/kimi-plan-mode-bridge.md +36 -0
  219. package/skills/mstar-host/references/kimi.md +136 -0
  220. package/skills/mstar-host/references/omp-plan-mode-bridge.md +32 -0
  221. package/skills/mstar-host/references/omp.md +245 -0
  222. package/skills/mstar-host/references/opencode.md +76 -0
  223. package/skills/mstar-host/references/parallel-dispatch.md +68 -0
  224. package/skills/mstar-host/references/zcode-plan-mode-bridge.md +36 -0
  225. package/skills/mstar-host/references/zcode.md +129 -0
  226. package/skills/mstar-iteration/SKILL.md +408 -0
  227. package/skills/mstar-iteration/references/autonomous-direction-lock.md +90 -0
  228. package/skills/mstar-iteration/references/command-shared-invariants.md +62 -0
  229. package/skills/mstar-iteration/references/iteration-artifact-boundaries.md +103 -0
  230. package/skills/mstar-iteration/references/iteration-compass-template.md +142 -0
  231. package/skills/mstar-iteration/references/iteration-corpus-hygiene.md +45 -0
  232. package/skills/mstar-iteration/references/iteration-workspace-readme-template.md +27 -0
  233. package/skills/mstar-iteration/references/phase-2-worktree-lease.md +205 -0
  234. package/skills/mstar-iteration/references/phase-3-iteration-close.md +105 -0
  235. package/skills/mstar-iteration/references/phase-4-5-pr-delivery.md +85 -0
  236. package/skills/mstar-iteration/references/phase5-helper-discovery.md +24 -0
  237. package/skills/mstar-phase-gates/SKILL.md +118 -0
  238. package/skills/mstar-project-governance/SKILL.md +119 -0
  239. package/skills/mstar-review-qc/SKILL.md +76 -0
  240. package/skills/mstar-review-qc/references/review-responsibility-boundaries.md +54 -0
  241. package/skills/mstar-roles/SKILL.md +103 -0
  242. package/skills/mstar-roles/references/_shared/leaf-executor-core.md +65 -0
  243. package/skills/mstar-roles/references/architect.md +109 -0
  244. package/skills/mstar-roles/references/code-reviewer.md +118 -0
  245. package/skills/mstar-roles/references/frontend-dev.md +70 -0
  246. package/skills/mstar-roles/references/fullstack-dev-shared.md +89 -0
  247. package/skills/mstar-roles/references/ops-engineer.md +72 -0
  248. package/skills/mstar-roles/references/product-manager.md +102 -0
  249. package/skills/mstar-roles/references/project-manager/dispatch-and-assignment.md +200 -0
  250. package/skills/mstar-roles/references/project-manager/plan-management.md +59 -0
  251. package/skills/mstar-roles/references/project-manager/qa-trigger-matrix.md +56 -0
  252. package/skills/mstar-roles/references/project-manager/qc-and-residuals.md +99 -0
  253. package/skills/mstar-roles/references/project-manager/routing-and-dev-allocation.md +99 -0
  254. package/skills/mstar-roles/references/project-manager.md +310 -0
  255. package/skills/mstar-roles/references/prompt-engineer.md +65 -0
  256. package/skills/mstar-roles/references/qa-engineer/acceptance-gate.md +62 -0
  257. package/skills/mstar-roles/references/qa-engineer.md +71 -0
  258. package/skills/mstar-roles/references/qc-specialist/deep-review-lenses.md +104 -0
  259. package/skills/mstar-roles/references/qc-specialist/report-template.md +88 -0
  260. package/skills/mstar-roles/references/qc-specialist/reviewer-checklist.md +44 -0
  261. package/skills/mstar-roles/references/qc-specialist/reviewer-workflow.md +57 -0
  262. package/skills/mstar-roles/references/qc-specialist-shared.md +120 -0
  263. package/skills/mstar-roles/references/writing-specialist.md +88 -0
  264. package/skills/mstar-sdd/SKILL.md +137 -0
  265. package/skills/mstar-sdd/references/file-handoffs.md +85 -0
  266. package/skills/mstar-sdd/references/implementer-continuation-prompt.md +44 -0
  267. package/skills/mstar-sdd/references/implementer-prompt.md +56 -0
  268. package/skills/mstar-sdd/references/sticky-implementer-session.md +103 -0
  269. package/skills/mstar-sdd/references/task-reviewer-prompt.md +53 -0
  270. package/skills/mstar-skill-authoring/SKILL.md +182 -0
  271. package/skills/mstar-skill-authoring/references/regression-fixation.md +46 -0
  272. package/skills/mstar-skill-authoring/references/skillsbench-authoring.md +154 -0
  273. package/skills/mstar-strategy/SKILL.md +114 -0
  274. package/skills/pm/SKILL.md +40 -0
  275. package/tools/mstar_dispatch_validate.js +6291 -0
  276. package/tools/mstar_iteration_gate.js +6321 -0
  277. package/tools/mstar_lease_verify.js +6343 -0
  278. package/tools/mstar_path_resolve.js +6297 -0
  279. package/tools/mstar_status_validate.js +6402 -0
  280. package/tools/mstar_worktree_check.js +6343 -0
@@ -0,0 +1,508 @@
1
+ # DESIGN.md Normative Spec
2
+
3
+ This document defines the normative structure, token naming conventions, and rules for a properly formed `DESIGN.md` file. It is the single source of truth for what each section means and how tokens should be defined.
4
+
5
+ ## 1. File format
6
+
7
+ - Markdown (`.md`) with YAML frontmatter in project root
8
+ - UTF-8 encoding
9
+ - **YAML frontmatter** (`---` delimited block at top) contains structured, machine-readable token values
10
+ - **Markdown body** (everything after the `---` closing delimiter) contains human/agent-readable documentation, usage rules, and design intent
11
+ - Multi-theme: `DESIGN.md` (light/default) + `DESIGN.dark.md` (dark variant, same token names)
12
+
13
+ ## 1.5. YAML Frontmatter — Structured Token Store
14
+
15
+ The YAML frontmatter is the **single source of truth** for token values. The Markdown body is supplementary documentation. Tools and agents MUST parse the frontmatter for token resolution; the body prose explains intent and rules.
16
+
17
+ ### Version field
18
+
19
+ ```yaml
20
+ version: 0.1.0
21
+ ```
22
+
23
+ Format version identifier. Current value: `0.1.0`.
24
+
25
+ ### Name and description
26
+
27
+ ```yaml
28
+ name: "[Design System Name]"
29
+ description: "[Brief description, noting light/dark theme relationship]"
30
+ ```
31
+
32
+ ### Colors (`colors:`)
33
+
34
+ Flat map of token names to hex (or `oklch()` for P3) values. All scales are flat — not nested:
35
+
36
+ ```yaml
37
+ colors:
38
+ background-100: "#ffffff"
39
+ gray-1000: "#171717"
40
+ blue-700: "#006bff"
41
+ blue-700-p3: "oklch(57.61% 0.2508 258.23)"
42
+ ```
43
+
44
+ - Color token names follow the `{namespace}-{step}` convention (see §3)
45
+ - `*-p3` variants are optional wide-gamut equivalents in `oklch()` for Display P3 screens
46
+ - Alpha tokens use `#rrggbbaa` hex-with-alpha format (8 hex digits)
47
+ - All tokens are at the top level of `colors:` — no sub-grouping by family
48
+
49
+ ### Typography (`typography:`)
50
+
51
+ Map of tokens to structured sub-objects:
52
+
53
+ ```yaml
54
+ typography:
55
+ copy-16:
56
+ fontFamily: Geist Sans
57
+ fontSize: 16px
58
+ fontWeight: 400
59
+ lineHeight: 1.6
60
+ letterSpacing: 0
61
+ ```
62
+
63
+ Each typography token sub-object contains exactly five properties: `fontFamily`, `fontSize`, `fontWeight`, `lineHeight`, `letterSpacing`. Typography token names follow the `{role}-{size}` convention (see §3).
64
+
65
+ ### Spacing (`spacing:`)
66
+
67
+ Flat map of numeric keys to pixel values:
68
+
69
+ ```yaml
70
+ spacing:
71
+ base: 4px
72
+ 1: 4px
73
+ 2: 8px
74
+ 3: 12px
75
+ 4: 16px
76
+ 6: 24px
77
+ 8: 32px
78
+ 10: 40px
79
+ 16: 64px
80
+ 24: 96px
81
+ ```
82
+
83
+ - `base` declares the base unit (typically `4px` or `8px`)
84
+ - Numeric keys are multipliers on the base unit
85
+
86
+ ### Border radius (`rounded:`)
87
+
88
+ Flat map of semantic keys to pixel values:
89
+
90
+ ```yaml
91
+ rounded:
92
+ sm: 6px
93
+ md: 12px
94
+ lg: 16px
95
+ full: 9999px
96
+ ```
97
+
98
+ ### Components (`components:`)
99
+
100
+ Map of component variant names to structured sub-objects. Values reference other frontmatter keys using `{path}` syntax:
101
+
102
+ ```yaml
103
+ components:
104
+ button-primary:
105
+ backgroundColor: "{colors.gray-1000}"
106
+ textColor: "{colors.background-100}"
107
+ typography: "{typography.button-14}"
108
+ rounded: "{rounded.sm}"
109
+ padding: "0 10px"
110
+ height: 40px
111
+ ```
112
+
113
+ - `{colors.X}` resolves to the value of `colors.X` in the same file's frontmatter
114
+ - `{typography.X}` resolves to the typography object (not a single value — consumers use the full object)
115
+ - `{rounded.X}` resolves to the border-radius value
116
+ - Direct values (like `"#ffffff"` or `40px`) are literal and do not reference other keys
117
+
118
+ ### Completeness level in frontmatter
119
+
120
+ The frontmatter always contains the full key structure for every level. Level 2+ keys that are not yet filled are YAML-commented out with `# LEVEL2_PLACEHOLDER:` comments. The audit workflow (see `completeness-checklist.md`) checks which keys are active (uncommented) vs. placeholder (commented or containing `[LEVEL` / placeholder values).
121
+
122
+ ### Frontmatter vs. body contract
123
+
124
+ | Aspect | Frontmatter (YAML) | Body (Markdown) |
125
+ |--------|-------------------|-----------------|
126
+ | Token values | **SSOT** — parse here | Descriptive prose referencing tokens |
127
+ | Color hex values | All active tokens here | Explanation of scale intent, usage rules |
128
+ | Typography specs | Exact CSS properties | Role descriptions, intent encoding |
129
+ | Spacing scale | Exact pixel values | Rhythm rules, usage patterns |
130
+ | Component tokens | Variants with references | State rules, size descriptions, focus patterns |
131
+ | Elevation | N/A (body-only) | box-shadow values per element |
132
+ | Motion | N/A (body-only) | Duration and easing tables |
133
+ | Voice rules | N/A (body-only) | Copy conventions and examples |
134
+
135
+ ## 2. Section definitions
136
+
137
+ Each section below maps to one heading in `DESIGN.md`. Sections are ordered as shown in Vercel Geist (recommended), but projects may omit sections not yet relevant. Where a section has corresponding YAML frontmatter fields, the frontmatter holds the canonical values and the body provides documentation.
138
+
139
+ ### 2.1 Overview
140
+
141
+ **Purpose:** Declare the design system's identity — a short statement that grounds all downstream decisions.
142
+
143
+ **What to include:**
144
+ - Name of the design system
145
+ - Core aesthetic principles (e.g., minimal, high-contrast, playful)
146
+ - Primary audience (developer tools, consumer app, dashboard, etc.)
147
+ - Note whether this is a light theme, dark theme, or references another file for the opposite theme
148
+
149
+ **Example (minimal):**
150
+
151
+ ```
152
+ # Acme Design
153
+
154
+ Acme Design is a minimal, high-contrast design system for our developer dashboard.
155
+ Prioritize readability and signal state through color and iconography, not decoration.
156
+
157
+ This is the Light theme. The Dark theme lives at `/DESIGN.dark.md`.
158
+ ```
159
+
160
+ **Level relevance:** Level 1+
161
+
162
+ ### 2.2 Colors
163
+
164
+ **Purpose:** Define every color used in the UI, organized into scales.
165
+
166
+ **SSOT:** All concrete color values live in the frontmatter `colors:` map. The body prose below explains scale conventions and usage intent.
167
+
168
+ **Conventions:**
169
+ - Each color scale has 10 steps (`100`–`1000`), encoding intent:
170
+ - `100`: default background
171
+ - `200`: hover background
172
+ - `300`: active background
173
+ - `400`: default border
174
+ - `500`: hover border
175
+ - `600`: active border
176
+ - `700`: solid fill
177
+ - `800`: solid fill hover
178
+ - `900`: secondary text/icons
179
+ - `1000`: primary text/icons
180
+ - **Background scales** (`background-100`, `background-200`): page/card surfaces
181
+ - **Alpha scales** (`gray-alpha-*`): translucent overlays, borders, dividers — layer over any background; use `#rrggbbaa` hex-with-alpha or `rgba()` notation
182
+ - **Solid scales** (`gray-*`): text, opaque fills — hold contrast on any surface
183
+ - **Accent scales** (`blue`, `red`, `amber`, `green`, `teal`, `purple`, `pink`): carry meaning — success, error, warning, links, focus
184
+ - Accent scales may use fewer steps if not all needed
185
+
186
+ **Values:** sRGB hex (`#ffffff`), optionally with wide-gamut equivalents in `oklch()` as `*-p3` suffix keys.
187
+
188
+ **Example frontmatter:**
189
+
190
+ ```yaml
191
+ colors:
192
+ background-100: "#ffffff"
193
+ background-200: "#f5f5f5"
194
+ gray-100: "#f5f5f5"
195
+ gray-700: "#333333"
196
+ gray-1000: "#111111"
197
+ blue-700: "#0066ff"
198
+ red-700: "#e60000"
199
+ ```
200
+
201
+ **Level relevance:** Level 1+ requires at least background, text (gray-900/1000), and one accent (blue-700, red-700, amber-700) active in frontmatter. Level 2+ requires all color scales uncommented and filled.
202
+
203
+ ### 2.3 Typography
204
+
205
+ **Purpose:** Define font families, sizes, weights, line heights, and letter spacing for every text role.
206
+
207
+ **SSOT:** All concrete typography values live in the frontmatter `typography:` map. The body prose explains role semantics and usage intent.
208
+
209
+ **Conventions:**
210
+ - **Heading tokens** (`heading-72` through `heading-14`): title pages and section headings
211
+ - **Label tokens** (`label-20` through `label-12`): single-line scannable text — navigation, form labels, table headers
212
+ - **Copy tokens** (`copy-24` through `copy-13`): multi-line body text with taller line height
213
+ - **Button tokens** (`button-16` through `button-12`): medium-weight labels for buttons
214
+ - **Mono tokens**: same metrics with monospace font for code/data
215
+ - Each token carries: `fontFamily`, `fontSize`, `fontWeight`, `lineHeight`, `letterSpacing`
216
+ - Token name encodes intended font size (e.g., `copy-14` ≈ 14px body copy)
217
+ - Use tabular figures for numbers that need alignment
218
+
219
+ **Example frontmatter (minimal):**
220
+
221
+ ```yaml
222
+ typography:
223
+ heading-32:
224
+ fontFamily: Inter
225
+ fontSize: 32px
226
+ fontWeight: 600
227
+ lineHeight: 1.2
228
+ letterSpacing: -0.02em
229
+ copy-16:
230
+ fontFamily: Inter
231
+ fontSize: 16px
232
+ fontWeight: 400
233
+ lineHeight: 1.6
234
+ letterSpacing: 0
235
+ ```
236
+
237
+ **Level relevance:** Level 1+ requires at least one copy and one heading token active in frontmatter. Level 2+ requires heading, label, copy, and button typography tokens.
238
+
239
+ ### 2.4 Spacing & Layout
240
+
241
+ **Purpose:** Define the spatial grid and responsive breakpoints.
242
+
243
+ **SSOT:** Spacing scale values live in the frontmatter `spacing:` map. Border radius values live in `rounded:`. Breakpoints are documented in the body.
244
+
245
+ **Conventions:**
246
+ - Base unit: 4px or 8px (declared as `spacing.base` in frontmatter)
247
+ - Scale: `4, 8, 12, 16, 24, 32, 40, 64, 96` (on 4px) or equivalent on 8px
248
+ - Three-step rhythm: small inside group → medium between groups → large between sections
249
+ - Card padding: 24px default, 16px compact, 32px hero
250
+ - Content max-width with responsive side padding
251
+ - Breakpoints: provide explicit pixel values and names
252
+
253
+ **Example frontmatter:**
254
+
255
+ ```yaml
256
+ spacing:
257
+ base: 4px
258
+ 1: 4px
259
+ 2: 8px
260
+ 3: 12px
261
+ 4: 16px
262
+ 6: 24px
263
+ 8: 32px
264
+ 10: 40px
265
+ 16: 64px
266
+ 24: 96px
267
+
268
+ rounded:
269
+ sm: 6px
270
+ md: 12px
271
+ lg: 16px
272
+ full: 9999px
273
+ ```
274
+
275
+ **Level relevance:** Level 1+ requires `spacing.base` and at least 5 scale steps in frontmatter, plus at least 2 breakpoints in body.
276
+
277
+ ### 2.5 Elevation & Depth
278
+
279
+ **Purpose:** Define shadow values for layered UI elements.
280
+
281
+ **Conventions:**
282
+ - Use tonal surfaces first, shadows second — keep shadows subtle
283
+ - Define shadow values per elevation level: cards, popovers, modals
284
+ - Pair each elevation with a matching border radius
285
+
286
+ **Example:**
287
+
288
+ ```
289
+ ## Elevation
290
+
291
+ ### Shadows
292
+ | Level | Value |
293
+ |-------|-------|
294
+ | Card | 0 2px 2px rgba(0,0,0,0.04) |
295
+ | Popover | 0 1px 1px rgba(0,0,0,0.02), 0 4px 8px -4px rgba(0,0,0,0.04), 0 16px 24px -8px rgba(0,0,0,0.06) |
296
+ | Modal | 0 1px 1px rgba(0,0,0,0.02), 0 8px 16px -4px rgba(0,0,0,0.04), 0 24px 32px -8px rgba(0,0,0,0.06) |
297
+ ```
298
+
299
+ **Level relevance:** Level 3 only.
300
+
301
+ ### 2.6 Motion
302
+
303
+ **Purpose:** Define animation durations and easing curves.
304
+
305
+ **Conventions:**
306
+ - Motion clarifies change, never decorates
307
+ - Default: 0ms (instant) is often the best choice
308
+ - When needed: short, physical easing — roughly 150ms state, 200ms popover, 300ms modal
309
+ - Honor `prefers-reduced-motion`
310
+ - No looping or attention-grabbing animations
311
+
312
+ **Example:**
313
+
314
+ ```
315
+ ## Motion
316
+
317
+ ### Easing
318
+ Default: cubic-bezier(0.175, 0.885, 0.32, 1.1)
319
+
320
+ ### Durations
321
+ | Context | Duration |
322
+ |---------|----------|
323
+ | State change | 150ms |
324
+ | Popover/Tooltip | 200ms |
325
+ | Modal/Overlay | 300ms |
326
+ ```
327
+
328
+ **Level relevance:** Level 3 only.
329
+
330
+ ### 2.7 Shapes
331
+
332
+ **Purpose:** Define border radius values.
333
+
334
+ **Conventions:**
335
+ - Keep radii tight and consistent
336
+ - One radius family per view, never mix rounded and sharp corners
337
+ - Common values: 6px (surfaces), 12px (menus/modals), 16px (fullscreen), 9999px (pills)
338
+
339
+ **Example:**
340
+
341
+ ```
342
+ ## Shapes
343
+
344
+ ### Border Radius
345
+ | Context | Value |
346
+ |---------|-------|
347
+ | Surface, Input, Button | 6px |
348
+ | Menu, Modal, Popover | 12px |
349
+ | Fullscreen | 16px |
350
+ | Pill, Avatar | 9999px |
351
+ ```
352
+
353
+ **Level relevance:** Level 3 only.
354
+
355
+ ### 2.8 Components
356
+
357
+ **Purpose:** Define ready-to-use token values for common components.
358
+
359
+ **SSOT:** Component variant tokens live in the frontmatter `components:` map. Values reference other frontmatter keys using `{colors.X}`, `{typography.X}`, `{rounded.X}` syntax. The body prose documents state rules (hover/active/disabled/focus) and size variants.
360
+
361
+ **Conventions:**
362
+ - Each component variant gets: `backgroundColor`, `textColor`, `typography`, `rounded`, `height` (and `padding`, `borderColor` where applicable)
363
+ - Size variants: default (40px), small (32px), large (48px) — override only typography/padding/height
364
+ - State mappings: hover steps foreground up one, active steps up two; border from 400→500→600
365
+ - Focus ring: two-layer box-shadow (surface gap + accent ring)
366
+ - Disabled: 100 fill + 700 text + not-allowed cursor
367
+
368
+ **Example frontmatter:**
369
+
370
+ ```yaml
371
+ components:
372
+ button-primary:
373
+ backgroundColor: "{colors.gray-1000}"
374
+ textColor: "{colors.background-100}"
375
+ typography: "{typography.button-14}"
376
+ rounded: "{rounded.sm}"
377
+ padding: "0 10px"
378
+ height: 40px
379
+ button-secondary:
380
+ backgroundColor: "{colors.background-100}"
381
+ textColor: "{colors.gray-1000}"
382
+ typography: "{typography.button-14}"
383
+ rounded: "{rounded.sm}"
384
+ padding: "0 10px"
385
+ height: 40px
386
+ input:
387
+ backgroundColor: "{colors.background-100}"
388
+ textColor: "{colors.gray-1000}"
389
+ typography: "{typography.label-14}"
390
+ rounded: "{rounded.sm}"
391
+ padding: "0 12px"
392
+ height: 40px
393
+ ```
394
+
395
+ **Level relevance:** Level 2+ requires at least Button (primary, secondary) and Input tokens in frontmatter. Level 3 requires full component library.
396
+
397
+ ### 2.9 Voice & Content
398
+
399
+ **Purpose:** Define content writing rules for the UI.
400
+
401
+ **Conventions:**
402
+ - Title Case for labels, buttons, titles, tabs
403
+ - Sentence case for body, helper text, toasts
404
+ - Verb + Noun for actions (`Deploy Project`, never `Confirm`)
405
+ - Errors: what happened + what to do
406
+ - Toasts: specific thing + no trailing period + no `successfully`
407
+ - Empty states: describe the first action
408
+ - In-progress: present participle + ellipsis (`Deploying…`)
409
+ - Use numerals, curly quotes, the ellipsis character
410
+
411
+ **Example:**
412
+
413
+ ```
414
+ ## Voice & Content
415
+
416
+ - Use Title Case for labels, buttons, titles, and tabs
417
+ - Sentence case for body, helper text, and toasts
418
+ - Name actions with a verb and a noun: `Deploy Project`, `Delete Member`
419
+ - Write errors as what happened plus what to do next
420
+ - Toasts name the specific thing that changed, drop the trailing period
421
+ - Empty states point to the first action: `No deployments yet. Push to your Git repository to create one.`
422
+ ```
423
+
424
+ **Level relevance:** Level 3 only.
425
+
426
+ ## 3. Token naming conventions
427
+
428
+ ### Color tokens
429
+
430
+ ```
431
+ {namespace}-{step}
432
+ ```
433
+
434
+ - `namespace`: `background`, `gray`, `gray-alpha`, `blue`, `red`, `amber`, `green`, `teal`, `purple`, `pink`
435
+ - `step`: `100`–`1000` (10-step scale encoding intent as defined in §2.2)
436
+
437
+ ### Typography tokens
438
+
439
+ ```
440
+ {role}-{size}
441
+ ```
442
+
443
+ - `role`: `heading`, `label`, `copy`, `button`
444
+ - `size`: approximate font size in pixels
445
+ - Mono variant: `{role}-{size}-mono`
446
+
447
+ ### Breakpoint tokens
448
+
449
+ Lowercase short names: `sm`, `md`, `lg`, `xl`, `2xl`
450
+
451
+ ## 4. Light/Dark dual-theme rules
452
+
453
+ ### Contract
454
+
455
+ Dual theme uses **same token names with different values** in two separate files:
456
+
457
+ - `DESIGN.md` — light (or default) theme
458
+ - `DESIGN.dark.md` — dark theme
459
+
460
+ ### Rules
461
+
462
+ 1. **Token names are identical** across both files
463
+ 2. **Only the values differ** — a light `background-100: #ffffff` becomes dark `background-100: #111111`
464
+ 3. **Both files define the same token set** — no token can exist in only one file
465
+ 4. **DESIGN.md is always the SSOT for token names** — DESIGN.dark.md copies the structure
466
+ 5. If a token isn't relevant to dark mode (e.g., a light-only accent), include it in DESIGN.dark.md anyway with a sensible dark-equivalent value
467
+ 6. Add `DESIGN.dark.md` path reference in DESIGN.md Overview
468
+
469
+ ### Naming
470
+
471
+ Dark theme file must be named `DESIGN.dark.md` (not `design-dark.md` or `DESIGN_DARK.md`).
472
+
473
+ ## 5. Upgrade placeholders
474
+
475
+ Sections not yet filled should use HTML comment markers:
476
+
477
+ ```
478
+ <!-- LEVEL2_PLACEHOLDER: Complete the 10-step color scales and add alpha scale when the design matures. See `references/completeness-checklist.md` § Level 2. -->
479
+ ```
480
+
481
+ ```
482
+ <!-- LEVEL3_PLACEHOLDER: Add Elevation, Motion, Shapes, Voice & Content, and full Component library when ready for production design system. See `references/completeness-checklist.md` § Level 3. -->
483
+ ```
484
+
485
+ Agents encountering these placeholders understand that:
486
+ - The section is intentionally deferred, not accidentally empty
487
+ - The placeholder describes what's missing and when to revisit
488
+ - An upgrade workflow can detect these markers and recommend progression
489
+
490
+ ## 6. Mapping to implementation
491
+
492
+ DESIGN.md tokens should map to implementation as follows:
493
+
494
+ | DESIGN.md | Implementation |
495
+ |-----------|---------------|
496
+ | Frontmatter `colors:` | CSS custom properties (`--color-gray-100`) or theme object |
497
+ | Frontmatter `typography:` | CSS classes or Tailwind prose config |
498
+ | Frontmatter `spacing:` | CSS custom properties or Tailwind spacing config |
499
+ | Frontmatter `rounded:` | CSS custom properties or Tailwind radius config |
500
+ | Body breakpoints | CSS media queries or Tailwind screens |
501
+ | Frontmatter `components:` | Component prop defaults or CSS classes |
502
+ | Body elevation | `box-shadow` or Tailwind shadow config |
503
+ | Body motion | `transition` or animation library config |
504
+ | Body voice rules | Linter rules or prompt context for copy generation |
505
+
506
+ **Frontmatter references** in `components:` (e.g., `"{colors.gray-1000}"`) MUST be resolved by tracing the `{path}` back to the frontmatter key. For example, `"{colors.gray-1000}"` → `colors.gray-1000` → `"#171717"`.
507
+
508
+ The agent consuming DESIGN.md is responsible for frontmatter parsing and reference resolution, not DESIGN.md itself. DESIGN.md stays implementation-agnostic.