@nurix/etna 0.19.10 → 0.19.12

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 (491) hide show
  1. package/data/harness-index.json +1 -1
  2. package/data/harnesses/code/harness.json +1 -1
  3. package/data/harnesses/code/rules/frontend.md +5 -5
  4. package/data/harnesses/code/skills/design/SKILL.md +70 -50
  5. package/data/harnesses/code/skills/design/components/charts.md +76 -0
  6. package/data/harnesses/code/skills/design/components/collections.md +132 -0
  7. package/data/harnesses/code/skills/design/components/feedback.md +47 -0
  8. package/data/harnesses/code/skills/design/components/hooks.md +35 -0
  9. package/data/harnesses/code/skills/design/components/index.md +143 -0
  10. package/data/harnesses/code/skills/design/components/inputs.md +327 -0
  11. package/data/harnesses/code/skills/design/components/layout.md +52 -0
  12. package/data/harnesses/code/skills/design/components/media.md +66 -0
  13. package/data/harnesses/code/skills/design/components/motion.md +82 -0
  14. package/data/harnesses/code/skills/design/components/navigation.md +29 -0
  15. package/data/harnesses/code/skills/design/components/overlays.md +72 -0
  16. package/data/harnesses/code/skills/design/components/setup.md +40 -0
  17. package/data/harnesses/code/skills/design/components/typography.md +46 -0
  18. package/data/harnesses/code/skills/design/components/utils.md +37 -0
  19. package/data/harnesses/code/skills/design/data/blueprints/browse.md +38 -0
  20. package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +38 -0
  21. package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +38 -0
  22. package/data/harnesses/code/skills/design/data/blueprints/grid.md +38 -0
  23. package/data/harnesses/code/skills/design/data/blueprints/queue.md +38 -0
  24. package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +38 -0
  25. package/data/harnesses/code/skills/design/data/blueprints/settings.md +38 -0
  26. package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +33 -0
  27. package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +19 -0
  28. package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +19 -0
  29. package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +19 -0
  30. package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +19 -0
  31. package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +19 -0
  32. package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +19 -0
  33. package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +19 -0
  34. package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +19 -0
  35. package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +19 -0
  36. package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +19 -0
  37. package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +19 -0
  38. package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +19 -0
  39. package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +19 -0
  40. package/data/harnesses/code/skills/design/data/charts/census.csv +58 -0
  41. package/data/harnesses/code/skills/design/data/checklists/browse.md +21 -0
  42. package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +20 -0
  43. package/data/harnesses/code/skills/design/data/checklists/dashboard.md +21 -0
  44. package/data/harnesses/code/skills/design/data/checklists/grid.md +21 -0
  45. package/data/harnesses/code/skills/design/data/checklists/queue.md +21 -0
  46. package/data/harnesses/code/skills/design/data/checklists/record-detail.md +21 -0
  47. package/data/harnesses/code/skills/design/data/checklists/settings.md +21 -0
  48. package/data/harnesses/code/skills/design/data/chrome/board-column.md +68 -0
  49. package/data/harnesses/code/skills/design/data/chrome/data-table.md +63 -0
  50. package/data/harnesses/code/skills/design/data/chrome/side-panel.md +60 -0
  51. package/data/harnesses/code/skills/design/data/chrome/sidebar.md +78 -0
  52. package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +62 -0
  53. package/data/harnesses/code/skills/design/data/chrome/topbar.md +65 -0
  54. package/data/harnesses/code/skills/design/data/color/accent-presets.md +90 -0
  55. package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +91 -0
  56. package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +90 -0
  57. package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +90 -0
  58. package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +90 -0
  59. package/data/harnesses/code/skills/design/data/color/clay-parchment.md +90 -0
  60. package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +90 -0
  61. package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +90 -0
  62. package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +90 -0
  63. package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +90 -0
  64. package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +90 -0
  65. package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +90 -0
  66. package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +90 -0
  67. package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +90 -0
  68. package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +90 -0
  69. package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +89 -0
  70. package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +15 -0
  71. package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +87 -0
  72. package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +25 -0
  73. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +15 -0
  74. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +83 -0
  75. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +25 -0
  76. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +15 -0
  77. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +89 -0
  78. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +25 -0
  79. package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +19 -0
  80. package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +18 -0
  81. package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +20 -0
  82. package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +20 -0
  83. package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +19 -0
  84. package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +19 -0
  85. package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +17 -0
  86. package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +19 -0
  87. package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +21 -0
  88. package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +19 -0
  89. package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +18 -0
  90. package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +17 -0
  91. package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +21 -0
  92. package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +19 -0
  93. package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +19 -0
  94. package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +18 -0
  95. package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +19 -0
  96. package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +20 -0
  97. package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +16 -0
  98. package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +16 -0
  99. package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +16 -0
  100. package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +18 -0
  101. package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +16 -0
  102. package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +18 -0
  103. package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +18 -0
  104. package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +16 -0
  105. package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +16 -0
  106. package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +16 -0
  107. package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +16 -0
  108. package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +16 -0
  109. package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +18 -0
  110. package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +16 -0
  111. package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +18 -0
  112. package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +16 -0
  113. package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +16 -0
  114. package/data/harnesses/code/skills/design/data/iconography.md +199 -0
  115. package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +18 -0
  116. package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +18 -0
  117. package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +18 -0
  118. package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +18 -0
  119. package/data/harnesses/code/skills/design/data/motion/hover-lift.md +18 -0
  120. package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +18 -0
  121. package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +18 -0
  122. package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +18 -0
  123. package/data/harnesses/code/skills/design/data/motion/panel-slide.md +18 -0
  124. package/data/harnesses/code/skills/design/data/motion/press-feedback.md +18 -0
  125. package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +18 -0
  126. package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +18 -0
  127. package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +18 -0
  128. package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +18 -0
  129. package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +18 -0
  130. package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +18 -0
  131. package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +18 -0
  132. package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +18 -0
  133. package/data/harnesses/code/skills/design/data/tells.csv +34 -0
  134. package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +17 -0
  135. package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +17 -0
  136. package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +17 -0
  137. package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +17 -0
  138. package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +17 -0
  139. package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +17 -0
  140. package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +17 -0
  141. package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +17 -0
  142. package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +17 -0
  143. package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +17 -0
  144. package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +17 -0
  145. package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +17 -0
  146. package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +17 -0
  147. package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +17 -0
  148. package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +17 -0
  149. package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +17 -0
  150. package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +17 -0
  151. package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +17 -0
  152. package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +29 -0
  153. package/data/harnesses/code/skills/design/data/voices/direct-operator.md +29 -0
  154. package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +29 -0
  155. package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +29 -0
  156. package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +29 -0
  157. package/data/harnesses/code/skills/design/data/voices/warm-guide.md +29 -0
  158. package/data/harnesses/code/skills/design/design-md/SCHEMA.md +179 -0
  159. package/data/harnesses/code/skills/design/design-md/index.csv +67 -0
  160. package/data/harnesses/code/skills/design/design-md/library/airbnb.md +207 -0
  161. package/data/harnesses/code/skills/design/design-md/library/airtable.md +205 -0
  162. package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +203 -0
  163. package/data/harnesses/code/skills/design/design-md/library/apple.md +206 -0
  164. package/data/harnesses/code/skills/design/design-md/library/binance.md +210 -0
  165. package/data/harnesses/code/skills/design/design-md/library/bmw.md +210 -0
  166. package/data/harnesses/code/skills/design/design-md/library/cal.md +209 -0
  167. package/data/harnesses/code/skills/design/design-md/library/clay.md +204 -0
  168. package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +205 -0
  169. package/data/harnesses/code/skills/design/design-md/library/cohere.md +205 -0
  170. package/data/harnesses/code/skills/design/design-md/library/coinbase.md +198 -0
  171. package/data/harnesses/code/skills/design/design-md/library/composio.md +198 -0
  172. package/data/harnesses/code/skills/design/design-md/library/cursor.md +197 -0
  173. package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +199 -0
  174. package/data/harnesses/code/skills/design/design-md/library/expo.md +200 -0
  175. package/data/harnesses/code/skills/design/design-md/library/figma.md +199 -0
  176. package/data/harnesses/code/skills/design/design-md/library/framer.md +202 -0
  177. package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +205 -0
  178. package/data/harnesses/code/skills/design/design-md/library/ibm.md +205 -0
  179. package/data/harnesses/code/skills/design/design-md/library/intercom.md +204 -0
  180. package/data/harnesses/code/skills/design/design-md/library/kraken.md +200 -0
  181. package/data/harnesses/code/skills/design/design-md/library/linear-app.md +198 -0
  182. package/data/harnesses/code/skills/design/design-md/library/lovable.md +199 -0
  183. package/data/harnesses/code/skills/design/design-md/library/meta.md +204 -0
  184. package/data/harnesses/code/skills/design/design-md/library/minimax.md +204 -0
  185. package/data/harnesses/code/skills/design/design-md/library/mintlify.md +210 -0
  186. package/data/harnesses/code/skills/design/design-md/library/miro.md +209 -0
  187. package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +201 -0
  188. package/data/harnesses/code/skills/design/design-md/library/mongodb.md +201 -0
  189. package/data/harnesses/code/skills/design/design-md/library/notion.md +204 -0
  190. package/data/harnesses/code/skills/design/design-md/library/nvidia.md +215 -0
  191. package/data/harnesses/code/skills/design/design-md/library/ollama.md +213 -0
  192. package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +216 -0
  193. package/data/harnesses/code/skills/design/design-md/library/posthog.md +218 -0
  194. package/data/harnesses/code/skills/design/design-md/library/raycast.md +214 -0
  195. package/data/harnesses/code/skills/design/design-md/library/replicate.md +202 -0
  196. package/data/harnesses/code/skills/design/design-md/library/resend.md +203 -0
  197. package/data/harnesses/code/skills/design/design-md/library/revolut.md +203 -0
  198. package/data/harnesses/code/skills/design/design-md/library/runwayml.md +203 -0
  199. package/data/harnesses/code/skills/design/design-md/library/sanity.md +200 -0
  200. package/data/harnesses/code/skills/design/design-md/library/sentry.md +201 -0
  201. package/data/harnesses/code/skills/design/design-md/library/shopify.md +202 -0
  202. package/data/harnesses/code/skills/design/design-md/library/slack.md +202 -0
  203. package/data/harnesses/code/skills/design/design-md/library/spacex.md +206 -0
  204. package/data/harnesses/code/skills/design/design-md/library/spotify.md +206 -0
  205. package/data/harnesses/code/skills/design/design-md/library/stripe.md +196 -0
  206. package/data/harnesses/code/skills/design/design-md/library/supabase.md +196 -0
  207. package/data/harnesses/code/skills/design/design-md/library/superhuman.md +194 -0
  208. package/data/harnesses/code/skills/design/design-md/library/tesla.md +198 -0
  209. package/data/harnesses/code/skills/design/design-md/library/theverge.md +199 -0
  210. package/data/harnesses/code/skills/design/design-md/library/together-ai.md +193 -0
  211. package/data/harnesses/code/skills/design/design-md/library/uber.md +195 -0
  212. package/data/harnesses/code/skills/design/design-md/library/vercel.md +195 -0
  213. package/data/harnesses/code/skills/design/design-md/library/voltagent.md +197 -0
  214. package/data/harnesses/code/skills/design/design-md/library/warp.md +196 -0
  215. package/data/harnesses/code/skills/design/design-md/library/webflow.md +197 -0
  216. package/data/harnesses/code/skills/design/design-md/library/wired.md +197 -0
  217. package/data/harnesses/code/skills/design/design-md/library/wise.md +198 -0
  218. package/data/harnesses/code/skills/design/design-md/library/x-ai.md +199 -0
  219. package/data/harnesses/code/skills/design/design-md/library/zapier.md +198 -0
  220. package/data/harnesses/code/skills/design/design-md/nurix.md +214 -0
  221. package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +184 -0
  222. package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +216 -0
  223. package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +211 -0
  224. package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +212 -0
  225. package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +216 -0
  226. package/data/harnesses/code/skills/design/references/compose.md +23 -0
  227. package/data/harnesses/code/skills/design/references/content.md +28 -0
  228. package/data/harnesses/code/skills/design/references/emission.md +21 -0
  229. package/data/harnesses/code/skills/design/references/existing-apps.md +27 -0
  230. package/data/harnesses/code/skills/design/references/intake.md +36 -0
  231. package/data/harnesses/code/skills/design/references/object-pass.md +24 -0
  232. package/data/harnesses/code/skills/design/references/ship-gate.md +29 -0
  233. package/data/harnesses/code/skills/design/references/ux-patterns/Readme.md +195 -0
  234. package/data/harnesses/code/skills/design/references/ux-patterns/ai-layer.md +49 -0
  235. package/data/harnesses/code/skills/design/references/ux-patterns/attributes-lifecycle.md +43 -0
  236. package/data/harnesses/code/skills/design/references/ux-patterns/container-choice.md +44 -0
  237. package/data/harnesses/code/skills/design/references/ux-patterns/creation-paths.md +46 -0
  238. package/data/harnesses/code/skills/design/references/ux-patterns/dashboards.md +42 -0
  239. package/data/harnesses/code/skills/design/references/ux-patterns/modes.md +42 -0
  240. package/data/harnesses/code/skills/design/references/ux-patterns/object-model.md +46 -0
  241. package/data/harnesses/code/skills/design/references/ux-patterns/page-archetype.md +48 -0
  242. package/data/harnesses/code/skills/design/references/ux-patterns/promotion-demotion.md +37 -0
  243. package/data/harnesses/code/skills/design/references/ux-patterns/settings.md +42 -0
  244. package/data/harnesses/code/skills/design/references/ux-patterns/standard-pages.md +46 -0
  245. package/data/harnesses/code/skills/design/references/ux-patterns/state-matrix.md +41 -0
  246. package/data/harnesses/code/skills/design/references/ux-patterns/table-mechanics.md +48 -0
  247. package/data/harnesses/code/skills/design/references/ux-patterns/verbs.md +45 -0
  248. package/data/harnesses/code/skills/design/references/ux-patterns/viewer-context.md +40 -0
  249. package/data/harnesses/code/skills/design/scripts/README-validator.md +27 -0
  250. package/data/harnesses/code/skills/design/scripts/select-chart.mjs +596 -0
  251. package/data/harnesses/code/skills/design/scripts/validate-design-md.mjs +1198 -0
  252. package/data/harnesses/discussion/CLAUDE.md +1 -1
  253. package/data/harnesses/discussion/agents/discussion-baseline.md +27 -2
  254. package/data/harnesses/discussion/harness.json +2 -2
  255. package/data/harnesses/discussion/rules/artifacts.md +2 -0
  256. package/data/harnesses/discussion/rules/method.md +5 -1
  257. package/package.json +1 -1
  258. package/data/harnesses/code/skills/design/data/catalog/rules.csv +0 -137
  259. package/data/harnesses/code/skills/design/data/combinations/Readme.md +0 -33
  260. package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +0 -113
  261. package/data/harnesses/code/skills/design/data/combinations/charts.csv +0 -33
  262. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +0 -448
  263. package/data/harnesses/code/skills/design/data/combinations/icons.csv +0 -157
  264. package/data/harnesses/code/skills/design/data/combinations/landing.csv +0 -38
  265. package/data/harnesses/code/skills/design/data/combinations/lucide-names.json +0 -2001
  266. package/data/harnesses/code/skills/design/data/combinations/manifest.json +0 -330
  267. package/data/harnesses/code/skills/design/data/combinations/motion.csv +0 -10
  268. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +0 -92
  269. package/data/harnesses/code/skills/design/data/combinations/product-router.csv +0 -80
  270. package/data/harnesses/code/skills/design/data/combinations/styles.csv +0 -67
  271. package/data/harnesses/code/skills/design/data/combinations/typography.csv +0 -64
  272. package/data/harnesses/code/skills/design/data/design-md/SCHEMA.md +0 -106
  273. package/data/harnesses/code/skills/design/data/design-md/library/airbnb.md +0 -154
  274. package/data/harnesses/code/skills/design/data/design-md/library/airtable.md +0 -151
  275. package/data/harnesses/code/skills/design/data/design-md/library/anthropic-claude.md +0 -139
  276. package/data/harnesses/code/skills/design/data/design-md/library/apple.md +0 -139
  277. package/data/harnesses/code/skills/design/data/design-md/library/binance.md +0 -140
  278. package/data/harnesses/code/skills/design/data/design-md/library/bmw.md +0 -140
  279. package/data/harnesses/code/skills/design/data/design-md/library/cal.md +0 -140
  280. package/data/harnesses/code/skills/design/data/design-md/library/clay.md +0 -139
  281. package/data/harnesses/code/skills/design/data/design-md/library/clickhouse.md +0 -139
  282. package/data/harnesses/code/skills/design/data/design-md/library/cohere.md +0 -147
  283. package/data/harnesses/code/skills/design/data/design-md/library/coinbase.md +0 -156
  284. package/data/harnesses/code/skills/design/data/design-md/library/composio.md +0 -138
  285. package/data/harnesses/code/skills/design/data/design-md/library/cursor.md +0 -138
  286. package/data/harnesses/code/skills/design/data/design-md/library/elevenlabs.md +0 -137
  287. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +0 -148
  288. package/data/harnesses/code/skills/design/data/design-md/library/figma.md +0 -141
  289. package/data/harnesses/code/skills/design/data/design-md/library/framer.md +0 -156
  290. package/data/harnesses/code/skills/design/data/design-md/library/hashicorp.md +0 -140
  291. package/data/harnesses/code/skills/design/data/design-md/library/ibm.md +0 -153
  292. package/data/harnesses/code/skills/design/data/design-md/library/intercom.md +0 -158
  293. package/data/harnesses/code/skills/design/data/design-md/library/kraken.md +0 -156
  294. package/data/harnesses/code/skills/design/data/design-md/library/linear-app.md +0 -122
  295. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +0 -140
  296. package/data/harnesses/code/skills/design/data/design-md/library/meta.md +0 -139
  297. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +0 -139
  298. package/data/harnesses/code/skills/design/data/design-md/library/mintlify.md +0 -139
  299. package/data/harnesses/code/skills/design/data/design-md/library/miro.md +0 -153
  300. package/data/harnesses/code/skills/design/data/design-md/library/mistral-ai.md +0 -140
  301. package/data/harnesses/code/skills/design/data/design-md/library/mongodb.md +0 -155
  302. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +0 -140
  303. package/data/harnesses/code/skills/design/data/design-md/library/nvidia.md +0 -141
  304. package/data/harnesses/code/skills/design/data/design-md/library/ollama.md +0 -145
  305. package/data/harnesses/code/skills/design/data/design-md/library/opencode-ai.md +0 -142
  306. package/data/harnesses/code/skills/design/data/design-md/library/posthog.md +0 -152
  307. package/data/harnesses/code/skills/design/data/design-md/library/raycast.md +0 -137
  308. package/data/harnesses/code/skills/design/data/design-md/library/replicate.md +0 -140
  309. package/data/harnesses/code/skills/design/data/design-md/library/resend.md +0 -170
  310. package/data/harnesses/code/skills/design/data/design-md/library/revolut.md +0 -145
  311. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +0 -137
  312. package/data/harnesses/code/skills/design/data/design-md/library/sanity.md +0 -168
  313. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +0 -163
  314. package/data/harnesses/code/skills/design/data/design-md/library/shopify.md +0 -147
  315. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +0 -158
  316. package/data/harnesses/code/skills/design/data/design-md/library/spacex.md +0 -171
  317. package/data/harnesses/code/skills/design/data/design-md/library/spotify.md +0 -166
  318. package/data/harnesses/code/skills/design/data/design-md/library/stripe.md +0 -160
  319. package/data/harnesses/code/skills/design/data/design-md/library/supabase.md +0 -173
  320. package/data/harnesses/code/skills/design/data/design-md/library/superhuman.md +0 -145
  321. package/data/harnesses/code/skills/design/data/design-md/library/tesla.md +0 -153
  322. package/data/harnesses/code/skills/design/data/design-md/library/theverge.md +0 -167
  323. package/data/harnesses/code/skills/design/data/design-md/library/together-ai.md +0 -140
  324. package/data/harnesses/code/skills/design/data/design-md/library/uber.md +0 -140
  325. package/data/harnesses/code/skills/design/data/design-md/library/vercel.md +0 -140
  326. package/data/harnesses/code/skills/design/data/design-md/library/voltagent.md +0 -130
  327. package/data/harnesses/code/skills/design/data/design-md/library/warp.md +0 -140
  328. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +0 -140
  329. package/data/harnesses/code/skills/design/data/design-md/library/wired.md +0 -139
  330. package/data/harnesses/code/skills/design/data/design-md/library/wise.md +0 -137
  331. package/data/harnesses/code/skills/design/data/design-md/library/x-ai.md +0 -138
  332. package/data/harnesses/code/skills/design/data/design-md/library/zapier.md +0 -158
  333. package/data/harnesses/code/skills/design/data/design-md/nurix.md +0 -138
  334. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +0 -695
  335. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.resolver.json +0 -20
  336. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +0 -1272
  337. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.resolver.json +0 -20
  338. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +0 -1268
  339. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.resolver.json +0 -20
  340. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +0 -1273
  341. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.resolver.json +0 -20
  342. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +0 -1262
  343. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.resolver.json +0 -20
  344. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +0 -1257
  345. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.resolver.json +0 -20
  346. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +0 -1270
  347. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.resolver.json +0 -20
  348. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +0 -1270
  349. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.resolver.json +0 -20
  350. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +0 -1261
  351. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.resolver.json +0 -20
  352. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +0 -1268
  353. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.resolver.json +0 -20
  354. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +0 -1281
  355. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.resolver.json +0 -20
  356. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +0 -1262
  357. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.resolver.json +0 -20
  358. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +0 -1271
  359. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.resolver.json +0 -20
  360. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +0 -1276
  361. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.resolver.json +0 -20
  362. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +0 -1293
  363. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.resolver.json +0 -20
  364. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +0 -1270
  365. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.resolver.json +0 -20
  366. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +0 -1276
  367. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.resolver.json +0 -20
  368. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +0 -1267
  369. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +0 -251
  370. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.resolver.json +0 -20
  371. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +0 -1273
  372. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.resolver.json +0 -20
  373. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +0 -1286
  374. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.resolver.json +0 -20
  375. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +0 -1290
  376. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.resolver.json +0 -20
  377. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +0 -1270
  378. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +0 -23
  379. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +0 -599
  380. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +0 -1272
  381. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.resolver.json +0 -20
  382. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +0 -1267
  383. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.resolver.json +0 -20
  384. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +0 -1289
  385. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.resolver.json +0 -20
  386. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +0 -1258
  387. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.resolver.json +0 -20
  388. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +0 -1284
  389. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.resolver.json +0 -20
  390. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +0 -1291
  391. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.resolver.json +0 -20
  392. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +0 -1263
  393. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.resolver.json +0 -20
  394. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +0 -1270
  395. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.resolver.json +0 -20
  396. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +0 -1261
  397. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.resolver.json +0 -20
  398. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +0 -1209
  399. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.resolver.json +0 -20
  400. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +0 -1265
  401. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.resolver.json +0 -20
  402. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +0 -1253
  403. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.resolver.json +0 -20
  404. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +0 -1268
  405. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.resolver.json +0 -20
  406. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +0 -1261
  407. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.resolver.json +0 -20
  408. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +0 -1263
  409. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.resolver.json +0 -20
  410. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +0 -1266
  411. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +0 -23
  412. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +0 -623
  413. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +0 -1276
  414. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.resolver.json +0 -20
  415. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +0 -1264
  416. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.resolver.json +0 -20
  417. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +0 -1268
  418. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.resolver.json +0 -20
  419. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +0 -1270
  420. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.resolver.json +0 -20
  421. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +0 -1288
  422. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.resolver.json +0 -20
  423. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +0 -1272
  424. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.resolver.json +0 -20
  425. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +0 -1265
  426. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.resolver.json +0 -20
  427. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +0 -1287
  428. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.resolver.json +0 -20
  429. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +0 -1286
  430. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.resolver.json +0 -20
  431. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +0 -1285
  432. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.resolver.json +0 -20
  433. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +0 -1287
  434. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.resolver.json +0 -20
  435. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +0 -1278
  436. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.resolver.json +0 -20
  437. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +0 -1269
  438. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.resolver.json +0 -20
  439. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +0 -1285
  440. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.resolver.json +0 -20
  441. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +0 -1303
  442. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.resolver.json +0 -20
  443. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +0 -1274
  444. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.resolver.json +0 -20
  445. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +0 -1296
  446. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +0 -23
  447. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +0 -612
  448. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +0 -1282
  449. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.resolver.json +0 -20
  450. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +0 -1287
  451. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.resolver.json +0 -20
  452. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +0 -1268
  453. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.resolver.json +0 -20
  454. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +0 -1276
  455. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.resolver.json +0 -20
  456. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +0 -1273
  457. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.resolver.json +0 -20
  458. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +0 -1296
  459. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.resolver.json +0 -20
  460. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +0 -1286
  461. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +0 -249
  462. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +0 -249
  463. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +0 -225
  464. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +0 -249
  465. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +0 -224
  466. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +0 -249
  467. package/data/harnesses/code/skills/design/data/operator-pack/fixtures.md +0 -88
  468. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +0 -132
  469. package/data/harnesses/code/skills/design/data/operator-pack/trust-rubric.md +0 -76
  470. package/data/harnesses/code/skills/design/references/create.md +0 -173
  471. package/data/harnesses/code/skills/design/references/diagnosis.md +0 -108
  472. package/data/harnesses/code/skills/design/references/hard-rules.md +0 -177
  473. package/data/harnesses/code/skills/design/references/improve.md +0 -116
  474. package/data/harnesses/code/skills/design/references/interaction.md +0 -77
  475. package/data/harnesses/code/skills/design/references/introspect.md +0 -100
  476. package/data/harnesses/code/skills/design/references/lifecycle.md +0 -73
  477. package/data/harnesses/code/skills/design/references/personality.md +0 -575
  478. package/data/harnesses/code/skills/design/references/structure.md +0 -159
  479. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +0 -1312
  480. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +0 -1498
  481. package/data/harnesses/code/skills/design/scripts/generate-fixtures.mjs +0 -551
  482. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +0 -1092
  483. package/data/harnesses/code/skills/design/scripts/lib/golden.mjs +0 -26
  484. package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +0 -65
  485. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +0 -538
  486. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +0 -312
  487. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +0 -890
  488. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +0 -769
  489. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +0 -675
  490. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +0 -164
  491. package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +0 -439
@@ -0,0 +1,215 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: nvidia
4
+ tier: brand
5
+ segments: [dev-tools, ai-infra, hardware]
6
+ keywords: [green, black, angular, engineering, dense, grayscale, technical]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 nvidia entry (2026-07-04) + token twin; 2026-07-12 re-audit of the public nvidia.com brand system; Inter substitutes the proprietary NVIDIA Sans (Arial the documented fallback)"
9
+ license: open
10
+ ---
11
+
12
+ # nvidia — an engineering lab bench with one green LED
13
+
14
+ ## 1 Visual Theme
15
+ An engineering lab bench: a matte-black anodized chassis cracked open on white
16
+ anti-static paper, schematics pinned to a hairline grid, and a single green power
17
+ LED that means exactly one thing. Light default — paper-white canvas, near-black
18
+ ink, black `sidebar` chrome framing the work. Flat by conviction: hierarchy is
19
+ hairline `border`, ink, and 700-weight type, never shadow. One accent — NVIDIA
20
+ green `primary` — carries the one action and the active state, always with black
21
+ text on the green fill. Aggressively angular (2px radius everywhere) and dense:
22
+ this reads like engineering documentation, not consumer software. Dark is an
23
+ authored blackout-bench ladder, not an inversion.
24
+
25
+ ## 2 Color Roles
26
+ `foreground` near-black ink on the paper `background`; the neutral ramp is held at
27
+ the perceptual tint floor so it still reads as NVIDIA's strict grayscale. `primary`
28
+ green is the only chromatic hue that carries brand meaning — the one primary action,
29
+ active nav, and the focus `ring`; black sits on the green fill, never white. `accent`
30
+ is the pale-green selection wash, the operator translation of the green. Status hues
31
+ speak only status: `success` is the deep green (never the saturated brand green, so
32
+ status ≠ accent), `warning` orange, `destructive` red. The editorial blue and purple
33
+ survive only as `chart-2` / `chart-3`. The `sidebar` runs the black brand frame in
34
+ both themes.
35
+
36
+ ## 3 Typography
37
+ Inter (UI, body, headings — the open substitute for the proprietary NVIDIA face) /
38
+ JetBrains Mono (data). No second family, no display face: NVIDIA builds its entire
39
+ hierarchy from two weights — 400 and 700, nothing between — and size, never color.
40
+ Tracking is 0 on every step; NVIDIA does not tighten headings. Register scope: the
41
+ display step touches page titles and empty states only; every ID, code, log line,
42
+ and numeric column is mono with `tabular-nums`. Emphasis jumps straight to 700.
43
+
44
+ ## 4 Component Stylings
45
+ Buttons `radius-sm` (2px), `primary` green fill with black ink, no pill; the NVIDIA
46
+ secondary is a transparent rect with a 2px `primary` border and `foreground` text.
47
+ Inputs `background` fill on hairline `border`; focus swaps the edge to the green
48
+ `ring` — the system's only focus signal, no glow. Cards flat on `card` with a
49
+ hairline, never shadowed. Table rows dense, `border` grid lines, `muted` hover,
50
+ `accent` selection tint. Detail opens in the side panel beside the work. Badges
51
+ `secondary` fill, hairline border, uppercase caption; status badges take the status
52
+ hues, never `primary`.
53
+
54
+ ## 5 Layout
55
+ 4px base with NVIDIA's 8px rhythm governing section gaps; sidebar 248/56px; topbar
56
+ 56px (the brand's sub-nav strip height); side panel 420/640px; content max 1440px —
57
+ tables and dashboards run the full width; forms cap narrow. Density is dense across
58
+ every archetype; nothing about this shell is generous.
59
+
60
+ ## 6 Depth
61
+ Flat — NVIDIA cards do not lift; they are rectangles with hairline borders. Light:
62
+ hairlines carry all structure; the single soft shadow belongs to true overlays only,
63
+ tinted toward the green-gray ink, never black. Dark: the authored ladder does depth —
64
+ `background` 0.15 L, `surface-raised` +0.05, `surface-overlay` +0.10, hue held at
65
+ 131. On the black `sidebar`, dividers use the stronger `sidebar-border` hairline.
66
+ Focus is the 2px green `ring` outline on every interactive element; three z-levels.
67
+
68
+ ## 7 Motion
69
+ Mechanical and brisk — motion confirms, never decorates. Named moments: `green-press`
70
+ (primary-action press, 100ms), `grid-fade` (page content arrival, 140ms),
71
+ `panel-slide` (side panel, 200ms, interruptible). Physicality is granted to auth and
72
+ the first-run empty state only. Nothing animates in tables, dense grids, or any
73
+ keyboard-initiated action; hover states switch instantly.
74
+
75
+ ## 8 Iconography & Charts
76
+ Lucide at 2px stroke — the heaviest stroke in the library, matching the 700-weight
77
+ voice — on the 16/20px grid, `muted-foreground` default. Charts: hairline axes, no
78
+ gridline fills; categorical ramp leads with the brand green (`chart-1`) then the
79
+ editorial blue, purple, orange, and a neutral gray (`chart-2..5`); tooltips on
80
+ `surface-overlay` with mono numerals; `success` deep green stays off the chart ramp.
81
+
82
+ ## 9 Voice
83
+ Spec-sheet terse: imperative verbs, exact numbers, zero enthusiasm. "Deploy build" ·
84
+ "0 failures — 412 nodes reporting" · "Driver 551.86 rejected: checksum mismatch on
85
+ line 4."
86
+
87
+ ## 10 Do's & Don'ts
88
+ Do treat `primary` green as a precious resource — one action per viewport, black ink
89
+ on the fill. Do frame the white canvas in the black `sidebar`. Do jump weight
90
+ straight to 700. Don't promote link-blue or the editorial purple into chrome — chart
91
+ hues only. Don't let `success` borrow the saturated brand green. Don't pill anything
92
+ or exceed 2px radius (avatars excepted). Don't signal elevation with drop shadows.
93
+
94
+ ## 11 Responsive
95
+ 375: black sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet;
96
+ dense grids scroll horizontally. 768: sidebar collapses to the black icon rail;
97
+ tables scroll their overflow. 1024: two-pane queue+detail holds. 1440: forms cap;
98
+ tables and dashboards take the full width.
99
+
100
+ ## 12 Agent Prompt Guide
101
+ One accent, always green — black on green, never white; if two things want the
102
+ green, one is not primary. Frame the app in the black chrome. Build hierarchy from
103
+ weight (400 vs 700) and hairlines, tracking 0, radius 2px everywhere. Every numeric
104
+ column is tabular mono. Dark is authored — consult the block, never derive. Leave
105
+ the marketing skin behind: hero display, dark hero chapters, corner squares,
106
+ purple/blue washes.
107
+
108
+ ```yaml design-values
109
+ color:
110
+ light:
111
+ background: oklch(0.985 0.005 131)
112
+ foreground: oklch(0.145 0.008 131)
113
+ card: oklch(0.995 0.005 131)
114
+ card-foreground: oklch(0.145 0.008 131)
115
+ popover: oklch(0.995 0.005 131)
116
+ popover-foreground: oklch(0.145 0.008 131)
117
+ primary: oklch(0.713 0.194 131)
118
+ primary-foreground: oklch(0.145 0.010 131)
119
+ secondary: oklch(0.965 0.006 131)
120
+ secondary-foreground: oklch(0.20 0.008 131)
121
+ muted: oklch(0.955 0.006 131)
122
+ muted-foreground: oklch(0.46 0.008 131)
123
+ accent: oklch(0.955 0.045 125)
124
+ accent-foreground: oklch(0.18 0.020 131)
125
+ destructive: oklch(0.55 0.21 28)
126
+ destructive-foreground: oklch(0.985 0.008 28)
127
+ success: oklch(0.549 0.163 136)
128
+ warning: oklch(0.646 0.175 48)
129
+ border: oklch(0.85 0.006 131)
130
+ input: oklch(0.85 0.006 131)
131
+ ring: oklch(0.713 0.194 131)
132
+ surface-raised: oklch(0.995 0.005 131)
133
+ surface-overlay: oklch(0.995 0.005 131)
134
+ chart-1: oklch(0.713 0.194 131)
135
+ chart-2: oklch(0.42 0.164 259)
136
+ chart-3: oklch(0.529 0.224 312)
137
+ chart-4: oklch(0.646 0.175 48)
138
+ chart-5: oklch(0.60 0.010 131)
139
+ sidebar: oklch(0.13 0.008 131)
140
+ sidebar-foreground: oklch(0.985 0.006 131)
141
+ sidebar-primary: oklch(0.713 0.194 131)
142
+ sidebar-primary-foreground: oklch(0.145 0.010 131)
143
+ sidebar-accent: oklch(0.22 0.010 131)
144
+ sidebar-accent-foreground: oklch(0.985 0.006 131)
145
+ sidebar-border: oklch(0.42 0.008 131)
146
+ sidebar-ring: oklch(0.713 0.194 131)
147
+ dark:
148
+ background: oklch(0.15 0.008 131)
149
+ foreground: oklch(0.955 0.006 131)
150
+ card: oklch(0.19 0.009 131)
151
+ card-foreground: oklch(0.955 0.006 131)
152
+ popover: oklch(0.25 0.010 131)
153
+ popover-foreground: oklch(0.955 0.006 131)
154
+ primary: oklch(0.75 0.19 131)
155
+ primary-foreground: oklch(0.145 0.010 131)
156
+ secondary: oklch(0.23 0.010 131)
157
+ secondary-foreground: oklch(0.90 0.008 131)
158
+ muted: oklch(0.22 0.010 131)
159
+ muted-foreground: oklch(0.72 0.008 131)
160
+ accent: oklch(0.28 0.050 131)
161
+ accent-foreground: oklch(0.95 0.020 131)
162
+ destructive: oklch(0.62 0.20 28)
163
+ destructive-foreground: oklch(0.13 0.020 28)
164
+ success: oklch(0.68 0.16 136)
165
+ warning: oklch(0.72 0.16 48)
166
+ border: oklch(0.28 0.010 131)
167
+ input: oklch(0.28 0.010 131)
168
+ ring: oklch(0.75 0.19 131)
169
+ surface-raised: oklch(0.20 0.009 131)
170
+ surface-overlay: oklch(0.25 0.010 131)
171
+ chart-1: oklch(0.75 0.19 131)
172
+ chart-2: oklch(0.62 0.13 259)
173
+ chart-3: oklch(0.65 0.18 312)
174
+ chart-4: oklch(0.72 0.16 48)
175
+ chart-5: oklch(0.70 0.010 131)
176
+ sidebar: oklch(0.11 0.008 131)
177
+ sidebar-foreground: oklch(0.95 0.006 131)
178
+ sidebar-primary: oklch(0.75 0.19 131)
179
+ sidebar-primary-foreground: oklch(0.145 0.010 131)
180
+ sidebar-accent: oklch(0.18 0.010 131)
181
+ sidebar-accent-foreground: oklch(0.95 0.006 131)
182
+ sidebar-border: oklch(0.26 0.010 131)
183
+ sidebar-ring: oklch(0.75 0.19 131)
184
+ typography:
185
+ display: { family: "Inter Variable", fallback: "Arial, Helvetica, sans-serif", weights: [700] }
186
+ sans: { family: "Inter Variable", fallback: "Arial, Helvetica, sans-serif", weights: [400, 700] }
187
+ mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
188
+ ramp:
189
+ display: { size: 32px, line: 40px, weight: 700, family: display, tracking: 0 }
190
+ h1: { size: 24px, line: 30px, weight: 700, family: sans, tracking: 0 }
191
+ h2: { size: 20px, line: 25px, weight: 700, family: sans, tracking: 0 }
192
+ body: { size: 16px, line: 24px, weight: 400, family: sans }
193
+ small: { size: 15px, line: 21px, weight: 400, family: sans }
194
+ caption: { size: 14px, line: 20px, weight: 700, family: sans, transform: uppercase }
195
+ data: { size: 15px, line: 22px, weight: 400, family: mono, features: [tnum] }
196
+ register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, codes, logs, timestamps] }
197
+ elevation:
198
+ radius: { sm: 2px, md: 2px, lg: 4px }
199
+ hairline: border
200
+ shadow:
201
+ overlay: "0 4px 16px oklch(0.20 0.02 131 / 0.10)"
202
+ popover: "0 2px 8px oklch(0.20 0.02 131 / 0.08)"
203
+ dark-ladder: { background: 0.15, raised: 0.20, overlay: 0.25, hue-held: 131 }
204
+ motion:
205
+ duration: { press: 100ms, fade: 140ms, panel: 200ms }
206
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
207
+ entrance-never: ease-in
208
+ identity-moments: [auth, first-run-empty]
209
+ iconography: { set: lucide, stroke: 2px, grid: [16px, 20px] }
210
+ charts:
211
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
212
+ sequential: { from: background, to: chart-1 }
213
+ diverging: { negative: destructive, mid: muted, positive: success }
214
+ layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1440px }
215
+ ```
@@ -0,0 +1,213 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: ollama
4
+ tier: brand
5
+ segments: [dev-tools, ai-infra]
6
+ keywords: [monochrome, minimal, rounded, white, flat, readme]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 ollama entry (2026-07-04) + token twin; 2026-07-12 re-audit of ollama.com; Nunito substitutes the proprietary SF Pro Rounded (the v1 corpus's named substitute)"
9
+ license: open
10
+ ---
11
+
12
+ # ollama — a README on an empty pine desk
13
+
14
+ ## 1 Visual Theme
15
+ A README printed on bright paper and stapled at the corner, lying on an otherwise
16
+ empty pine desk; one line circled in black ink, a `curl` command in the margin.
17
+ Light default; aggressively flat — hierarchy is hairline `border`, type weight, and
18
+ pure-contrast ink, never shadow (the brand has no drop-shadow language at all). The
19
+ system is monochrome: `primary` is the ink itself, the only hue that carries
20
+ interactive meaning; the single non-neutral note is the functional blue focus
21
+ `ring`, a deliberate exception, not a second accent. The type voice is rounded and
22
+ approachable, the radius soft, the rhythm airy — whitespace is the brand's whole
23
+ layout. Dark is an authored terminal-at-night ladder, not inverted paper.
24
+
25
+ ## 2 Color Roles
26
+ Ink `foreground` on the white `background`, one continuous sheet — `card` sits level
27
+ with the canvas, separated by hairline alone. `primary` is the ink action: one black
28
+ (light) or paper-bright (dark) button per surface. `accent` is the pale selection
29
+ step past `muted`, so selection reads distinct from hover. The blue `ring` is focus
30
+ only — never a fill, never a link color that competes. Status hues speak only
31
+ status: `destructive` red, `success` green, `warning` amber. The neutral ramp holds
32
+ a barely-cool paper tint at the perceptual floor so it never turns pure gray. The
33
+ `sidebar` is the faint off-white rail beside the sheet.
34
+
35
+ ## 3 Typography
36
+ Nunito (display and UI — the open rounded face standing in for SF Pro Rounded; it is
37
+ the one thing that makes the surface read as Ollama) / JetBrains Mono (data, IDs,
38
+ install snippets). Headings and body share the rounded sans; tracking 0 on every
39
+ step — the rounded face needs no tightening. Register scope: the display step
40
+ touches page titles and empty states; mono owns every ID, code, timestamp, and log
41
+ line, with `tabular-nums` on numeric columns. Emphasis bumps weight one step, never
42
+ size.
43
+
44
+ ## 4 Component Stylings
45
+ Buttons `radius-md`, ink `primary` fill on paper text, soft-cornered — never the
46
+ marketing full pill (pills stay on chips and one singular hero action). Secondary:
47
+ `secondary` fill, hairline `border`. Inputs `background` fill, hairline `border`;
48
+ focus draws the blue `ring` at 2px, no glow. Cards `card` on hairline, flat on the
49
+ canvas. Table rows `muted` hover, `accent` selection, mono IDs. Detail opens in the
50
+ side panel beside the work. Badges may keep the full pill — a monochrome nod —
51
+ status fills only.
52
+
53
+ ## 5 Layout
54
+ 4px base with the brand's 88px signature rhythm reserved for major section breaks;
55
+ sidebar 248/56px; topbar 56px; side panel 420/640px; content max 1200px — a reading
56
+ measure, not a cockpit. Density is spacious globally and steps denser only per
57
+ archetype; generous air between groups is the identity.
58
+
59
+ ## 6 Depth
60
+ Flat. Hierarchy comes from hairlines, weight, and one inverted device — never
61
+ shadow. Light: `card` sits level with the sheet; only true overlays earn a whisper
62
+ of ink-tinted shadow. The dark spotlight surface (the brand's single "look here"
63
+ device) is earned once per view, never twice. Dark: the authored ladder does depth —
64
+ `background` 0.17 L, `surface-raised` +0.05, `surface-overlay` +0.09, hue held at
65
+ 260. Focus is the 2px blue `ring` outline; three z-levels.
66
+
67
+ ## 7 Motion
68
+ Gentle and unhurried, like the brand's voice. Named moments: `ink-press`
69
+ (primary-action press, 120ms), `sheet-fade` (page content arrival, 180ms),
70
+ `panel-slide` (side panel, 240ms, interruptible). Physicality is granted to auth and
71
+ the first-run empty state only. Lists, tables, and keyboard-driven actions never
72
+ animate; hover is instant.
73
+
74
+ ## 8 Iconography & Charts
75
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default — line icons only,
76
+ matching the rounded, friendly weight. Charts: hairline axes, no gridline fills; the
77
+ categorical ramp is monochrome-first — ink, the functional blue, a mid gray, then
78
+ the two status-adjacent hues (`chart-1..5`); tooltips on `surface-overlay` with mono
79
+ numerals. If a series wants color, it is either status or nothing.
80
+
81
+ ## 9 Voice
82
+ Plainspoken and helpful, like a good README: short sentences, no exclamation, the
83
+ command shown rather than described. "Pull model" · "No models yet — run `ollama
84
+ pull llama3` to get started" · "Download failed: manifest not found for tag 8b-q4."
85
+
86
+ ## 10 Do's & Don'ts
87
+ Do stay monochrome — ink is the accent; one ink action per surface. Do keep the
88
+ rounded sans voice; it is the brand's only personality. Do keep whitespace generous.
89
+ Don't introduce a second chromatic accent, a gradient, or an atmospheric background.
90
+ Don't full-pill working buttons. Don't lift cards with shadow — hairline or the one
91
+ dark spotlight surface. Don't swap in a display face.
92
+
93
+ ## 11 Responsive
94
+ 375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; section
95
+ air tightens. 768: sidebar collapses to the icon rail; tables scroll their overflow.
96
+ 1024: two-pane queue+detail holds. 1440: forms cap; reading surfaces center under
97
+ the 1200px measure.
98
+
99
+ ## 12 Agent Prompt Guide
100
+ Lead every list surface with its table; lead every entity with its primary read.
101
+ Ink is the accent — if two things want ink, one is not primary. Flat before shadow;
102
+ spend the dark spotlight surface once per view. Keep the rounded sans; keep the blue
103
+ ring visible. Every numeric column is tabular mono. Dark is authored — consult the
104
+ block, never derive.
105
+
106
+ ```yaml design-values
107
+ color:
108
+ light:
109
+ background: oklch(0.99 0.005 260)
110
+ foreground: oklch(0.13 0.006 260)
111
+ card: oklch(0.99 0.005 260)
112
+ card-foreground: oklch(0.13 0.006 260)
113
+ popover: oklch(0.995 0.005 260)
114
+ popover-foreground: oklch(0.13 0.006 260)
115
+ primary: oklch(0.13 0.006 260)
116
+ primary-foreground: oklch(0.99 0.005 260)
117
+ secondary: oklch(0.975 0.005 260)
118
+ secondary-foreground: oklch(0.18 0.006 260)
119
+ muted: oklch(0.975 0.005 260)
120
+ muted-foreground: oklch(0.47 0.008 260)
121
+ accent: oklch(0.965 0.005 260)
122
+ accent-foreground: oklch(0.13 0.006 260)
123
+ destructive: oklch(0.546 0.195 27)
124
+ destructive-foreground: oklch(0.98 0.008 27)
125
+ success: oklch(0.524 0.140 148)
126
+ warning: oklch(0.555 0.146 49)
127
+ border: oklch(0.925 0.005 260)
128
+ input: oklch(0.925 0.005 260)
129
+ ring: oklch(0.623 0.188 260)
130
+ surface-raised: oklch(0.995 0.005 260)
131
+ surface-overlay: oklch(0.995 0.005 260)
132
+ chart-1: oklch(0.35 0.006 260)
133
+ chart-2: oklch(0.623 0.188 260)
134
+ chart-3: oklch(0.62 0.008 260)
135
+ chart-4: oklch(0.524 0.140 148)
136
+ chart-5: oklch(0.555 0.146 49)
137
+ sidebar: oklch(0.975 0.005 260)
138
+ sidebar-foreground: oklch(0.25 0.006 260)
139
+ sidebar-primary: oklch(0.13 0.006 260)
140
+ sidebar-primary-foreground: oklch(0.99 0.005 260)
141
+ sidebar-accent: oklch(0.945 0.005 260)
142
+ sidebar-accent-foreground: oklch(0.13 0.006 260)
143
+ sidebar-border: oklch(0.92 0.005 260)
144
+ sidebar-ring: oklch(0.623 0.188 260)
145
+ dark:
146
+ background: oklch(0.17 0.005 260)
147
+ foreground: oklch(0.95 0.005 260)
148
+ card: oklch(0.22 0.006 260)
149
+ card-foreground: oklch(0.95 0.005 260)
150
+ popover: oklch(0.26 0.006 260)
151
+ popover-foreground: oklch(0.95 0.005 260)
152
+ primary: oklch(0.95 0.005 260)
153
+ primary-foreground: oklch(0.15 0.005 260)
154
+ secondary: oklch(0.24 0.006 260)
155
+ secondary-foreground: oklch(0.90 0.005 260)
156
+ muted: oklch(0.23 0.006 260)
157
+ muted-foreground: oklch(0.72 0.005 260)
158
+ accent: oklch(0.27 0.006 260)
159
+ accent-foreground: oklch(0.95 0.005 260)
160
+ destructive: oklch(0.62 0.19 27)
161
+ destructive-foreground: oklch(0.13 0.020 27)
162
+ success: oklch(0.66 0.14 148)
163
+ warning: oklch(0.70 0.14 55)
164
+ border: oklch(0.28 0.006 260)
165
+ input: oklch(0.28 0.006 260)
166
+ ring: oklch(0.68 0.17 260)
167
+ surface-raised: oklch(0.22 0.006 260)
168
+ surface-overlay: oklch(0.26 0.006 260)
169
+ chart-1: oklch(0.85 0.005 260)
170
+ chart-2: oklch(0.68 0.17 260)
171
+ chart-3: oklch(0.55 0.006 260)
172
+ chart-4: oklch(0.66 0.14 148)
173
+ chart-5: oklch(0.70 0.14 55)
174
+ sidebar: oklch(0.15 0.005 260)
175
+ sidebar-foreground: oklch(0.88 0.005 260)
176
+ sidebar-primary: oklch(0.95 0.005 260)
177
+ sidebar-primary-foreground: oklch(0.15 0.005 260)
178
+ sidebar-accent: oklch(0.22 0.006 260)
179
+ sidebar-accent-foreground: oklch(0.95 0.005 260)
180
+ sidebar-border: oklch(0.25 0.006 260)
181
+ sidebar-ring: oklch(0.68 0.17 260)
182
+ typography:
183
+ display: { family: "Nunito Variable", fallback: "system-ui, sans-serif", weights: [700] }
184
+ sans: { family: "Nunito Variable", fallback: "system-ui, sans-serif", weights: [400, 700] }
185
+ mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
186
+ ramp:
187
+ display: { size: 30px, line: 36px, weight: 700, family: display, tracking: 0 }
188
+ h1: { size: 24px, line: 32px, weight: 700, family: sans, tracking: 0 }
189
+ h2: { size: 18px, line: 25px, weight: 700, family: sans, tracking: 0 }
190
+ body: { size: 14px, line: 20px, weight: 400, family: sans }
191
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
192
+ caption: { size: 12px, line: 16px, weight: 400, family: sans }
193
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
194
+ register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, snippets, logs] }
195
+ elevation:
196
+ radius: { sm: 6px, md: 8px, lg: 12px }
197
+ hairline: border
198
+ shadow:
199
+ overlay: "0 8px 24px oklch(0.20 0.01 260 / 0.10)"
200
+ popover: "0 4px 12px oklch(0.20 0.01 260 / 0.08)"
201
+ dark-ladder: { background: 0.17, raised: 0.22, overlay: 0.26, hue-held: 260 }
202
+ motion:
203
+ duration: { press: 120ms, fade: 180ms, panel: 240ms }
204
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
205
+ entrance-never: ease-in
206
+ identity-moments: [auth, first-run-empty]
207
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
208
+ charts:
209
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
210
+ sequential: { from: background, to: chart-1 }
211
+ diverging: { negative: destructive, mid: muted, positive: success }
212
+ layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1200px }
213
+ ```
@@ -0,0 +1,216 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: opencode-ai
4
+ tier: brand
5
+ segments: [dev-tools, ai-infra, terminal]
6
+ keywords: [monospace, terminal, cream, warm, dense, manpage]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 opencode-ai entry (2026-07-04) + token twin; 2026-07-12 re-audit of opencode.ai; JetBrains Mono substitutes the proprietary Berkeley Mono (the v1 corpus's shipped substitute)"
9
+ license: open
10
+ ---
11
+
12
+ # opencode-ai — tractor-feed paper in one monospace column
13
+
14
+ ## 1 Visual Theme
15
+ A tidy workbench: a mechanical keyboard, a sheet of warm cream tractor-feed printer
16
+ paper with every character sitting in the same monospace column, and one blue LED on
17
+ the keyboard's mod key. Light default — the whole UI floats on the faintly-blushed
18
+ cream `background`, never the category's cool gray. Emphatically flat: hierarchy is
19
+ hairline `border`, weight, and near-black-on-cream contrast — nothing lifts, nothing
20
+ floats. The type voice IS the identity: one monospaced face carries every role, no
21
+ sans anywhere. The primary action is an ink button; Apple Blue is the single
22
+ chromatic accent, held scarce. Dense — the surface reads like a terminal. Dark is
23
+ the brand's own TUI, authored as a warm charcoal ladder.
24
+
25
+ ## 2 Color Roles
26
+ Near-black ink `foreground` on the warm cream `background`; `card` is the same cream
27
+ seated by a hairline, no surface bands. `primary` is the ink button — dark in light,
28
+ cream in dark — never blue. `accent` is the warm selection step; the blue accent hue
29
+ lives in active-nav marks, links, and `chart-1`, held scarce. The focus `ring` is
30
+ ink — a flat border, keyboard-first, no glow. Status is the Apple HIG ramp:
31
+ `destructive` red, `success` green, `warning` amber — status only, never chrome. All
32
+ neutrals hold the warm blush (hue 17) at a whisper of chroma; pure white and pure
33
+ gray are both off-brand.
34
+
35
+ ## 3 Typography
36
+ One face: JetBrains Mono (the open substitute for the proprietary Berkeley Mono)
37
+ carries display, body, headings, labels, IDs, and every numeric column — there is no
38
+ sans/mono split, and numerals align natively so tabular figures are inherent.
39
+ Weights 400 / 500 / 700; tracking 0 on every role — monospace does not track.
40
+ Register scope is trivially total: the display step touches page titles only, and
41
+ "mono" owns everything. Emphasis steps weight 400 → 500 → 700, never tracking, never
42
+ a second face. Page titles top out at 24px; the 38px marketing display stays behind.
43
+
44
+ ## 4 Component Stylings
45
+ Buttons `radius-md` (4px), ink `primary` fill on cream text, never a pill.
46
+ Secondary: `secondary` fill, hairline `border`. Inputs `background` fill, hairline
47
+ `border`; focus draws the ink `ring` at 2px — a flat border. Cards `card` on a
48
+ hairline with **sharp corners** (`radius-sm` 0) — containers sharp, interactive
49
+ elements 4px: that two-value split is the whole geometry. Table rows `muted` hover,
50
+ `accent` selection, blue active-row marks. Terminal, log, and console panels wear
51
+ the dark inlay: `popover`-dark charcoal, cream mono text. Badges 4px, uppercase
52
+ caption, status fills only.
53
+
54
+ ## 5 Layout
55
+ 8px base with fine 1/4px steps (the source's own scale; the 96px marketing rhythm
56
+ stays behind); sidebar 248/56px; topbar 56px; side panel 420/640px; content max
57
+ 1280px. The grid runs tight — a terminal-native brand earns its density; the cream
58
+ sidebar is barely warmer than the canvas, split by a hairline, not a band.
59
+
60
+ ## 6 Depth
61
+ Categorically flat — the source has no drop shadows. Light: hairlines and one color
62
+ inversion (the dark console inlay) carry all hierarchy; true overlays earn only the
63
+ faintest warm-tinted whisper. Dark: the authored ladder does depth — `background`
64
+ 0.20 L (the TUI charcoal), `surface-raised` +0.05, `surface-overlay` +0.10, hue held
65
+ at 17. Focus is the 2px ink `ring`; three z-levels: content, sticky chrome, overlay.
66
+
67
+ ## 7 Motion
68
+ Terminal-instant: state changes snap, transitions only smooth what would otherwise
69
+ flicker. Named moments: `caret-press` (primary-action press, 80ms), `column-fade`
70
+ (page content arrival, 120ms), `panel-slide` (side panel, 180ms, interruptible).
71
+ Physicality is granted to auth only. Tables, logs, and every keyboard-initiated
72
+ action render instantly — a terminal does not tween.
73
+
74
+ ## 8 Iconography & Charts
75
+ Lucide, 1.5px stroke, 16/20px grid — real icons, not the source's ASCII `[+]`
76
+ bracket markers, which stay behind. Charts: hairline axes, no gridline fills;
77
+ categorical ramp leads with the Apple Blue (`chart-1`), then warm ink, green, amber,
78
+ and a muted slate (`chart-2..5`); tooltips on `surface-overlay`, numerals aligned
79
+ natively in the mono face.
80
+
81
+ ## 9 Voice
82
+ Manpage terse: lowercase-leaning commands, flags spelled out, no cheer. "run agent"
83
+ · "no sessions — `opencode run` starts one" · "exit 1: config not found at
84
+ ~/.opencode/config.json."
85
+
86
+ ## 10 Do's & Don'ts
87
+ Do anchor every surface on the warm cream — pure white reads as any-other-tool. Do
88
+ render every role in the one monospaced face. Do keep the primary an ink button and
89
+ Apple Blue scarce: interactive signal, links, `chart-1` only. Do keep containers
90
+ sharp (0) and controls at 4px. Don't introduce a sans or display face. Don't fill
91
+ the primary blue. Don't signal elevation with shadow. Don't wrap log lines — they
92
+ scroll.
93
+
94
+ ## 11 Responsive
95
+ 375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; density
96
+ holds. 768: sidebar collapses to the icon rail; tables scroll their overflow. 1024:
97
+ two-pane queue+detail holds. 1440: forms cap; tables and dashboards use the full
98
+ width. Terminal and log inlays keep mono legibility at every breakpoint by
99
+ scrolling horizontally, never wrapping.
100
+
101
+ ## 12 Agent Prompt Guide
102
+ Reach for the warm cream first — never pure white; the faint blush is the brand.
103
+ One monospaced face for every text role; numerals align natively. The primary action
104
+ is an ink button; spend the blue only on interactive and data signal — if two things
105
+ want the blue, one is not primary. Containers sharp, controls 4px. Dress terminal
106
+ and log panels in the dark inlay — real console chrome. Dark is authored — consult
107
+ the block, never derive.
108
+
109
+ ```yaml design-values
110
+ color:
111
+ light:
112
+ background: oklch(0.99 0.005 17)
113
+ foreground: oklch(0.23 0.006 17)
114
+ card: oklch(0.99 0.005 17)
115
+ card-foreground: oklch(0.23 0.006 17)
116
+ popover: oklch(0.995 0.005 17)
117
+ popover-foreground: oklch(0.23 0.006 17)
118
+ primary: oklch(0.23 0.006 17)
119
+ primary-foreground: oklch(0.99 0.005 17)
120
+ secondary: oklch(0.975 0.005 17)
121
+ secondary-foreground: oklch(0.28 0.006 17)
122
+ muted: oklch(0.975 0.005 17)
123
+ muted-foreground: oklch(0.47 0.006 17)
124
+ accent: oklch(0.95 0.006 17)
125
+ accent-foreground: oklch(0.23 0.006 17)
126
+ destructive: oklch(0.55 0.22 29)
127
+ destructive-foreground: oklch(0.98 0.010 29)
128
+ success: oklch(0.60 0.17 147)
129
+ warning: oklch(0.70 0.16 67)
130
+ border: oklch(0.90 0.005 17)
131
+ input: oklch(0.90 0.005 17)
132
+ ring: oklch(0.23 0.006 17)
133
+ surface-raised: oklch(0.995 0.005 17)
134
+ surface-overlay: oklch(0.995 0.005 17)
135
+ chart-1: oklch(0.603 0.218 257)
136
+ chart-2: oklch(0.35 0.006 17)
137
+ chart-3: oklch(0.60 0.17 147)
138
+ chart-4: oklch(0.70 0.16 67)
139
+ chart-5: oklch(0.55 0.070 257)
140
+ sidebar: oklch(0.975 0.005 17)
141
+ sidebar-foreground: oklch(0.28 0.006 17)
142
+ sidebar-primary: oklch(0.23 0.006 17)
143
+ sidebar-primary-foreground: oklch(0.99 0.005 17)
144
+ sidebar-accent: oklch(0.945 0.006 17)
145
+ sidebar-accent-foreground: oklch(0.23 0.006 17)
146
+ sidebar-border: oklch(0.90 0.005 17)
147
+ sidebar-ring: oklch(0.23 0.006 17)
148
+ dark:
149
+ background: oklch(0.20 0.006 17)
150
+ foreground: oklch(0.96 0.005 17)
151
+ card: oklch(0.245 0.007 17)
152
+ card-foreground: oklch(0.96 0.005 17)
153
+ popover: oklch(0.30 0.008 17)
154
+ popover-foreground: oklch(0.96 0.005 17)
155
+ primary: oklch(0.96 0.005 17)
156
+ primary-foreground: oklch(0.20 0.006 17)
157
+ secondary: oklch(0.27 0.007 17)
158
+ secondary-foreground: oklch(0.92 0.005 17)
159
+ muted: oklch(0.26 0.007 17)
160
+ muted-foreground: oklch(0.72 0.006 17)
161
+ accent: oklch(0.31 0.008 17)
162
+ accent-foreground: oklch(0.96 0.005 17)
163
+ destructive: oklch(0.654 0.232 29)
164
+ destructive-foreground: oklch(0.13 0.030 29)
165
+ success: oklch(0.756 0.208 147)
166
+ warning: oklch(0.782 0.171 67)
167
+ border: oklch(0.31 0.008 17)
168
+ input: oklch(0.31 0.008 17)
169
+ ring: oklch(0.96 0.005 17)
170
+ surface-raised: oklch(0.25 0.007 17)
171
+ surface-overlay: oklch(0.30 0.008 17)
172
+ chart-1: oklch(0.65 0.190 257)
173
+ chart-2: oklch(0.80 0.006 17)
174
+ chart-3: oklch(0.756 0.208 147)
175
+ chart-4: oklch(0.782 0.171 67)
176
+ chart-5: oklch(0.65 0.070 257)
177
+ sidebar: oklch(0.18 0.006 17)
178
+ sidebar-foreground: oklch(0.92 0.005 17)
179
+ sidebar-primary: oklch(0.96 0.005 17)
180
+ sidebar-primary-foreground: oklch(0.20 0.006 17)
181
+ sidebar-accent: oklch(0.24 0.007 17)
182
+ sidebar-accent-foreground: oklch(0.96 0.005 17)
183
+ sidebar-border: oklch(0.28 0.007 17)
184
+ sidebar-ring: oklch(0.96 0.005 17)
185
+ typography:
186
+ display: { family: "JetBrains Mono Variable", fallback: "ui-monospace, SFMono-Regular, monospace", weights: [700] }
187
+ sans: { family: "JetBrains Mono Variable", fallback: "ui-monospace, SFMono-Regular, monospace", weights: [400, 500, 700] }
188
+ mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, SFMono-Regular, monospace", weights: [400, 500] }
189
+ ramp:
190
+ display: { size: 24px, line: 34px, weight: 700, family: display, tracking: 0 }
191
+ h1: { size: 24px, line: 34px, weight: 700, family: sans, tracking: 0 }
192
+ h2: { size: 18px, line: 25px, weight: 700, family: sans, tracking: 0 }
193
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
194
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
195
+ caption: { size: 12px, line: 17px, weight: 500, family: sans }
196
+ data: { size: 13px, line: 20px, weight: 400, family: mono }
197
+ register-scope: { display: [page-title], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, logs, everything] }
198
+ elevation:
199
+ radius: { sm: 0px, md: 4px, lg: 4px }
200
+ hairline: border
201
+ shadow:
202
+ overlay: "0 6px 20px oklch(0.20 0.010 17 / 0.08)"
203
+ popover: "0 3px 10px oklch(0.20 0.010 17 / 0.06)"
204
+ dark-ladder: { background: 0.20, raised: 0.25, overlay: 0.30, hue-held: 17 }
205
+ motion:
206
+ duration: { press: 80ms, fade: 120ms, panel: 180ms }
207
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
208
+ entrance-never: ease-in
209
+ identity-moments: [auth]
210
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
211
+ charts:
212
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
213
+ sequential: { from: background, to: chart-1 }
214
+ diverging: { negative: destructive, mid: muted, positive: success }
215
+ layout: { base: 8px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1280px }
216
+ ```