@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,200 @@
1
+ # Vercel Geist DESIGN.md — Annotated Reference
2
+
3
+ This is Vercel's Geist design system as published at `vercel.com/design.md`, presented as a reference for creating new DESIGN.md files. Annotations are inline as `> **Design note:**` blockquotes explaining the rationale behind key decisions.
4
+
5
+ **Source:** <https://vercel.com/design.md>
6
+
7
+ **Why this as reference:**
8
+ - Vercel's DESIGN.md is the canonical example of the `DESIGN.md` format in the `awesome-design-md` ecosystem
9
+ - It defines a complete Level 3 design system covering all sections
10
+ - The token naming conventions (100-1000 step scale with intent encoding) are widely adopted
11
+ - Light/Dark dual-theme pattern shows how to split same-name tokens across two files
12
+ - The YAML frontmatter + Markdown body split is the standard DESIGN.md file structure
13
+
14
+ ---
15
+
16
+ ## YAML Frontmatter: Structured Token Store
17
+
18
+ Vercel Geist DESIGN.md uses a YAML frontmatter block (`---` ... `---`) as the **single source of truth for token values**. The Markdown body below is human-readable documentation. Every DESIGN.md file must follow this pattern.
19
+
20
+ ### Frontmatter structure
21
+
22
+ ```yaml
23
+ ---
24
+ version: 0.1.0
25
+ name: Geist
26
+ description: Vercel's Geist design system, Light theme.
27
+ colors:
28
+ background-100: "#ffffff"
29
+ gray-1000: "#171717"
30
+ blue-700: "#006bff"
31
+ # … all color tokens as flat map …
32
+ typography:
33
+ copy-16:
34
+ fontFamily: Geist Sans
35
+ fontSize: 16px
36
+ fontWeight: 400
37
+ lineHeight: 1.6
38
+ letterSpacing: 0
39
+ # … all typography tokens with 5 properties each …
40
+ spacing:
41
+ base: 4px
42
+ 1: 4px
43
+ 2: 8px
44
+ # … full scale …
45
+ rounded:
46
+ sm: 6px
47
+ md: 12px
48
+ lg: 16px
49
+ full: 9999px
50
+ components:
51
+ button-primary:
52
+ backgroundColor: "{colors.gray-1000}"
53
+ textColor: "{colors.background-100}"
54
+ typography: "{typography.button-14}"
55
+ rounded: "{rounded.sm}"
56
+ padding: "0 10px"
57
+ height: 40px
58
+ # … all component variants referencing other frontmatter keys …
59
+ ---
60
+ ```
61
+
62
+ > **Design note:** The frontmatter-body split is fundamental to the DESIGN.md format. The frontmatter is structured, parseable data; the body is prose documentation. This is the same pattern used by Jekyll, Hugo, and many static site generators — it's well-understood by tooling and agents. The `{colors.X}` reference syntax in components enables single-point-of-change: update `colors.gray-1000` in one place and all components that reference it automatically follow.
63
+
64
+ ### Key design decisions in the frontmatter
65
+
66
+ 1. **Flat color map, not nested by family** — `gray-100: "#…"` not `gray: {100: "#…"}`. This allows flat lookups and avoids deep nesting.
67
+ 2. **10-step color scale encodes intent** — `400 = border`, `700 = solid fill`, `1000 = primary text`. Agent reads the step number and knows the role.
68
+ 3. **All 5 typography properties per token** — no defaults assumed; every token is self-contained.
69
+ 4. **Reference syntax for components** — `"{colors.gray-1000}"` keeps components declarative and avoids value duplication.
70
+ 5. **Full frontmatter even for dark theme** — `design.dark.md` has the exact same frontmatter keys with different values.
71
+
72
+ ---
73
+
74
+ ## Markdown Body (documentation)
75
+
76
+ Below the frontmatter, the body provides human/agent-readable documentation:
77
+
78
+ ## Overview
79
+
80
+ Geist is Vercel's design system for building consistent, developer-focused interfaces. The aesthetic is minimal and high-contrast: plenty of whitespace, restrained color, and content set on near-neutral surfaces. Prioritize readability and accessibility, and use color to signal state or hierarchy rather than decoration.
81
+
82
+ This is the Light theme. The Dark theme uses the same token names with different values and lives at `/design.dark.md`. Colors are sRGB hex with Display P3 equivalents.
83
+
84
+ > **Design note:** The Overview does two things well: (1) it states the aesthetic in terms an agent can operationalize ("minimal and high-contrast", "color to signal state or hierarchy rather than decoration"), and (2) it declares the multi-theme structure upfront.
85
+
86
+ ## Colors
87
+
88
+ Each non-background scale runs 10 steps (`100`–`1000`), and the step encodes intent, not just lightness:
89
+
90
+ - `100` default background
91
+ - `200` hover background
92
+ - `300` active background
93
+ - `400` default border
94
+ - `500` hover border
95
+ - `600` active border
96
+ - `700` solid fill, high contrast
97
+ - `800` solid fill, hover
98
+ - `900` secondary text and icons
99
+ - `1000` primary text and icons
100
+
101
+ `background-100` is the primary page and card surface; `background-200` is a secondary surface for subtle separation. The `gray-alpha-*` tokens are translucent, so they layer over any background; use them for borders, dividers, overlays, and hover states. Solid `gray-*` holds its contrast on any surface, so use it for text and opaque fills. Accent scales carry meaning: `blue` for success, links, and focus; `red` for errors; `amber` for warnings; plus `green`, `teal`, `purple`, and `pink`. Use the hex tokens everywhere; each accent scale also ships a `*-p3` wide-gamut value in `oklch()` for Display P3 screens. The Dark theme redefines the same names at `/design.dark.md`.
102
+
103
+ > **Design note:** This is the key innovation of Vercel's approach: the 10-step scale encodes **intent**, not just a lightness gradient. An agent reading this knows that `700` means "solid fill" and `400` means "border", regardless of the actual hex value. This makes the scale **self-documenting** — an agent can apply tokens correctly without memorizing specific colors. The separation of `gray-alpha` (translucent, layers over any background) from `gray` (solid, holds contrast) is another critical design decision that prevents common UI mistakes.
104
+
105
+ ## Typography
106
+
107
+ Geist Sans sets UI and prose; Geist Mono sets code, data, and tabular figures. Both are open-source. The `typography` tokens above carry concrete `fontFamily`, `fontSize`, `fontWeight`, `lineHeight`, and `letterSpacing`:
108
+
109
+ - Headings, `heading-72` through `heading-14`, title pages and sections; `letterSpacing` tightens as the size grows.
110
+ - Labels, `label-20` through `label-12`, carry single-line, scannable text: navigation, form labels, table headers, metadata.
111
+ - Copy, `copy-24` through `copy-13`, set multi-line body text with a taller `lineHeight`.
112
+ - Buttons, `button-16` through `button-12`, are medium-weight labels for buttons and compact controls.
113
+
114
+ `copy-14` and `label-14` cover most text. The `-mono` tokens pair Geist Mono with the same metrics; prefer tabular figures when numbers need to align.
115
+
116
+ > **Design note:** The typography system encodes **role** plus **size** in the token name (`copy-14`, `label-14`, `button-16`). An agent knows `copy-14` is body text (multi-line, taller line-height) and `label-14` is single-line scannable text — even though they share the same font size. This is the same "intent encoding" pattern as the color scales.
117
+
118
+ ## Layout
119
+
120
+ Spacing follows a 4px scale: 4, 8, 12, 16, 24, 32, 40, 64, 96px. Keep a three-step rhythm: 8px inside a group, 16px between groups, 32–40px between sections. Cards use 24px padding, 16px when compact and 32px for hero areas. Center content in a 1200px column with side padding that grows at wider breakpoints, and make every layout work on mobile and desktop. Breakpoints are `sm` 401px, `md` 601px, `lg` 961px, `xl` 1200px, and `2xl` 1400px.
121
+
122
+ > **Design note:** The "three-step rhythm" rule (8px/16px/32px) gives an agent a clear, mechanical way to decide how much space to put between elements. Without this, agents tend to use arbitrary spacing. The card padding variants (24px/16px/32px) similarly prevent inconsistent padding choices.
123
+
124
+ ## Elevation & Depth
125
+
126
+ Hierarchy comes from tonal surfaces and borders first, so shadows stay subtle. Apply these `box-shadow` values for the light theme:
127
+
128
+ - Raised cards: `0 2px 2px rgba(0, 0, 0, 0.04)`
129
+ - Popovers and menus: `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)`
130
+ - Modals and dialogs: `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)`
131
+
132
+ Tooltips take the lightest of these. Pair each elevation with the matching radius below.
133
+
134
+ > **Design note:** The hierarchy principle is stated first ("tonal surfaces and borders first, so shadows stay subtle"). This prevents agents from over-using shadows. Each elevation is tied to a specific UI element (card, popover, modal) — not an abstract level number — making it trivial for an agent to pick the right shadow.
135
+
136
+ ## Motion
137
+
138
+ Use motion only when it clarifies a change, never for decoration. Most interactions should feel instant: a duration of `0ms` is often the snappiest and best choice, and the call is context-dependent. When motion genuinely helps, such as revealing or moving an element, keep it short and physical with the easing `cubic-bezier(0.175, 0.885, 0.32, 1.1)`: roughly 150ms for state changes, 200ms for popovers and tooltips, and 300ms for overlays and modals. Avoid long, looping, or attention-grabbing animation, and honor `prefers-reduced-motion` by dropping nonessential motion.
139
+
140
+ > **Design note:** The explicit "0ms is often the best choice" is crucial — it prevents agents from defaulting to the common 300ms ease-out. The duration table maps cleanly to element types (state change → popover → modal), making it self-documenting.
141
+
142
+ ## Shapes
143
+
144
+ Radii stay tight: 6px for everyday surfaces and controls, 12px for menus and modals, 16px for fullscreen surfaces. Reserve 9999px for pills, avatars, and circular controls. Keep one radius family per view rather than mixing rounded and sharp corners.
145
+
146
+ > **Design note:** "One radius family per view" is a strong constraint that prevents inconsistent corner radius mixing — a common agent mistake.
147
+
148
+ ## Components
149
+
150
+ The `components` tokens above give ready-to-use values per element (`backgroundColor`, `textColor`, `rounded`, `height`) drawn from this theme:
151
+
152
+ - Primary button: solid `gray-1000` fill with a `background-100` label, for the single most important action on a view.
153
+ - Secondary button: `background-100` fill with a translucent `gray-alpha-400` border.
154
+ - Tertiary button: transparent fill with `gray-1000` text for low-emphasis actions; it tints with `gray-alpha` on hover.
155
+ - Error button: solid `red-800` fill with white text, for destructive actions.
156
+ - Input: `background-100` fill, translucent border, 6px radius.
157
+
158
+ The variant tokens are the default medium (40px) size. Use the `button-small`/`input-small` (32px) and `button-large`/`input-large` (48px) tokens for the other sizes; large buttons step up to `button-16`. Hover and active states step up the scale: a `100` fill becomes `200` on hover and `300` on active, and borders move from `400` to `500` to `600`. Disabled uses a `gray-100` fill, `gray-700` text, and a not-allowed cursor. Focus shows a two-layer ring (`box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #006bff`): a 2px gap in the surface color, then a 2px `blue-700` ring.
159
+
160
+ > **Design note:** The component tokens reference the color/typography/shape tokens defined above — there is no duplication. The state progression rule ("100 → 200 → 300 fill on hover → active") is a **systematic rule**, not a per-component value table. An agent can derive any component's hover state from this rule alone. The focus ring pattern (surface gap + accent ring) is explicitly described with box-shadow values, preventing agents from guessing focus styles.
161
+
162
+ ## Voice & Content
163
+
164
+ Copy is part of the design; keep it precise and free of filler.
165
+
166
+ - Use Title Case for labels, buttons, titles, and tabs; sentence case for body, helper text, and toasts.
167
+ - Name actions with a verb and a noun (`Deploy Project`, `Delete Member`), never `Confirm`, `OK`, or a bare verb.
168
+ - Write errors as what happened plus what to do next: `Build failed. Bundle exceeds 50 MB. Reduce it or raise the limit.`
169
+ - Toasts name the specific thing that changed, drop the trailing period, and never say `successfully`: `Project deleted`, not `Successfully deleted the project.`
170
+ - Empty states point to the first action: `No deployments yet. Push to your Git repository to create one.`
171
+ - Use the present participle with an ellipsis for in-progress states: `Deploying…`, `Saving…`.
172
+ - Use numerals (`3 projects`), curly quotes, and the ellipsis character; skip `please` and marketing superlatives.
173
+
174
+ > **Design note:** Voice rules are highly actionable for agents because they give negative examples ("never `Confirm`, `OK`") and positive patterns ("what happened + what to do next"). This turns copy generation from guesswork into a mechanical fill-in-the-blank exercise.
175
+
176
+ ## Do's and Don'ts
177
+
178
+ - Use the gray scale to rank information: `1000` for primary text, `900` for secondary, `700` for disabled.
179
+ - Keep solid accent color for state and the single most important action on a view.
180
+ - Hold WCAG AA contrast (4.5:1 for body text).
181
+ - Show the focus ring on every interactive element at `:focus-visible`, and never remove an outline without a visible replacement.
182
+ - Apply the typography tokens instead of setting font size, line height, or weight by hand.
183
+ - Don't signal state with color alone; pair it with an icon or text label.
184
+ - Don't use `background-200` as a general fill; it is for subtle separation only.
185
+ - Don't mix rounded and sharp corners, or more than two font weights, in one view.
186
+ - Don't swap `gray-*` for `background-*`; they are separate scales.
187
+
188
+ > **Design note:** The Do's and Don'ts section serves as a **correctness checklist** for agents. Each item is a specific, verifiable rule. Agents can self-check their UI output against this list. The "Don't" items prevent common mistakes ("don't mix rounded and sharp corners", "don't use `background-200` as a general fill").
189
+
190
+ ---
191
+
192
+ ## Key takeaways for creating your own DESIGN.md
193
+
194
+ 1. **Use YAML frontmatter as the token SSOT** — structured colors, typography, spacing, rounded, and components in parseable form; the body is documentation
195
+ 2. **Encode intent in token names**, not just values — `gray-400 = border`, `copy-14 = body text`
196
+ 3. **State rules, not just values** — "three-step spacing rhythm" is more useful than a raw scale
197
+ 4. **Give negative examples** — agents need to know what NOT to do as much as what to do
198
+ 5. **Make state derivable** — "100 → 200 → 300 on hover" means the agent can compute any component's state
199
+ 6. **Tie tokens to concrete UI elements** — "card shadow", not "level-1 shadow"
200
+ 7. **Voice rules should be mechanical** — fill-in-the-blank templates, not vague principles
@@ -0,0 +1,354 @@
1
+ ---
2
+ version: 0.1.0
3
+ name: "[Design System Name]"
4
+ description: "[Design System Name] is a [adjective] design system for [project/product name]. This is the Dark theme. The Light theme uses the same token names with different values and lives at /DESIGN.md."
5
+
6
+ colors:
7
+ # ── Background surfaces (dark) ──
8
+ # Level 1 — primary dark page/card surface (REQUIRED)
9
+ background-100: "[#000000]"
10
+
11
+ # LEVEL2_PLACEHOLDER: secondary surface, active surface — uncomment and fill when upgrading to Level 2
12
+ # background-200: "[#0a0a0a]"
13
+ # background-300: "[#141414]"
14
+
15
+ # ── Gray (solid — text and opaque fills on dark) ──
16
+ # Level 1 — primary and secondary text for dark surfaces (REQUIRED)
17
+ gray-1000: "[#ededed]"
18
+ gray-900: "[#a0a0a0]"
19
+
20
+ # LEVEL2_PLACEHOLDER: full 10-step gray scale (dark-inverted) — uncomment and fill values for steps 100–800
21
+ # gray-100: "[#1a1a1a]"
22
+ # gray-200: "[#1f1f1f]"
23
+ # gray-300: "[#292929]"
24
+ # gray-400: "[#2e2e2e]"
25
+ # gray-500: "[#454545]"
26
+ # gray-600: "[#878787]"
27
+ # gray-700: "[#8f8f8f]"
28
+ # gray-800: "[#7d7d7d]"
29
+
30
+ # LEVEL2_PLACEHOLDER: gray alpha (white-based translucent) scale — uncomment and fill
31
+ # gray-alpha-100: "#ffffff12"
32
+ # gray-alpha-200: "#ffffff17"
33
+ # gray-alpha-300: "#ffffff21"
34
+ # gray-alpha-400: "#ffffff24"
35
+ # gray-alpha-500: "#ffffff3d"
36
+ # gray-alpha-600: "#ffffff82"
37
+ # gray-alpha-700: "#ffffff8a"
38
+ # gray-alpha-800: "#ffffff78"
39
+ # gray-alpha-900: "#ffffff9c"
40
+ # gray-alpha-1000: "#ffffffeb"
41
+
42
+ # ── Accent — Blue (links, focus, primary actions on dark) ──
43
+ # Level 1 — at minimum blue-700, typically lighter on dark for contrast (REQUIRED)
44
+ blue-700: "[#006efe]"
45
+
46
+ # LEVEL2_PLACEHOLDER: full blue scale (dark-adjusted) — uncomment and fill
47
+ # blue-100: "[#06193a]"
48
+ # blue-200: "[#022248]"
49
+ # blue-300: "[#002f62]"
50
+ # blue-400: "[#003674]"
51
+ # blue-500: "[#00418b]"
52
+ # blue-600: "[#0090ff]"
53
+ # blue-700: "[#006efe]"
54
+ # blue-800: "[#005be7]"
55
+ # blue-900: "[#47a8ff]"
56
+ # blue-1000: "[#eaf6ff]"
57
+
58
+ # ── Accent — Red (errors on dark) ──
59
+ # Level 1 — at minimum red-700, typically lighter on dark (REQUIRED)
60
+ red-700: "[#f13242]"
61
+
62
+ # LEVEL2_PLACEHOLDER: full red scale (dark-adjusted) — uncomment and fill
63
+ # red-100: "[#330a11]"
64
+ # red-200: "[#440d13]"
65
+ # red-300: "[#5d0e17]"
66
+ # red-400: "[#6f101b]"
67
+ # red-500: "[#88151f]"
68
+ # red-600: "[#f32e40]"
69
+ # red-700: "[#f13242]"
70
+ # red-800: "[#e2162a]"
71
+ # red-900: "[#ff565f]"
72
+ # red-1000: "[#ffe9ed]"
73
+
74
+ # ── Accent — Amber (warnings on dark) ──
75
+ # Level 1 — at minimum amber-700 (REQUIRED)
76
+ amber-700: "[#ffae00]"
77
+
78
+ # LEVEL2_PLACEHOLDER: full amber scale (dark-adjusted) — uncomment and fill
79
+ # amber-100: "[#2a1700]"
80
+ # amber-200: "[#361900]"
81
+ # amber-300: "[#502800]"
82
+ # amber-400: "[#5b3000]"
83
+ # amber-500: "[#703e00]"
84
+ # amber-600: "[#ed9a00]"
85
+ # amber-700: "[#ffae00]"
86
+ # amber-800: "[#ff9300]"
87
+ # amber-900: "[#ff9300]"
88
+ # amber-1000: "[#fff3d5]"
89
+
90
+ # LEVEL2_PLACEHOLDER: additional accent scales (dark-adjusted) — uncomment and fill
91
+ # green-100: "[#002608]"
92
+ # green-200: "[#00320b]"
93
+ # green-300: "[#003a0e]"
94
+ # green-400: "[#004615]"
95
+ # green-500: "[#006717]"
96
+ # green-600: "[#00952d]"
97
+ # green-700: "[#00ac3a]"
98
+ # green-800: "[#009432]"
99
+ # green-900: "[#00ca50]"
100
+ # green-1000: "[#d8ffe4]"
101
+
102
+ # teal-100: "[#00231b]"
103
+ # teal-200: "[#002b22]"
104
+ # teal-300: "[#003d34]"
105
+ # teal-400: "[#004035]"
106
+ # teal-500: "[#006354]"
107
+ # teal-600: "[#009e86]"
108
+ # teal-700: "[#00aa95]"
109
+ # teal-800: "[#00927f]"
110
+ # teal-900: "[#00cfb7]"
111
+ # teal-1000: "[#cbfff5]"
112
+
113
+ # purple-100: "[#290c33]"
114
+ # purple-200: "[#341142]"
115
+ # purple-300: "[#47185e]"
116
+ # purple-400: "[#541a76]"
117
+ # purple-500: "[#642290]"
118
+ # purple-600: "[#9440d5]"
119
+ # purple-700: "[#9440d5]"
120
+ # purple-800: "[#7d2bba]"
121
+ # purple-900: "[#c472fb]"
122
+ # purple-1000: "[#fbecff]"
123
+
124
+ # pink-100: "[#310d1e]"
125
+ # pink-200: "[#420c25]"
126
+ # pink-300: "[#571032]"
127
+ # pink-400: "[#5d0c34]"
128
+ # pink-500: "[#76063f]"
129
+ # pink-600: "[#ba0056]"
130
+ # pink-700: "[#f12b82]"
131
+ # pink-800: "[#e7006d]"
132
+ # pink-900: "[#ff4d8d]"
133
+ # pink-1000: "[#ffe9f4]"
134
+
135
+ typography:
136
+ # ── Body text (multi-line, taller line-height) ──
137
+ # Level 1 — at minimum one body token; typography tokens are typically unchanged in dark mode (REQUIRED)
138
+ copy-16:
139
+ fontFamily: "[font-family]"
140
+ fontSize: 16px
141
+ fontWeight: 400
142
+ lineHeight: 1.6
143
+ letterSpacing: 0
144
+
145
+ # LEVEL2_PLACEHOLDER: additional body sizes; same as DESIGN.md unless font weight needs adjustment
146
+ # copy-24:
147
+ # fontFamily: "[font-family]"
148
+ # fontSize: 24px
149
+ # fontWeight: 400
150
+ # lineHeight: 36px
151
+ # letterSpacing: 0
152
+ # copy-20:
153
+ # fontFamily: "[font-family]"
154
+ # fontSize: 20px
155
+ # fontWeight: 400
156
+ # lineHeight: 36px
157
+ # letterSpacing: 0
158
+ # copy-14:
159
+ # fontFamily: "[font-family]"
160
+ # fontSize: 14px
161
+ # fontWeight: 400
162
+ # lineHeight: 20px
163
+ # letterSpacing: 0
164
+
165
+ # ── Headings ──
166
+ # Level 1 — at minimum one heading token (REQUIRED)
167
+ heading-32:
168
+ fontFamily: "[font-family]"
169
+ fontSize: 32px
170
+ fontWeight: 600
171
+ lineHeight: 1.2
172
+ letterSpacing: -0.02em
173
+
174
+ # LEVEL2_PLACEHOLDER: full heading scale; same as DESIGN.md
175
+ # heading-72:
176
+ # fontFamily: "[font-family]"
177
+ # fontSize: 72px
178
+ # fontWeight: 600
179
+ # lineHeight: 72px
180
+ # letterSpacing: -0.04em
181
+ # heading-48:
182
+ # fontFamily: "[font-family]"
183
+ # fontSize: 48px
184
+ # fontWeight: 600
185
+ # lineHeight: 56px
186
+ # letterSpacing: -0.03em
187
+ # heading-24:
188
+ # fontFamily: "[font-family]"
189
+ # fontSize: 24px
190
+ # fontWeight: 600
191
+ # lineHeight: 32px
192
+ # letterSpacing: -0.01em
193
+ # heading-20:
194
+ # fontFamily: "[font-family]"
195
+ # fontSize: 20px
196
+ # fontWeight: 600
197
+ # lineHeight: 26px
198
+ # letterSpacing: -0.005em
199
+
200
+ # LEVEL2_PLACEHOLDER: label and button typography; same as DESIGN.md
201
+ # label-14:
202
+ # fontFamily: "[font-family]"
203
+ # fontSize: 14px
204
+ # fontWeight: 400
205
+ # lineHeight: 20px
206
+ # letterSpacing: 0
207
+ # button-14:
208
+ # fontFamily: "[font-family]"
209
+ # fontSize: 14px
210
+ # fontWeight: 500
211
+ # lineHeight: 20px
212
+ # letterSpacing: 0
213
+
214
+ spacing:
215
+ base: 4px
216
+ # Level 1 — same spacing scale as DESIGN.md (REQUIRED)
217
+ 1: 4px
218
+ 2: 8px
219
+ 3: 12px
220
+ 4: 16px
221
+ 6: 24px
222
+
223
+ # LEVEL2_PLACEHOLDER: full 9-step scale; same as DESIGN.md
224
+ # 8: 32px
225
+ # 10: 40px
226
+ # 16: 64px
227
+ # 24: 96px
228
+
229
+ rounded:
230
+ # Level 1 — same radii as DESIGN.md (REQUIRED)
231
+ sm: 6px
232
+
233
+ # LEVEL2_PLACEHOLDER: additional radius tokens; same as DESIGN.md
234
+ # md: 12px
235
+ # lg: 16px
236
+ # full: 9999px
237
+
238
+ # LEVEL2_PLACEHOLDER: component tokens — uncomment and fill; values reference dark `colors.*` and `typography.*`
239
+ # components:
240
+ # button-primary:
241
+ # backgroundColor: "{colors.gray-1000}"
242
+ # textColor: "{colors.background-100}"
243
+ # typography: "{typography.button-14}"
244
+ # rounded: "{rounded.sm}"
245
+ # padding: "0 10px"
246
+ # height: 40px
247
+ # button-secondary:
248
+ # backgroundColor: "{colors.background-100}"
249
+ # textColor: "{colors.gray-1000}"
250
+ # typography: "{typography.button-14}"
251
+ # rounded: "{rounded.sm}"
252
+ # padding: "0 10px"
253
+ # height: 40px
254
+ # button-tertiary:
255
+ # textColor: "{colors.gray-1000}"
256
+ # typography: "{typography.button-14}"
257
+ # rounded: "{rounded.sm}"
258
+ # padding: "0 10px"
259
+ # height: 40px
260
+ # button-error:
261
+ # backgroundColor: "{colors.red-800}"
262
+ # textColor: "#ffffff"
263
+ # typography: "{typography.button-14}"
264
+ # rounded: "{rounded.sm}"
265
+ # padding: "0 10px"
266
+ # height: 40px
267
+ # button-small:
268
+ # typography: "{typography.button-14}"
269
+ # rounded: "{rounded.sm}"
270
+ # padding: "0 6px"
271
+ # height: 32px
272
+ # button-large:
273
+ # typography: "{typography.button-16}"
274
+ # rounded: "{rounded.sm}"
275
+ # padding: "0 14px"
276
+ # height: 48px
277
+ # input:
278
+ # backgroundColor: "{colors.background-100}"
279
+ # textColor: "{colors.gray-1000}"
280
+ # typography: "{typography.label-14}"
281
+ # rounded: "{rounded.sm}"
282
+ # padding: "0 12px"
283
+ # height: 40px
284
+ # input-small:
285
+ # typography: "{typography.label-14}"
286
+ # rounded: "{rounded.sm}"
287
+ # padding: "0 12px"
288
+ # height: 32px
289
+ # input-large:
290
+ # typography: "{typography.label-16}"
291
+ # rounded: "{rounded.sm}"
292
+ # padding: "0 12px"
293
+ # height: 48px
294
+ ---
295
+
296
+ <!-- COMPLETENESS_LEVEL: 3 — dark theme companion to DESIGN.md -->
297
+
298
+ # [Design System Name] — Dark
299
+
300
+ ## Overview
301
+
302
+ [Design System Name] Dark is the dark theme companion to [Design System Name]. Token names are identical to DESIGN.md; only the values change. Every token in the YAML frontmatter above must have a corresponding entry in DESIGN.md.
303
+
304
+ This file uses the same structure as DESIGN.md. When DESIGN.md is updated, update this file with the dark-equivalent values.
305
+
306
+ <!--
307
+ IMPORTANT: Switch to dark mode by loading this file's values in place of DESIGN.md values.
308
+ Consumers reference tokens by name, not by value — the switch is transparent.
309
+ -->
310
+
311
+ ## Colors
312
+
313
+ Token values are defined in the frontmatter `colors:` map. Dark theme inverts the scale: background-100 is dark (`#000000`), gray-1000 is light text (`#ededed`). Accent colors shift lighter to maintain contrast on dark surfaces. Gray-alpha tokens use white-based transparency (`rgba(255,255,255,…)`) instead of black-based.
314
+
315
+ <!-- LEVEL2_PLACEHOLDER: Complete all color scales in the frontmatter to match DESIGN.md. See references/completeness-checklist.md § Level 3. -->
316
+
317
+ ## Typography
318
+
319
+ Token values are defined in the frontmatter `typography:` map. Typography tokens are typically identical to DESIGN.md — copy verbatim from the light theme unless a font weight adjustment is needed for dark backgrounds.
320
+
321
+ ## Spacing & Layout
322
+
323
+ Token values are defined in the frontmatter `spacing:` and `rounded:` maps. Spacing and breakpoints are identical to DESIGN.md. Copy verbatim.
324
+
325
+ ### Breakpoints
326
+
327
+ Refer to DESIGN.md breakpoints; do not duplicate here. The dark theme inherits all layout tokens from the light theme.
328
+
329
+ <!-- LEVEL3_PLACEHOLDER: Add dark-mode Elevation, extended Components tokens, and full dark theme parity with DESIGN.md -->
330
+ <!--
331
+ ## Elevation & Depth
332
+
333
+ Shadows on dark backgrounds use lighter, deeper values. Hierarchy still comes from tonal surfaces first.
334
+
335
+ ### Shadows (dark theme)
336
+
337
+ | Element | Value |
338
+ |---------|-------|
339
+ | Card | 0 1px 2px rgba(0, 0, 0, 0.16) |
340
+ | Popover | 0 1px 1px rgba(0, 0, 0, 0.08), 0 4px 8px -4px rgba(0, 0, 0, 0.12), 0 16px 24px -8px rgba(0, 0, 0, 0.16) |
341
+ | Modal | 0 1px 1px rgba(0, 0, 0, 0.08), 0 8px 16px -4px rgba(0, 0, 0, 0.12), 0 24px 32px -8px rgba(0, 0, 0, 0.16) |
342
+
343
+ ## Components
344
+
345
+ Component tokens are defined in the frontmatter `components:` map. Button tokens reference dark `colors.*` values. Same structure as DESIGN.md, different color references. States, sizes, and focus follow the same rules as DESIGN.md.
346
+
347
+ ## Motion
348
+
349
+ Same as DESIGN.md — motion rules are theme-independent.
350
+
351
+ ## Shapes
352
+
353
+ Same as DESIGN.md — border radius tokens are theme-independent.
354
+ -->