@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,218 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: posthog
4
+ tier: brand
5
+ segments: [analytics, dev-tools, product]
6
+ keywords: [warm, cream, yellow, olive, friendly, flat]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 posthog entry (2026-07-04) + token twin; 2026-07-12 re-audit of posthog.com; IBM Plex Sans and Source Code Pro are the brand's own open faces"
9
+ license: open
10
+ ---
11
+
12
+ # posthog — an engineering sketchbook with one yellow highlighter
13
+
14
+ ## 1 Visual Theme
15
+ An engineer's sketchbook open on a warm cream desk pad: pencil grid lines, an
16
+ olive-ink fountain pen, white index cards taped flat to the page, and one yellow
17
+ highlighter that marks exactly one thing per spread. Light default — the warm cream
18
+ `background` is the signature, never plain white, with true-white-reading cards
19
+ floating on it. Flat: hierarchy is hairline olive `border`, weight, and color,
20
+ never shadow. One loud accent — PostHog yellow `primary` — carries the one action
21
+ that matters, always wearing dark olive ink, never white. The whole neutral ramp is
22
+ warm olive-gray: a friendly engineering blog, not cold gray tooling. Dark is an
23
+ authored olive-charcoal ladder grown from the brand's dark code island.
24
+
25
+ ## 2 Color Roles
26
+ Deep olive-charcoal `foreground` on the cream `background`; `card` is the white
27
+ step that floats on it. `primary` yellow is the only saturated hue that carries a
28
+ call to action — dark ink on the fill, one element per surface. `accent` is the
29
+ pale-yellow selection wash. The focus `ring` is the quiet functional blue — the
30
+ brand focuses in blue, not yellow — and blue otherwise stays a link-and-focus
31
+ signal, never chrome. Status hues speak only status: `destructive` red, `success`
32
+ green, `warning` a gold-amber deliberately deeper than the CTA yellow so caution
33
+ never impersonates the accent. The pastel callout family and the hedgehogs are
34
+ marketing decoration with no role here.
35
+
36
+ ## 3 Typography
37
+ IBM Plex Sans (UI, body, headings) / Source Code Pro (data) — the brand's own open
38
+ pair. The signature is hierarchy built from weight (400/600), never a second
39
+ family and never size jumps; the 36px/800 hero tier stays behind. Register scope:
40
+ the display step touches page titles and empty states only; mono owns IDs, codes,
41
+ timestamps, and log lines, with `tabular-nums` on every numeric column. The caption
42
+ step is the uppercase eyebrow with +0.02em tracking.
43
+
44
+ ## 4 Component Stylings
45
+ Buttons `radius-md`, `primary` yellow fill with dark ink, no pill — the pill is the
46
+ marketing nav CTA only. Secondary: greige `secondary` fill, hairline `border`.
47
+ Inputs `card` fill, hairline `border`; focus draws the blue `ring` at 2px, no glow.
48
+ Cards white `card` on hairline, flat — flat cards on cream is the brand. Table rows
49
+ `muted` hover, `accent` selection, mono IDs. Detail opens in the side panel. Badges
50
+ hairline border, uppercase caption, status fills never `primary`. Code and log
51
+ surfaces invert to the dark olive-charcoal fill with mono text — the one dark
52
+ moment on the light UI.
53
+
54
+ ## 5 Layout
55
+ 4px base with the brand's rhythm centered on the 8px step (the 80px marketing
56
+ rhythm stays behind); sidebar 248/56px; topbar 56px; side panel 420/640px; content
57
+ max 1320px. Density is standard — dense-capable, warm, never cramped; the cream
58
+ sidebar sits a shade deeper than the canvas.
59
+
60
+ ## 6 Depth
61
+ Flat — the brand and operator restraint agree completely. Light: cream canvas,
62
+ white cards on hairlines, no shadow; only true overlays earn a soft olive-tinted
63
+ lift, and the dark code surface "elevates" with color, not shadow. Dark: the
64
+ authored ladder does depth — `background` 0.19 L, `surface-raised` +0.04,
65
+ `surface-overlay` +0.09, hue held at 119. Focus is the 2px blue `ring`; three
66
+ z-levels.
67
+
68
+ ## 7 Motion
69
+ Friendly but working: motion warms transitions without ever delaying data. Named
70
+ moments: `highlight-press` (primary-action press, 120ms), `card-fade` (page
71
+ content arrival, 160ms), `panel-slide` (side panel, 220ms, interruptible).
72
+ Physicality is granted to auth and the first-run empty state — the one place the
73
+ brand's playfulness may surface. Tables, charts, and keyboard actions never
74
+ animate.
75
+
76
+ ## 8 Iconography & Charts
77
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default; no mascots, no
78
+ hand-drawn ornament. Charts: hairline axes on the cream, no gridline fills;
79
+ categorical ramp leads blue then yellow, green, red, purple (`chart-1..5`) — the
80
+ insight palette, kept off chrome; tooltips on `surface-overlay` with mono numerals;
81
+ `warning` gold stays deeper than the CTA yellow even in charts.
82
+
83
+ ## 9 Voice
84
+ A helpful engineer who writes docs for fun: plain verbs, concrete numbers, dry
85
+ warmth without exclamation. "Create insight" · "No events yet — install the
86
+ snippet and refresh" · "Query timed out at 30s; narrow the date range or sample
87
+ the events."
88
+
89
+ ## 10 Do's & Don'ts
90
+ Do keep the cream canvas — never flatten it to plain white; the warmth is the
91
+ identity once the mascots are gone. Do reserve yellow for the single most
92
+ important action, always with dark ink. Do render code and log surfaces on the
93
+ dark olive fill. Don't pill operator buttons. Don't promote blue past links and
94
+ focus. Don't bring the 800-weight hero tier or pastel callout bands into chrome.
95
+ Don't shadow cards.
96
+
97
+ ## 11 Responsive
98
+ 375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet;
99
+ density holds. 768: sidebar collapses to the icon rail; tables scroll their
100
+ overflow. 1024: two-pane queue+detail holds. 1440: forms cap; tables and
101
+ dashboards use the full width under the 1320px cap.
102
+
103
+ ## 12 Agent Prompt Guide
104
+ The cream is the app canvas; white cards float on it. Spend the yellow once per
105
+ surface, always with dark ink — if two things want it, one is not primary. Build
106
+ hierarchy from weight 400/600 on Plex Sans; every numeric column is tabular mono.
107
+ Blue is links and focus only; one loud color. Stay flat — the dark code surface is
108
+ the only "elevated" thing and it lifts with color. Dark is authored — consult the
109
+ block, never derive.
110
+
111
+ ```yaml design-values
112
+ color:
113
+ light:
114
+ background: oklch(0.95 0.008 114)
115
+ foreground: oklch(0.26 0.015 119)
116
+ card: oklch(0.99 0.005 114)
117
+ card-foreground: oklch(0.26 0.015 119)
118
+ popover: oklch(0.995 0.005 114)
119
+ popover-foreground: oklch(0.26 0.015 119)
120
+ primary: oklch(0.783 0.166 73.5)
121
+ primary-foreground: oklch(0.26 0.015 119)
122
+ secondary: oklch(0.924 0.010 119)
123
+ secondary-foreground: oklch(0.30 0.015 119)
124
+ muted: oklch(0.924 0.010 119)
125
+ muted-foreground: oklch(0.45 0.015 115)
126
+ accent: oklch(0.944 0.040 90)
127
+ accent-foreground: oklch(0.28 0.015 119)
128
+ destructive: oklch(0.55 0.180 28)
129
+ destructive-foreground: oklch(0.98 0.010 28)
130
+ success: oklch(0.574 0.107 163)
131
+ warning: oklch(0.617 0.124 74)
132
+ border: oklch(0.806 0.014 116)
133
+ input: oklch(0.806 0.014 116)
134
+ ring: oklch(0.609 0.162 253)
135
+ surface-raised: oklch(0.99 0.005 114)
136
+ surface-overlay: oklch(0.995 0.005 114)
137
+ chart-1: oklch(0.609 0.162 253)
138
+ chart-2: oklch(0.783 0.166 73.5)
139
+ chart-3: oklch(0.574 0.107 163)
140
+ chart-4: oklch(0.55 0.180 28)
141
+ chart-5: oklch(0.55 0.180 300)
142
+ sidebar: oklch(0.93 0.010 114)
143
+ sidebar-foreground: oklch(0.28 0.015 119)
144
+ sidebar-primary: oklch(0.783 0.166 73.5)
145
+ sidebar-primary-foreground: oklch(0.26 0.015 119)
146
+ sidebar-accent: oklch(0.885 0.012 114)
147
+ sidebar-accent-foreground: oklch(0.26 0.015 119)
148
+ sidebar-border: oklch(0.83 0.012 114)
149
+ sidebar-ring: oklch(0.609 0.162 253)
150
+ dark:
151
+ background: oklch(0.19 0.010 119)
152
+ foreground: oklch(0.93 0.010 105)
153
+ card: oklch(0.23 0.012 119)
154
+ card-foreground: oklch(0.93 0.010 105)
155
+ popover: oklch(0.28 0.012 119)
156
+ popover-foreground: oklch(0.93 0.010 105)
157
+ primary: oklch(0.783 0.166 73.5)
158
+ primary-foreground: oklch(0.22 0.020 119)
159
+ secondary: oklch(0.26 0.012 119)
160
+ secondary-foreground: oklch(0.90 0.010 105)
161
+ muted: oklch(0.25 0.012 119)
162
+ muted-foreground: oklch(0.72 0.012 115)
163
+ accent: oklch(0.32 0.045 95)
164
+ accent-foreground: oklch(0.95 0.020 95)
165
+ destructive: oklch(0.64 0.170 28)
166
+ destructive-foreground: oklch(0.13 0.020 28)
167
+ success: oklch(0.68 0.120 163)
168
+ warning: oklch(0.72 0.130 74)
169
+ border: oklch(0.30 0.012 119)
170
+ input: oklch(0.30 0.012 119)
171
+ ring: oklch(0.68 0.150 253)
172
+ surface-raised: oklch(0.23 0.012 119)
173
+ surface-overlay: oklch(0.28 0.012 119)
174
+ chart-1: oklch(0.68 0.150 253)
175
+ chart-2: oklch(0.80 0.160 78)
176
+ chart-3: oklch(0.68 0.120 163)
177
+ chart-4: oklch(0.64 0.170 28)
178
+ chart-5: oklch(0.65 0.170 300)
179
+ sidebar: oklch(0.17 0.010 119)
180
+ sidebar-foreground: oklch(0.90 0.010 105)
181
+ sidebar-primary: oklch(0.783 0.166 73.5)
182
+ sidebar-primary-foreground: oklch(0.22 0.020 119)
183
+ sidebar-accent: oklch(0.24 0.012 119)
184
+ sidebar-accent-foreground: oklch(0.93 0.010 105)
185
+ sidebar-border: oklch(0.27 0.012 119)
186
+ sidebar-ring: oklch(0.68 0.150 253)
187
+ typography:
188
+ display: { family: "IBM Plex Sans Variable", fallback: "system-ui, sans-serif", weights: [600] }
189
+ sans: { family: "IBM Plex Sans Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
190
+ mono: { family: "Source Code Pro Variable", fallback: "ui-monospace, monospace", weights: [400] }
191
+ ramp:
192
+ display: { size: 28px, line: 36px, weight: 600, family: display, tracking: -0.01em }
193
+ h1: { size: 24px, line: 31px, weight: 600, family: sans }
194
+ h2: { size: 20px, line: 28px, weight: 600, family: sans }
195
+ body: { size: 14px, line: 20px, weight: 400, family: sans }
196
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
197
+ caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.02em, transform: uppercase }
198
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
199
+ register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, code, logs] }
200
+ elevation:
201
+ radius: { sm: 4px, md: 6px, lg: 8px }
202
+ hairline: border
203
+ shadow:
204
+ overlay: "0 8px 24px oklch(0.26 0.020 119 / 0.12)"
205
+ popover: "0 4px 12px oklch(0.26 0.020 119 / 0.09)"
206
+ dark-ladder: { background: 0.19, raised: 0.23, overlay: 0.28, hue-held: 119 }
207
+ motion:
208
+ duration: { press: 120ms, fade: 160ms, panel: 220ms }
209
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
210
+ entrance-never: ease-in
211
+ identity-moments: [auth, first-run-empty]
212
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
213
+ charts:
214
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
215
+ sequential: { from: background, to: chart-1 }
216
+ diverging: { negative: destructive, mid: muted, positive: success }
217
+ layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1320px }
218
+ ```
@@ -0,0 +1,214 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: raycast
4
+ tier: brand
5
+ segments: [dev-tools, productivity]
6
+ keywords: [dark, monochrome, command-palette, dense, keyboard, shadowless]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 raycast entry (2026-07-04) + token twin; 2026-07-12 re-audit of raycast.com; Inter with ss03 is the brand's own face — the light theme is an authored daytime floor (the source ships none)"
9
+ license: open
10
+ ---
11
+
12
+ # raycast — a backlit keyboard in a dark studio
13
+
14
+ ## 1 Visual Theme
15
+ A darkened studio at 2 a.m.: black glass desk, a single backlit keyboard, and one
16
+ key glowing white — press it and the palette opens. Dark by default and dark by
17
+ conviction; the light theme is an authored daytime floor, not the brand. Flat and
18
+ shadowless: hierarchy is a four-step surface ladder (`background` → `card` →
19
+ `muted` → overlay), never a drop shadow — the brand has none at all. Chrome is
20
+ monochrome: white is the single action color; every primary is a white rounded
21
+ rect on near-black. The four saturated hues speak status and category only, never
22
+ chrome. Dense — command-palette chrome runs tight, and operator surfaces inherit
23
+ it.
24
+
25
+ ## 2 Color Roles
26
+ Off-white `foreground` on the near-black `background`; `card` one notch up,
27
+ `muted`/`secondary` the elevated notch for inputs and active chips, `accent` the
28
+ surface lift for selection — a lift, not a hue. `primary` is white — the one
29
+ action, the brightest pixel, black text on it — and the `ring` is the same white,
30
+ unmistakable and keyboard-first. The four saturated hues hold strict lanes:
31
+ `destructive` red, `success` green, `warning` yellow, and blue leading the chart
32
+ ramp; none of them ever becomes a button. Neutrals hold a whisper of cool tint at
33
+ the perceptual floor. In the daytime floor the action inverts to near-black on
34
+ porcelain — the same highest-contrast invariant.
35
+
36
+ ## 3 Typography
37
+ Inter with `ss03` (plus `calt`/`kern`/`liga`) enabled globally — the alternate `g`
38
+ is the brand's signature; without it the type reads as plain Inter and loses the
39
+ voice. JetBrains Mono for IDs, codes, timestamps, and logs. Letter spacing is
40
+ *positive* — Raycast opens type rather than tightening it; headings track +0.01em,
41
+ the rare operator system that does. Register scope: display touches page titles
42
+ and empty states; mono owns data with `tabular-nums`. Emphasis bumps weight one
43
+ step, never size; hero display stays behind.
44
+
45
+ ## 4 Component Stylings
46
+ Buttons `radius-md`, white `primary` fill with black text, a rounded rect — never
47
+ a 9999 pill. Secondary: transparent with `foreground`; tertiary: elevated
48
+ `secondary` fill. Inputs elevated `secondary` fill on hairline `border`; focus
49
+ *brightens the border* to the white `ring`, never a glow. Cards `card` on
50
+ hairline; the ladder carries lift. Table rows `muted` hover, `accent` selection
51
+ lift. Keycap — the signature primitive: keyboard-shortcut hints render as small
52
+ keycap glyphs (surface fill, tight radius); carry them onto every shortcut
53
+ affordance. Badges status fills only; info renders blue on a translucent tint.
54
+
55
+ ## 5 Layout
56
+ 8px base with 2/4/12px tight steps (the 96px marketing rhythm stays behind);
57
+ sidebar 248/56px; topbar 56px (the brand's own nav height); side panel 420/640px;
58
+ content max 1280px. Density is dense globally; cards pad 16–24px, never 32+.
59
+
60
+ ## 6 Depth
61
+ Shadowless — the defining trait. Depth is the authored ladder in both themes: dark
62
+ `background` 0.14 L, `card`/`surface-raised` +0.04, `muted` elevated +0.07,
63
+ `surface-overlay` +0.09, hue held at 260; overlays separate by the lift plus a
64
+ hairline, and the "shadow" tokens are hairline rings, not blurs. Focus is the
65
+ white `ring` outline, always visible. Three z-levels: content, chrome, overlay.
66
+
67
+ ## 7 Motion
68
+ The fastest package in the library — a launcher must feel pre-rendered. Named
69
+ moments: `palette-pop` (overlay arrival, 120ms, scale 0.98→1), `key-press`
70
+ (action press, 80ms), `panel-slide` (side panel, 180ms, interruptible).
71
+ Physicality is granted to auth only. Every keyboard-initiated action lands the
72
+ next frame; lists never stagger; hover is instant.
73
+
74
+ ## 8 Iconography & Charts
75
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default; keycap glyphs
76
+ accompany shortcuts everywhere. Charts: hairline axes, no gridline fills;
77
+ categorical ramp runs the four category hues then a neutral (`chart-1..5` — blue,
78
+ green, yellow, red, gray); tooltips on `surface-overlay` with mono numerals; no
79
+ hue ever leaves the chart for chrome.
80
+
81
+ ## 9 Voice
82
+ Launcher-brief: verbs first, objects second, everything skimmable at palette
83
+ speed. "Run command" · "No results — press ⌘K to search all extensions" ·
84
+ "Extension failed to load: manifest version 2 required."
85
+
86
+ ## 10 Do's & Don'ts
87
+ Do keep the canvas near-black and build every elevation from the ladder. Do keep
88
+ chrome monochrome — white is the one action; if two things want white, one is not
89
+ primary. Do enable ss03 globally. Do render shortcut hints as keycaps. Don't add
90
+ a drop shadow — ever. Don't promote a category hue to a button. Don't full-round
91
+ the CTA. Don't pad cards past 24px. Don't reach for the marketing gradient or
92
+ hero display.
93
+
94
+ ## 11 Responsive
95
+ 375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; the
96
+ near-black canvas holds. 768: sidebar collapses to the icon rail; tables scroll
97
+ their overflow. 1024: two-pane list+detail holds. 1440: forms cap; tables and
98
+ dashboards use the full width under the 1280px cap.
99
+
100
+ ## 12 Agent Prompt Guide
101
+ Default the shell to dark — the brand is categorically dark; the light block is
102
+ the daytime floor, authored, not derived. Depth is the surface ladder; never
103
+ shadow. White is the action — spend it once. Enable Inter ss03 with calt/kern/
104
+ liga; track headings positive. Keycaps on every shortcut affordance; tabular mono
105
+ on every numeric column. The four saturated hues are status and charts only.
106
+
107
+ ```yaml design-values
108
+ color:
109
+ light:
110
+ background: oklch(0.975 0.005 260)
111
+ foreground: oklch(0.16 0.008 260)
112
+ card: oklch(0.99 0.005 260)
113
+ card-foreground: oklch(0.16 0.008 260)
114
+ popover: oklch(0.995 0.005 260)
115
+ popover-foreground: oklch(0.16 0.008 260)
116
+ primary: oklch(0.16 0.008 260)
117
+ primary-foreground: oklch(0.975 0.005 260)
118
+ secondary: oklch(0.945 0.006 260)
119
+ secondary-foreground: oklch(0.22 0.008 260)
120
+ muted: oklch(0.945 0.006 260)
121
+ muted-foreground: oklch(0.45 0.008 260)
122
+ accent: oklch(0.925 0.007 260)
123
+ accent-foreground: oklch(0.16 0.008 260)
124
+ destructive: oklch(0.55 0.200 23.5)
125
+ destructive-foreground: oklch(0.98 0.010 23.5)
126
+ success: oklch(0.55 0.130 160)
127
+ warning: oklch(0.62 0.140 85)
128
+ border: oklch(0.895 0.006 260)
129
+ input: oklch(0.895 0.006 260)
130
+ ring: oklch(0.16 0.008 260)
131
+ surface-raised: oklch(0.99 0.005 260)
132
+ surface-overlay: oklch(0.995 0.005 260)
133
+ chart-1: oklch(0.55 0.140 238)
134
+ chart-2: oklch(0.55 0.130 160)
135
+ chart-3: oklch(0.62 0.140 85)
136
+ chart-4: oklch(0.55 0.200 23.5)
137
+ chart-5: oklch(0.50 0.008 260)
138
+ sidebar: oklch(0.955 0.006 260)
139
+ sidebar-foreground: oklch(0.22 0.008 260)
140
+ sidebar-primary: oklch(0.16 0.008 260)
141
+ sidebar-primary-foreground: oklch(0.975 0.005 260)
142
+ sidebar-accent: oklch(0.91 0.007 260)
143
+ sidebar-accent-foreground: oklch(0.16 0.008 260)
144
+ sidebar-border: oklch(0.88 0.006 260)
145
+ sidebar-ring: oklch(0.16 0.008 260)
146
+ dark:
147
+ background: oklch(0.14 0.006 260)
148
+ foreground: oklch(0.96 0.005 260)
149
+ card: oklch(0.18 0.006 260)
150
+ card-foreground: oklch(0.96 0.005 260)
151
+ popover: oklch(0.23 0.007 260)
152
+ popover-foreground: oklch(0.96 0.005 260)
153
+ primary: oklch(0.985 0.005 260)
154
+ primary-foreground: oklch(0.13 0.006 260)
155
+ secondary: oklch(0.21 0.007 260)
156
+ secondary-foreground: oklch(0.90 0.005 260)
157
+ muted: oklch(0.21 0.007 260)
158
+ muted-foreground: oklch(0.72 0.005 260)
159
+ accent: oklch(0.23 0.007 260)
160
+ accent-foreground: oklch(0.96 0.005 260)
161
+ destructive: oklch(0.698 0.193 23.5)
162
+ destructive-foreground: oklch(0.13 0.030 23.5)
163
+ success: oklch(0.785 0.140 160)
164
+ warning: oklch(0.853 0.162 85)
165
+ border: oklch(0.27 0.007 260)
166
+ input: oklch(0.27 0.007 260)
167
+ ring: oklch(0.985 0.005 260)
168
+ surface-raised: oklch(0.18 0.006 260)
169
+ surface-overlay: oklch(0.23 0.007 260)
170
+ chart-1: oklch(0.774 0.132 238)
171
+ chart-2: oklch(0.785 0.140 160)
172
+ chart-3: oklch(0.853 0.162 85)
173
+ chart-4: oklch(0.698 0.193 23.5)
174
+ chart-5: oklch(0.70 0.005 260)
175
+ sidebar: oklch(0.12 0.006 260)
176
+ sidebar-foreground: oklch(0.90 0.005 260)
177
+ sidebar-primary: oklch(0.985 0.005 260)
178
+ sidebar-primary-foreground: oklch(0.13 0.006 260)
179
+ sidebar-accent: oklch(0.19 0.007 260)
180
+ sidebar-accent-foreground: oklch(0.95 0.005 260)
181
+ sidebar-border: oklch(0.24 0.007 260)
182
+ sidebar-ring: oklch(0.985 0.005 260)
183
+ typography:
184
+ display: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [600], features: [ss03, calt, liga] }
185
+ sans: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [400, 600], features: [ss03, calt, liga] }
186
+ mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
187
+ ramp:
188
+ display: { size: 28px, line: 34px, weight: 600, family: display, tracking: 0.01em }
189
+ h1: { size: 24px, line: 31px, weight: 600, family: sans, tracking: 0.01em }
190
+ h2: { size: 20px, line: 28px, weight: 600, family: sans, tracking: 0.01em }
191
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
192
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
193
+ caption: { size: 12px, line: 18px, weight: 600, family: sans, tracking: 0.03em, transform: uppercase }
194
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
195
+ register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, logs] }
196
+ elevation:
197
+ radius: { sm: 6px, md: 8px, lg: 10px }
198
+ hairline: border
199
+ shadow:
200
+ overlay: "0 0 0 1px oklch(0.27 0.007 260 / 0.90)"
201
+ popover: "0 0 0 1px oklch(0.27 0.007 260 / 0.70)"
202
+ dark-ladder: { background: 0.14, raised: 0.18, overlay: 0.23, hue-held: 260 }
203
+ motion:
204
+ duration: { press: 80ms, fade: 120ms, panel: 180ms }
205
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
206
+ entrance-never: ease-in
207
+ identity-moments: [auth]
208
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
209
+ charts:
210
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
211
+ sequential: { from: background, to: chart-1 }
212
+ diverging: { negative: destructive, mid: muted, positive: success }
213
+ layout: { base: 8px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1280px }
214
+ ```
@@ -0,0 +1,202 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: replicate
4
+ tier: brand
5
+ segments: [ai, dev-tools, ml-platform]
6
+ keywords: [warm, cream, orange, stamp, cool-focus, zine]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 replicate entry (2026-07-04); 2026-07-12 re-audit of Replicate public brand; Geist substitutes the square sans, JetBrains Mono for code; the hot orange primary is deepened one step so its white label clears body contrast at operator scale; the focus ring is a deliberate cool blue, distinct from the orange CTA"
9
+ license: open
10
+ ---
11
+
12
+ # replicate — an ML lab notebook on cream, one orange stamp, cool-blue focus
13
+
14
+ ## 1 Visual Theme
15
+ An ML lab notebook crossed with a print zine: a warm cream working canvas — never pure
16
+ white — warm ink, white data cards floating on it, and one hot orange used like a
17
+ stamp, at most one orange element per view. Light by default; elevation is a surface
18
+ swap (bone → cream → white), never a heavy drop. The focus outline is a deliberate cool
19
+ blue so keyboard focus never reads as the orange CTA. The dark theme is the same warmth
20
+ after dark, a cream-toned ladder. The hero grotesque and full-bleed orange bands stay
21
+ behind.
22
+
23
+ ## 2 Color Roles
24
+ Warm ink `foreground` on a cream `background`; white appears only in `card`, `popover`,
25
+ and overlays. `primary` orange is the one chromatic accent — the primary action, active
26
+ nav, and inline links, treated as a stamp. The focus `ring` is a cool blue, held
27
+ distinct from the orange on purpose. `accent` is a pale-peach selection lift; the hero
28
+ glow and orange bands survive nowhere here; status hues speak only status.
29
+
30
+ ## 3 Typography
31
+ Geist (the open substitute for the square marketing sans) over JetBrains Mono for
32
+ IDs, model slugs, codes, and log lines. UI, body, and heads all ride the sans; weight
33
+ and tight tracking, not a second family, carry emphasis — body holds at 400, emphasis
34
+ is weight-to-600 or a switch to mono. Register scope: the display register speaks in
35
+ page titles, section heads, empty states, and auth; mono owns data, slugs, codes, IDs,
36
+ and timestamps. Numerals are always `tabular-nums`.
37
+
38
+ ## 4 Component Stylings
39
+ Buttons `radius-md` (10px, soft-cornered, never pill), orange `primary` fill with a
40
+ white label; secondary is bone `secondary` on a hairline. Inputs sit on white `card`
41
+ with a hairline; focus draws the cool-blue `ring` at 2px, no glow. Cards are white
42
+ `card` on the cream canvas at `radius-lg`, hairline-edged, shadowed only under a true
43
+ overlay. Table rows carry `border` grid lines, `muted` hover, peach `accent` selection.
44
+ Detail opens in the side panel; badges alone pill. Code and log wells invert to an
45
+ ink-dark fill in mono — the one place dark blocking appears in chrome.
46
+
47
+ ## 5 Layout
48
+ 4px base; sidebar 256/56px; topbar 60px (the brand's nav rhythm); side panel 440/640px;
49
+ content max 1320px. Rows ride a touch-comfortable 44px — editorial warmth wants a little
50
+ air, operator restraint keeps it from sprawling.
51
+
52
+ ## 6 Depth
53
+ Light: the warm surface ladder (bone → cream → white) and hairlines carry all rank; a
54
+ soft warm-tinted lift appears only under a true overlay. Dark: the surface ladder does
55
+ depth — `background` 0.19 L, `surface-raised` +0.05, `surface-overlay` +0.10, hue held
56
+ at 80. Focus is always the 2px cool-blue `ring`, kept apart from the orange, keyboard-
57
+ first.
58
+
59
+ ## 7 Motion
60
+ Reserved and brief. Named moments: `panel-slide` (side panel, 240ms, interruptible),
61
+ `fade-arrive` (page content, 160ms), `stamp-press` (primary-action press, 120ms).
62
+ Physicality is granted only to auth and first-run empty states; nothing animates in
63
+ tables, log streams, or keyboard-initiated actions.
64
+
65
+ ## 8 Iconography & Charts
66
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline axes,
67
+ no gridline fills; the categorical ramp runs orange, teal, blue, gold, green
68
+ (`chart-1..5`); tooltips on `surface-overlay` with mono numerals.
69
+
70
+ ## 9 Voice
71
+ Plain and technical, a lab-notebook register: short declaratives, numbers flat, no
72
+ cheer. "New prediction" · "No runs yet — push a model or pick one from the catalog" ·
73
+ "This model cold-started; the first prediction may take 30 seconds."
74
+
75
+ ## 10 Do's & Don'ts
76
+ Do keep the cream `background` as the page canvas — white is for cards, inputs, and
77
+ overlays only. Do reserve orange for the primary action, active nav, and inline links,
78
+ one stamp per view. Do keep the focus ring cool blue, apart from the orange. Don't
79
+ replace cream with pure white at the page level. Don't pill the CTA — pills stay on
80
+ badges. Don't promote a second chromatic accent or reach for the hero grotesque.
81
+
82
+ ## 11 Responsive
83
+ 375: sidebar → off-canvas drawer; side panel → full sheet; tables → card rows with
84
+ mono figures. 768: sidebar collapses to the icon rail; tables scroll their overflow.
85
+ 1024: two-pane queue+detail holds. 1440: forms cap; tables and dashboards use the full
86
+ width. Code and log wells scroll horizontally, never wrap.
87
+
88
+ ## 12 Agent Prompt Guide
89
+ Set every page on the cream `background`; float white `card` surfaces on it — never
90
+ pure white at page level. Spend orange once per surface across its three roles; if two
91
+ things want it, one is not primary. Keep focus a cool blue, apart from the CTA. Every
92
+ numeric column is `tabular-nums`; every ID, slug, code, and timestamp is mono. Dark is
93
+ authored — consult the block, never derive.
94
+
95
+ ```yaml design-values
96
+ color:
97
+ light:
98
+ background: oklch(0.977 0.006 85)
99
+ foreground: oklch(0.25 0.008 80)
100
+ card: oklch(0.998 0.002 85)
101
+ card-foreground: oklch(0.25 0.008 80)
102
+ popover: oklch(0.998 0.002 85)
103
+ popover-foreground: oklch(0.25 0.008 80)
104
+ primary: oklch(0.56 0.225 32)
105
+ primary-foreground: oklch(0.99 0.006 40)
106
+ secondary: oklch(0.955 0.011 88)
107
+ secondary-foreground: oklch(0.3 0.008 80)
108
+ muted: oklch(0.955 0.011 88)
109
+ muted-foreground: oklch(0.46 0.008 80)
110
+ accent: oklch(0.947 0.021 39)
111
+ accent-foreground: oklch(0.25 0.008 80)
112
+ destructive: oklch(0.501 0.178 29)
113
+ destructive-foreground: oklch(0.98 0.01 29)
114
+ success: oklch(0.611 0.127 158)
115
+ warning: oklch(0.626 0.125 70)
116
+ border: oklch(0.898 0.005 78)
117
+ input: oklch(0.898 0.005 78)
118
+ ring: oklch(0.623 0.188 260)
119
+ surface-raised: oklch(0.99 0.003 85)
120
+ surface-overlay: oklch(0.998 0.002 85)
121
+ chart-1: oklch(0.6 0.2 32)
122
+ chart-2: oklch(0.62 0.11 190)
123
+ chart-3: oklch(0.6 0.14 250)
124
+ chart-4: oklch(0.7 0.13 75)
125
+ chart-5: oklch(0.6 0.12 155)
126
+ sidebar: oklch(0.955 0.012 88)
127
+ sidebar-foreground: oklch(0.3 0.008 80)
128
+ sidebar-primary: oklch(0.56 0.225 32)
129
+ sidebar-primary-foreground: oklch(0.99 0.006 40)
130
+ sidebar-accent: oklch(0.92 0.025 39)
131
+ sidebar-accent-foreground: oklch(0.3 0.008 80)
132
+ sidebar-border: oklch(0.9 0.008 85)
133
+ sidebar-ring: oklch(0.623 0.188 260)
134
+ dark:
135
+ background: oklch(0.19 0.006 80)
136
+ foreground: oklch(0.93 0.006 85)
137
+ card: oklch(0.23 0.007 80)
138
+ card-foreground: oklch(0.93 0.006 85)
139
+ popover: oklch(0.27 0.008 80)
140
+ popover-foreground: oklch(0.93 0.006 85)
141
+ primary: oklch(0.56 0.225 33)
142
+ primary-foreground: oklch(0.99 0.006 40)
143
+ secondary: oklch(0.25 0.008 80)
144
+ secondary-foreground: oklch(0.9 0.006 85)
145
+ muted: oklch(0.24 0.008 80)
146
+ muted-foreground: oklch(0.71 0.01 82)
147
+ accent: oklch(0.3 0.03 40)
148
+ accent-foreground: oklch(0.93 0.01 60)
149
+ destructive: oklch(0.62 0.18 29)
150
+ destructive-foreground: oklch(0.15 0.02 29)
151
+ success: oklch(0.68 0.13 158)
152
+ warning: oklch(0.72 0.13 75)
153
+ border: oklch(0.28 0.008 80)
154
+ input: oklch(0.28 0.008 80)
155
+ ring: oklch(0.65 0.18 260)
156
+ surface-raised: oklch(0.24 0.007 80)
157
+ surface-overlay: oklch(0.29 0.008 80)
158
+ chart-1: oklch(0.65 0.2 32)
159
+ chart-2: oklch(0.7 0.11 190)
160
+ chart-3: oklch(0.68 0.14 250)
161
+ chart-4: oklch(0.78 0.13 75)
162
+ chart-5: oklch(0.68 0.12 155)
163
+ sidebar: oklch(0.17 0.006 80)
164
+ sidebar-foreground: oklch(0.9 0.006 85)
165
+ sidebar-primary: oklch(0.56 0.225 33)
166
+ sidebar-primary-foreground: oklch(0.99 0.006 40)
167
+ sidebar-accent: oklch(0.25 0.012 50)
168
+ sidebar-accent-foreground: oklch(0.92 0.006 85)
169
+ sidebar-border: oklch(0.23 0.008 80)
170
+ sidebar-ring: oklch(0.65 0.18 260)
171
+ typography:
172
+ display: { family: "Geist Variable", fallback: "system-ui, sans-serif", weights: [500, 600] }
173
+ sans: { family: "Geist Variable", fallback: "system-ui, sans-serif", weights: [400, 500, 600] }
174
+ mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
175
+ ramp:
176
+ display: { size: 30px, line: 38px, weight: 600, family: display, tracking: -0.02em }
177
+ h1: { size: 24px, line: 31px, weight: 600, family: display, tracking: -0.015em }
178
+ h2: { size: 20px, line: 28px, weight: 600, family: display, tracking: -0.01em }
179
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
180
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
181
+ caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.06em, transform: uppercase }
182
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
183
+ register-scope: { display: [page-title, section-head, empty-state, auth], sans: [chrome, controls, body], mono: [data, slugs, codes, ids, timestamps] }
184
+ elevation:
185
+ radius: { sm: 8px, md: 10px, lg: 14px }
186
+ hairline: border
187
+ shadow:
188
+ overlay: "0 8px 30px oklch(0.25 0.02 60 / 0.14)"
189
+ popover: "0 4px 16px oklch(0.25 0.02 60 / 0.1)"
190
+ dark-ladder: { background: 0.19, raised: 0.24, overlay: 0.29, hue-held: 80 }
191
+ motion:
192
+ duration: { press: 120ms, fade: 160ms, panel: 240ms }
193
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
194
+ entrance-never: ease-in
195
+ identity-moments: [auth, first-run-empty]
196
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
197
+ charts:
198
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
199
+ sequential: { from: background, to: chart-1 }
200
+ diverging: { negative: destructive, mid: muted, positive: chart-5 }
201
+ layout: { base: 4px, sidebar: [256px, 56px], topbar: 60px, side-panel: [440px, 640px], content-max: 1320px }
202
+ ```