@nurix/etna 0.19.11 → 0.19.13

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 (494) hide show
  1. package/README.md +6 -4
  2. package/data/harness-index.json +1 -1
  3. package/data/harnesses/code/agents/maintenance.md +1 -1
  4. package/data/harnesses/code/harness.json +1 -1
  5. package/data/harnesses/code/rules/frontend.md +5 -5
  6. package/data/harnesses/code/skills/design/SKILL.md +70 -50
  7. package/data/harnesses/code/skills/design/components/charts.md +76 -0
  8. package/data/harnesses/code/skills/design/components/collections.md +132 -0
  9. package/data/harnesses/code/skills/design/components/feedback.md +47 -0
  10. package/data/harnesses/code/skills/design/components/hooks.md +35 -0
  11. package/data/harnesses/code/skills/design/components/index.md +143 -0
  12. package/data/harnesses/code/skills/design/components/inputs.md +327 -0
  13. package/data/harnesses/code/skills/design/components/layout.md +52 -0
  14. package/data/harnesses/code/skills/design/components/media.md +66 -0
  15. package/data/harnesses/code/skills/design/components/motion.md +82 -0
  16. package/data/harnesses/code/skills/design/components/navigation.md +29 -0
  17. package/data/harnesses/code/skills/design/components/overlays.md +72 -0
  18. package/data/harnesses/code/skills/design/components/setup.md +40 -0
  19. package/data/harnesses/code/skills/design/components/typography.md +46 -0
  20. package/data/harnesses/code/skills/design/components/utils.md +37 -0
  21. package/data/harnesses/code/skills/design/data/blueprints/browse.md +38 -0
  22. package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +38 -0
  23. package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +38 -0
  24. package/data/harnesses/code/skills/design/data/blueprints/grid.md +38 -0
  25. package/data/harnesses/code/skills/design/data/blueprints/queue.md +38 -0
  26. package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +38 -0
  27. package/data/harnesses/code/skills/design/data/blueprints/settings.md +38 -0
  28. package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +33 -0
  29. package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +19 -0
  30. package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +19 -0
  31. package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +19 -0
  32. package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +19 -0
  33. package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +19 -0
  34. package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +19 -0
  35. package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +19 -0
  36. package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +19 -0
  37. package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +19 -0
  38. package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +19 -0
  39. package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +19 -0
  40. package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +19 -0
  41. package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +19 -0
  42. package/data/harnesses/code/skills/design/data/charts/census.csv +58 -0
  43. package/data/harnesses/code/skills/design/data/checklists/browse.md +21 -0
  44. package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +20 -0
  45. package/data/harnesses/code/skills/design/data/checklists/dashboard.md +21 -0
  46. package/data/harnesses/code/skills/design/data/checklists/grid.md +21 -0
  47. package/data/harnesses/code/skills/design/data/checklists/queue.md +21 -0
  48. package/data/harnesses/code/skills/design/data/checklists/record-detail.md +21 -0
  49. package/data/harnesses/code/skills/design/data/checklists/settings.md +21 -0
  50. package/data/harnesses/code/skills/design/data/chrome/board-column.md +68 -0
  51. package/data/harnesses/code/skills/design/data/chrome/data-table.md +63 -0
  52. package/data/harnesses/code/skills/design/data/chrome/side-panel.md +60 -0
  53. package/data/harnesses/code/skills/design/data/chrome/sidebar.md +78 -0
  54. package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +62 -0
  55. package/data/harnesses/code/skills/design/data/chrome/topbar.md +65 -0
  56. package/data/harnesses/code/skills/design/data/color/accent-presets.md +90 -0
  57. package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +91 -0
  58. package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +90 -0
  59. package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +90 -0
  60. package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +90 -0
  61. package/data/harnesses/code/skills/design/data/color/clay-parchment.md +90 -0
  62. package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +90 -0
  63. package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +90 -0
  64. package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +90 -0
  65. package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +90 -0
  66. package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +90 -0
  67. package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +90 -0
  68. package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +90 -0
  69. package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +90 -0
  70. package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +90 -0
  71. package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +89 -0
  72. package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +15 -0
  73. package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +87 -0
  74. package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +25 -0
  75. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +15 -0
  76. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +83 -0
  77. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +25 -0
  78. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +15 -0
  79. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +89 -0
  80. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +25 -0
  81. package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +19 -0
  82. package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +18 -0
  83. package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +20 -0
  84. package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +20 -0
  85. package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +19 -0
  86. package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +19 -0
  87. package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +17 -0
  88. package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +19 -0
  89. package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +21 -0
  90. package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +19 -0
  91. package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +18 -0
  92. package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +17 -0
  93. package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +21 -0
  94. package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +19 -0
  95. package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +19 -0
  96. package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +18 -0
  97. package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +19 -0
  98. package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +20 -0
  99. package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +16 -0
  100. package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +16 -0
  101. package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +16 -0
  102. package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +18 -0
  103. package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +16 -0
  104. package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +18 -0
  105. package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +18 -0
  106. package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +16 -0
  107. package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +16 -0
  108. package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +16 -0
  109. package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +16 -0
  110. package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +16 -0
  111. package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +18 -0
  112. package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +16 -0
  113. package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +18 -0
  114. package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +16 -0
  115. package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +16 -0
  116. package/data/harnesses/code/skills/design/data/iconography.md +199 -0
  117. package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +18 -0
  118. package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +18 -0
  119. package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +18 -0
  120. package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +18 -0
  121. package/data/harnesses/code/skills/design/data/motion/hover-lift.md +18 -0
  122. package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +18 -0
  123. package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +18 -0
  124. package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +18 -0
  125. package/data/harnesses/code/skills/design/data/motion/panel-slide.md +18 -0
  126. package/data/harnesses/code/skills/design/data/motion/press-feedback.md +18 -0
  127. package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +18 -0
  128. package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +18 -0
  129. package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +18 -0
  130. package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +18 -0
  131. package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +18 -0
  132. package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +18 -0
  133. package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +18 -0
  134. package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +18 -0
  135. package/data/harnesses/code/skills/design/data/tells.csv +34 -0
  136. package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +17 -0
  137. package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +17 -0
  138. package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +17 -0
  139. package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +17 -0
  140. package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +17 -0
  141. package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +17 -0
  142. package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +17 -0
  143. package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +17 -0
  144. package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +17 -0
  145. package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +17 -0
  146. package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +17 -0
  147. package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +17 -0
  148. package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +17 -0
  149. package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +17 -0
  150. package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +17 -0
  151. package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +17 -0
  152. package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +17 -0
  153. package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +17 -0
  154. package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +29 -0
  155. package/data/harnesses/code/skills/design/data/voices/direct-operator.md +29 -0
  156. package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +29 -0
  157. package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +29 -0
  158. package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +29 -0
  159. package/data/harnesses/code/skills/design/data/voices/warm-guide.md +29 -0
  160. package/data/harnesses/code/skills/design/design-md/SCHEMA.md +179 -0
  161. package/data/harnesses/code/skills/design/design-md/index.csv +67 -0
  162. package/data/harnesses/code/skills/design/design-md/library/airbnb.md +207 -0
  163. package/data/harnesses/code/skills/design/design-md/library/airtable.md +205 -0
  164. package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +203 -0
  165. package/data/harnesses/code/skills/design/design-md/library/apple.md +206 -0
  166. package/data/harnesses/code/skills/design/design-md/library/binance.md +210 -0
  167. package/data/harnesses/code/skills/design/design-md/library/bmw.md +210 -0
  168. package/data/harnesses/code/skills/design/design-md/library/cal.md +209 -0
  169. package/data/harnesses/code/skills/design/design-md/library/clay.md +204 -0
  170. package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +205 -0
  171. package/data/harnesses/code/skills/design/design-md/library/cohere.md +205 -0
  172. package/data/harnesses/code/skills/design/design-md/library/coinbase.md +198 -0
  173. package/data/harnesses/code/skills/design/design-md/library/composio.md +198 -0
  174. package/data/harnesses/code/skills/design/design-md/library/cursor.md +197 -0
  175. package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +199 -0
  176. package/data/harnesses/code/skills/design/design-md/library/expo.md +200 -0
  177. package/data/harnesses/code/skills/design/design-md/library/figma.md +199 -0
  178. package/data/harnesses/code/skills/design/design-md/library/framer.md +202 -0
  179. package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +205 -0
  180. package/data/harnesses/code/skills/design/design-md/library/ibm.md +205 -0
  181. package/data/harnesses/code/skills/design/design-md/library/intercom.md +204 -0
  182. package/data/harnesses/code/skills/design/design-md/library/kraken.md +200 -0
  183. package/data/harnesses/code/skills/design/design-md/library/linear-app.md +198 -0
  184. package/data/harnesses/code/skills/design/design-md/library/lovable.md +199 -0
  185. package/data/harnesses/code/skills/design/design-md/library/meta.md +204 -0
  186. package/data/harnesses/code/skills/design/design-md/library/minimax.md +204 -0
  187. package/data/harnesses/code/skills/design/design-md/library/mintlify.md +210 -0
  188. package/data/harnesses/code/skills/design/design-md/library/miro.md +209 -0
  189. package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +201 -0
  190. package/data/harnesses/code/skills/design/design-md/library/mongodb.md +201 -0
  191. package/data/harnesses/code/skills/design/design-md/library/notion.md +204 -0
  192. package/data/harnesses/code/skills/design/design-md/library/nvidia.md +215 -0
  193. package/data/harnesses/code/skills/design/design-md/library/ollama.md +213 -0
  194. package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +216 -0
  195. package/data/harnesses/code/skills/design/design-md/library/posthog.md +218 -0
  196. package/data/harnesses/code/skills/design/design-md/library/raycast.md +214 -0
  197. package/data/harnesses/code/skills/design/design-md/library/replicate.md +202 -0
  198. package/data/harnesses/code/skills/design/design-md/library/resend.md +203 -0
  199. package/data/harnesses/code/skills/design/design-md/library/revolut.md +203 -0
  200. package/data/harnesses/code/skills/design/design-md/library/runwayml.md +203 -0
  201. package/data/harnesses/code/skills/design/design-md/library/sanity.md +200 -0
  202. package/data/harnesses/code/skills/design/design-md/library/sentry.md +201 -0
  203. package/data/harnesses/code/skills/design/design-md/library/shopify.md +202 -0
  204. package/data/harnesses/code/skills/design/design-md/library/slack.md +202 -0
  205. package/data/harnesses/code/skills/design/design-md/library/spacex.md +206 -0
  206. package/data/harnesses/code/skills/design/design-md/library/spotify.md +206 -0
  207. package/data/harnesses/code/skills/design/design-md/library/stripe.md +196 -0
  208. package/data/harnesses/code/skills/design/design-md/library/supabase.md +196 -0
  209. package/data/harnesses/code/skills/design/design-md/library/superhuman.md +194 -0
  210. package/data/harnesses/code/skills/design/design-md/library/tesla.md +198 -0
  211. package/data/harnesses/code/skills/design/design-md/library/theverge.md +199 -0
  212. package/data/harnesses/code/skills/design/design-md/library/together-ai.md +193 -0
  213. package/data/harnesses/code/skills/design/design-md/library/uber.md +195 -0
  214. package/data/harnesses/code/skills/design/design-md/library/vercel.md +195 -0
  215. package/data/harnesses/code/skills/design/design-md/library/voltagent.md +197 -0
  216. package/data/harnesses/code/skills/design/design-md/library/warp.md +196 -0
  217. package/data/harnesses/code/skills/design/design-md/library/webflow.md +197 -0
  218. package/data/harnesses/code/skills/design/design-md/library/wired.md +197 -0
  219. package/data/harnesses/code/skills/design/design-md/library/wise.md +198 -0
  220. package/data/harnesses/code/skills/design/design-md/library/x-ai.md +199 -0
  221. package/data/harnesses/code/skills/design/design-md/library/zapier.md +198 -0
  222. package/data/harnesses/code/skills/design/design-md/nurix.md +214 -0
  223. package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +184 -0
  224. package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +216 -0
  225. package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +211 -0
  226. package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +212 -0
  227. package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +216 -0
  228. package/data/harnesses/code/skills/design/references/compose.md +23 -0
  229. package/data/harnesses/code/skills/design/references/content.md +28 -0
  230. package/data/harnesses/code/skills/design/references/emission.md +21 -0
  231. package/data/harnesses/code/skills/design/references/existing-apps.md +27 -0
  232. package/data/harnesses/code/skills/design/references/intake.md +36 -0
  233. package/data/harnesses/code/skills/design/references/object-pass.md +24 -0
  234. package/data/harnesses/code/skills/design/references/ship-gate.md +29 -0
  235. package/data/harnesses/code/skills/design/references/ux-patterns/Readme.md +195 -0
  236. package/data/harnesses/code/skills/design/references/ux-patterns/ai-layer.md +49 -0
  237. package/data/harnesses/code/skills/design/references/ux-patterns/attributes-lifecycle.md +43 -0
  238. package/data/harnesses/code/skills/design/references/ux-patterns/container-choice.md +44 -0
  239. package/data/harnesses/code/skills/design/references/ux-patterns/creation-paths.md +46 -0
  240. package/data/harnesses/code/skills/design/references/ux-patterns/dashboards.md +42 -0
  241. package/data/harnesses/code/skills/design/references/ux-patterns/modes.md +42 -0
  242. package/data/harnesses/code/skills/design/references/ux-patterns/object-model.md +46 -0
  243. package/data/harnesses/code/skills/design/references/ux-patterns/page-archetype.md +48 -0
  244. package/data/harnesses/code/skills/design/references/ux-patterns/promotion-demotion.md +37 -0
  245. package/data/harnesses/code/skills/design/references/ux-patterns/settings.md +42 -0
  246. package/data/harnesses/code/skills/design/references/ux-patterns/standard-pages.md +46 -0
  247. package/data/harnesses/code/skills/design/references/ux-patterns/state-matrix.md +41 -0
  248. package/data/harnesses/code/skills/design/references/ux-patterns/table-mechanics.md +48 -0
  249. package/data/harnesses/code/skills/design/references/ux-patterns/verbs.md +45 -0
  250. package/data/harnesses/code/skills/design/references/ux-patterns/viewer-context.md +40 -0
  251. package/data/harnesses/code/skills/design/scripts/README-validator.md +27 -0
  252. package/data/harnesses/code/skills/design/scripts/select-chart.mjs +596 -0
  253. package/data/harnesses/code/skills/design/scripts/validate-design-md.mjs +1198 -0
  254. package/data/harnesses/discussion/agents/discussion-baseline.md +1 -1
  255. package/data/harnesses/discussion/harness.json +1 -1
  256. package/data/harnesses/etna/agents/maintenance.md +1 -1
  257. package/data/harnesses/etna/harness.json +1 -1
  258. package/data/harnesses/hr/CLAUDE.md +1 -1
  259. package/data/harnesses/hr/harness.json +1 -1
  260. package/package.json +1 -1
  261. package/data/harnesses/code/skills/design/data/catalog/rules.csv +0 -137
  262. package/data/harnesses/code/skills/design/data/combinations/Readme.md +0 -33
  263. package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +0 -113
  264. package/data/harnesses/code/skills/design/data/combinations/charts.csv +0 -33
  265. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +0 -448
  266. package/data/harnesses/code/skills/design/data/combinations/icons.csv +0 -157
  267. package/data/harnesses/code/skills/design/data/combinations/landing.csv +0 -38
  268. package/data/harnesses/code/skills/design/data/combinations/lucide-names.json +0 -2001
  269. package/data/harnesses/code/skills/design/data/combinations/manifest.json +0 -330
  270. package/data/harnesses/code/skills/design/data/combinations/motion.csv +0 -10
  271. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +0 -92
  272. package/data/harnesses/code/skills/design/data/combinations/product-router.csv +0 -80
  273. package/data/harnesses/code/skills/design/data/combinations/styles.csv +0 -67
  274. package/data/harnesses/code/skills/design/data/combinations/typography.csv +0 -64
  275. package/data/harnesses/code/skills/design/data/design-md/SCHEMA.md +0 -106
  276. package/data/harnesses/code/skills/design/data/design-md/library/airbnb.md +0 -154
  277. package/data/harnesses/code/skills/design/data/design-md/library/airtable.md +0 -151
  278. package/data/harnesses/code/skills/design/data/design-md/library/anthropic-claude.md +0 -139
  279. package/data/harnesses/code/skills/design/data/design-md/library/apple.md +0 -139
  280. package/data/harnesses/code/skills/design/data/design-md/library/binance.md +0 -140
  281. package/data/harnesses/code/skills/design/data/design-md/library/bmw.md +0 -140
  282. package/data/harnesses/code/skills/design/data/design-md/library/cal.md +0 -140
  283. package/data/harnesses/code/skills/design/data/design-md/library/clay.md +0 -139
  284. package/data/harnesses/code/skills/design/data/design-md/library/clickhouse.md +0 -139
  285. package/data/harnesses/code/skills/design/data/design-md/library/cohere.md +0 -147
  286. package/data/harnesses/code/skills/design/data/design-md/library/coinbase.md +0 -156
  287. package/data/harnesses/code/skills/design/data/design-md/library/composio.md +0 -138
  288. package/data/harnesses/code/skills/design/data/design-md/library/cursor.md +0 -138
  289. package/data/harnesses/code/skills/design/data/design-md/library/elevenlabs.md +0 -137
  290. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +0 -148
  291. package/data/harnesses/code/skills/design/data/design-md/library/figma.md +0 -141
  292. package/data/harnesses/code/skills/design/data/design-md/library/framer.md +0 -156
  293. package/data/harnesses/code/skills/design/data/design-md/library/hashicorp.md +0 -140
  294. package/data/harnesses/code/skills/design/data/design-md/library/ibm.md +0 -153
  295. package/data/harnesses/code/skills/design/data/design-md/library/intercom.md +0 -158
  296. package/data/harnesses/code/skills/design/data/design-md/library/kraken.md +0 -156
  297. package/data/harnesses/code/skills/design/data/design-md/library/linear-app.md +0 -122
  298. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +0 -140
  299. package/data/harnesses/code/skills/design/data/design-md/library/meta.md +0 -139
  300. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +0 -139
  301. package/data/harnesses/code/skills/design/data/design-md/library/mintlify.md +0 -139
  302. package/data/harnesses/code/skills/design/data/design-md/library/miro.md +0 -153
  303. package/data/harnesses/code/skills/design/data/design-md/library/mistral-ai.md +0 -140
  304. package/data/harnesses/code/skills/design/data/design-md/library/mongodb.md +0 -155
  305. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +0 -140
  306. package/data/harnesses/code/skills/design/data/design-md/library/nvidia.md +0 -141
  307. package/data/harnesses/code/skills/design/data/design-md/library/ollama.md +0 -145
  308. package/data/harnesses/code/skills/design/data/design-md/library/opencode-ai.md +0 -142
  309. package/data/harnesses/code/skills/design/data/design-md/library/posthog.md +0 -152
  310. package/data/harnesses/code/skills/design/data/design-md/library/raycast.md +0 -137
  311. package/data/harnesses/code/skills/design/data/design-md/library/replicate.md +0 -140
  312. package/data/harnesses/code/skills/design/data/design-md/library/resend.md +0 -170
  313. package/data/harnesses/code/skills/design/data/design-md/library/revolut.md +0 -145
  314. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +0 -137
  315. package/data/harnesses/code/skills/design/data/design-md/library/sanity.md +0 -168
  316. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +0 -163
  317. package/data/harnesses/code/skills/design/data/design-md/library/shopify.md +0 -147
  318. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +0 -158
  319. package/data/harnesses/code/skills/design/data/design-md/library/spacex.md +0 -171
  320. package/data/harnesses/code/skills/design/data/design-md/library/spotify.md +0 -166
  321. package/data/harnesses/code/skills/design/data/design-md/library/stripe.md +0 -160
  322. package/data/harnesses/code/skills/design/data/design-md/library/supabase.md +0 -173
  323. package/data/harnesses/code/skills/design/data/design-md/library/superhuman.md +0 -145
  324. package/data/harnesses/code/skills/design/data/design-md/library/tesla.md +0 -153
  325. package/data/harnesses/code/skills/design/data/design-md/library/theverge.md +0 -167
  326. package/data/harnesses/code/skills/design/data/design-md/library/together-ai.md +0 -140
  327. package/data/harnesses/code/skills/design/data/design-md/library/uber.md +0 -140
  328. package/data/harnesses/code/skills/design/data/design-md/library/vercel.md +0 -140
  329. package/data/harnesses/code/skills/design/data/design-md/library/voltagent.md +0 -130
  330. package/data/harnesses/code/skills/design/data/design-md/library/warp.md +0 -140
  331. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +0 -140
  332. package/data/harnesses/code/skills/design/data/design-md/library/wired.md +0 -139
  333. package/data/harnesses/code/skills/design/data/design-md/library/wise.md +0 -137
  334. package/data/harnesses/code/skills/design/data/design-md/library/x-ai.md +0 -138
  335. package/data/harnesses/code/skills/design/data/design-md/library/zapier.md +0 -158
  336. package/data/harnesses/code/skills/design/data/design-md/nurix.md +0 -138
  337. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +0 -695
  338. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.resolver.json +0 -20
  339. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +0 -1272
  340. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.resolver.json +0 -20
  341. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +0 -1268
  342. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.resolver.json +0 -20
  343. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +0 -1273
  344. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.resolver.json +0 -20
  345. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +0 -1262
  346. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.resolver.json +0 -20
  347. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +0 -1257
  348. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.resolver.json +0 -20
  349. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +0 -1270
  350. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.resolver.json +0 -20
  351. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +0 -1270
  352. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.resolver.json +0 -20
  353. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +0 -1261
  354. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.resolver.json +0 -20
  355. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +0 -1268
  356. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.resolver.json +0 -20
  357. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +0 -1281
  358. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.resolver.json +0 -20
  359. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +0 -1262
  360. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.resolver.json +0 -20
  361. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +0 -1271
  362. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.resolver.json +0 -20
  363. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +0 -1276
  364. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.resolver.json +0 -20
  365. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +0 -1293
  366. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.resolver.json +0 -20
  367. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +0 -1270
  368. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.resolver.json +0 -20
  369. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +0 -1276
  370. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.resolver.json +0 -20
  371. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +0 -1267
  372. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +0 -251
  373. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.resolver.json +0 -20
  374. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +0 -1273
  375. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.resolver.json +0 -20
  376. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +0 -1286
  377. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.resolver.json +0 -20
  378. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +0 -1290
  379. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.resolver.json +0 -20
  380. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +0 -1270
  381. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +0 -23
  382. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +0 -599
  383. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +0 -1272
  384. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.resolver.json +0 -20
  385. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +0 -1267
  386. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.resolver.json +0 -20
  387. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +0 -1289
  388. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.resolver.json +0 -20
  389. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +0 -1258
  390. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.resolver.json +0 -20
  391. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +0 -1284
  392. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.resolver.json +0 -20
  393. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +0 -1291
  394. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.resolver.json +0 -20
  395. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +0 -1263
  396. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.resolver.json +0 -20
  397. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +0 -1270
  398. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.resolver.json +0 -20
  399. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +0 -1261
  400. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.resolver.json +0 -20
  401. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +0 -1209
  402. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.resolver.json +0 -20
  403. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +0 -1265
  404. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.resolver.json +0 -20
  405. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +0 -1253
  406. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.resolver.json +0 -20
  407. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +0 -1268
  408. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.resolver.json +0 -20
  409. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +0 -1261
  410. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.resolver.json +0 -20
  411. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +0 -1263
  412. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.resolver.json +0 -20
  413. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +0 -1266
  414. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +0 -23
  415. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +0 -623
  416. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +0 -1276
  417. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.resolver.json +0 -20
  418. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +0 -1264
  419. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.resolver.json +0 -20
  420. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +0 -1268
  421. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.resolver.json +0 -20
  422. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +0 -1270
  423. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.resolver.json +0 -20
  424. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +0 -1288
  425. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.resolver.json +0 -20
  426. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +0 -1272
  427. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.resolver.json +0 -20
  428. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +0 -1265
  429. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.resolver.json +0 -20
  430. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +0 -1287
  431. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.resolver.json +0 -20
  432. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +0 -1286
  433. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.resolver.json +0 -20
  434. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +0 -1285
  435. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.resolver.json +0 -20
  436. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +0 -1287
  437. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.resolver.json +0 -20
  438. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +0 -1278
  439. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.resolver.json +0 -20
  440. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +0 -1269
  441. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.resolver.json +0 -20
  442. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +0 -1285
  443. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.resolver.json +0 -20
  444. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +0 -1303
  445. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.resolver.json +0 -20
  446. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +0 -1274
  447. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.resolver.json +0 -20
  448. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +0 -1296
  449. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +0 -23
  450. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +0 -612
  451. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +0 -1282
  452. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.resolver.json +0 -20
  453. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +0 -1287
  454. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.resolver.json +0 -20
  455. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +0 -1268
  456. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.resolver.json +0 -20
  457. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +0 -1276
  458. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.resolver.json +0 -20
  459. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +0 -1273
  460. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.resolver.json +0 -20
  461. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +0 -1296
  462. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.resolver.json +0 -20
  463. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +0 -1286
  464. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +0 -249
  465. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +0 -249
  466. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +0 -225
  467. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +0 -249
  468. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +0 -224
  469. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +0 -249
  470. package/data/harnesses/code/skills/design/data/operator-pack/fixtures.md +0 -88
  471. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +0 -132
  472. package/data/harnesses/code/skills/design/data/operator-pack/trust-rubric.md +0 -76
  473. package/data/harnesses/code/skills/design/references/create.md +0 -173
  474. package/data/harnesses/code/skills/design/references/diagnosis.md +0 -108
  475. package/data/harnesses/code/skills/design/references/hard-rules.md +0 -177
  476. package/data/harnesses/code/skills/design/references/improve.md +0 -116
  477. package/data/harnesses/code/skills/design/references/interaction.md +0 -77
  478. package/data/harnesses/code/skills/design/references/introspect.md +0 -100
  479. package/data/harnesses/code/skills/design/references/lifecycle.md +0 -73
  480. package/data/harnesses/code/skills/design/references/personality.md +0 -575
  481. package/data/harnesses/code/skills/design/references/structure.md +0 -159
  482. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +0 -1312
  483. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +0 -1498
  484. package/data/harnesses/code/skills/design/scripts/generate-fixtures.mjs +0 -551
  485. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +0 -1092
  486. package/data/harnesses/code/skills/design/scripts/lib/golden.mjs +0 -26
  487. package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +0 -65
  488. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +0 -538
  489. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +0 -312
  490. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +0 -890
  491. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +0 -769
  492. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +0 -675
  493. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +0 -164
  494. package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +0 -439
@@ -0,0 +1,211 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: quiet-premium
4
+ tier: variant
5
+ segments: [b2b-saas, infra]
6
+ keywords: [premium, calm, muted, restrained, sage, soft, one-voice]
7
+ sourced: 2026-07-12
8
+ sources: "authored for the v2 variant roster; Hanken Grotesk specimen"
9
+ license: open
10
+ ---
11
+
12
+ # quiet-premium — the client floor of a discreet asset office
13
+
14
+ ## 1 Visual Theme
15
+ The client floor of a discreet asset office: honed pale stone underfoot, sage
16
+ wool panels on the walls, brushed steel dimmed to matte, one fern by the
17
+ window — nothing announces itself, everything is finished. Light default; the
18
+ money shows as restraint: soft (never harsh) ink contrast, neutrals tinted
19
+ faintly toward eucalyptus, exactly one desaturated green accent, and air —
20
+ generous line-height and margins where louder products spend pixels on
21
+ ornament. Dark is the same floor at dusk with the lamps low, an authored
22
+ ladder in the same hue.
23
+
24
+ ## 2 Color Roles
25
+ Soft graphite-green `foreground` on a sage-washed `background` — deliberately
26
+ short of maximum contrast, never short of legible. `primary` is the one
27
+ desaturated eucalyptus green, spent on the primary action, active nav, and the
28
+ `ring`; `accent` is its pale wash for selection and hover. Status hues are
29
+ muted to match the room: `destructive` clay-red, `success` moss, `warning`
30
+ dry amber — chips and validation only, never chrome. The `sidebar` is one
31
+ tone deeper than the canvas, separated by hairline, not contrast.
32
+
33
+ ## 3 Typography
34
+ One voice: Hanken Grotesk for display and text alike — restraint is a single
35
+ family carrying every register — with Fragment Mono for figures, IDs, and
36
+ timestamps. The display register is Hanken at 30px and medium weight, never
37
+ bold; emphasis anywhere bumps 400 → 500 and stops. Line-height runs generous
38
+ (body 14/22) — the luxury is air between lines. Numeric columns are always
39
+ Fragment Mono `tabular-nums`.
40
+
41
+ ## 4 Component Stylings
42
+ Buttons `radius-sm`, `primary` fill for the one action, `secondary` fill +
43
+ hairline for everything else, never a pill. Inputs are `background` fill with
44
+ hairline `border`; focus is the quiet 2px `ring`, no glow. Cards sit flat on
45
+ `card` behind a hairline — shadow is reserved for true overlays and even
46
+ there stays nearly invisible. Table rows breathe (relaxed height), `muted`
47
+ hover, `accent` selection. Detail opens in the side panel, its head set in
48
+ the display register.
49
+
50
+ ## 5 Layout
51
+ 4px base. Sidebar 264/64px; topbar 60px; side panel 460/720px; content caps
52
+ at 1280px and centers — wide margins are part of the identity. Forms run
53
+ narrow and single-column. Density is relaxed by default and may step to
54
+ standard on data-heavy archetypes, never to compressed.
55
+
56
+ ## 6 Depth
57
+ Hairlines carry all structure in light; the two declared shadows (popover,
58
+ overlay) are sage-tinted and so faint they read as atmosphere, not elevation.
59
+ No card shadows, ever. Focus is the 2px `ring`. Dark expresses depth as the
60
+ surface ladder: `background` 0.19 L, `surface-raised` +0.05, `surface-overlay`
61
+ +0.09, hue held at 175 — raised things get lighter, never glow.
62
+
63
+ ## 7 Motion
64
+ Unhurried and few. Named moments: `panel-drift` (side panel, 280ms,
65
+ interruptible), `fade-arrive` (page content, 200ms), `press` (120ms). Easing
66
+ is a long ease-out; nothing springs, nothing bounces. No animation on
67
+ keyboard-initiated or high-frequency actions. Physicality is granted only to
68
+ auth and the first-run empty state, as a slow fade, not a flourish.
69
+
70
+ ## 8 Iconography & Charts
71
+ Lucide at 1.25px stroke — a lighter line than default, matching the soft ink
72
+ — on the 16/20px grid, `muted-foreground` by default. Charts: hairline axes,
73
+ no gridline fills, a muted five-hue ramp led by the eucalyptus (`chart-1..5`),
74
+ tooltips on `surface-overlay` with mono numerals. No chart ever shouts; the
75
+ data may.
76
+
77
+ ## 9 Voice
78
+ Measured host: complete sentences, no urgency theater, numbers plain.
79
+ "Add mandate" · "Nothing awaiting review — the next rebalance lands Thursday"
80
+ · "This allocation exceeds the drafted limit; adjust it or request a second
81
+ signature."
82
+
83
+ ## 10 Do's & Don'ts
84
+ Do keep exactly one desaturated accent — if a surface wants a second color,
85
+ it wants a hairline instead. Do spend space before spending weight. Do keep
86
+ shadows at atmosphere level or absent. Don't push `foreground` to pure black
87
+ — the softness is the brand. Don't bold; medium is the ceiling. Don't
88
+ introduce saturated status colors; muted clay, moss, and amber only. Don't
89
+ compress density below standard.
90
+
91
+ ## 11 Responsive
92
+ 375: sidebar → sheet, side panel → full sheet, tables → stacked cards with
93
+ mono figures; line-height holds. 768: sidebar collapses to the icon rail.
94
+ 1024: two-pane queue+detail holds. 1440: content stays capped at 1280px; the
95
+ margins widen — the calm scales, the text measure doesn't.
96
+
97
+ ## 12 Agent Prompt Guide
98
+ Set the room before the furniture: margins and line-height first, then
99
+ hairlines, then ink. One family, two weights, one green — if a design wants
100
+ more, it has drifted off-package. Prefer removing an element to muting it.
101
+ Dark is authored — consult the block, never derive. Never let a shadow do a
102
+ hairline's job.
103
+
104
+ ```yaml design-values
105
+ color:
106
+ light:
107
+ background: oklch(0.977 0.006 168)
108
+ foreground: oklch(0.3 0.02 175)
109
+ card: oklch(0.985 0.005 168)
110
+ card-foreground: oklch(0.3 0.02 175)
111
+ popover: oklch(0.988 0.005 168)
112
+ popover-foreground: oklch(0.3 0.02 175)
113
+ primary: oklch(0.43 0.07 172)
114
+ primary-foreground: oklch(0.975 0.006 168)
115
+ secondary: oklch(0.945 0.009 168)
116
+ secondary-foreground: oklch(0.33 0.025 172)
117
+ muted: oklch(0.95 0.008 168)
118
+ muted-foreground: oklch(0.47 0.02 172)
119
+ accent: oklch(0.925 0.015 168)
120
+ accent-foreground: oklch(0.36 0.055 172)
121
+ destructive: oklch(0.52 0.16 25)
122
+ destructive-foreground: oklch(0.975 0.006 25)
123
+ success: oklch(0.55 0.1 160)
124
+ warning: oklch(0.66 0.11 70)
125
+ border: oklch(0.912 0.012 168)
126
+ input: oklch(0.912 0.012 168)
127
+ ring: oklch(0.52 0.075 172)
128
+ surface-raised: oklch(0.985 0.005 168)
129
+ surface-overlay: oklch(0.988 0.005 168)
130
+ chart-1: oklch(0.5 0.09 172)
131
+ chart-2: oklch(0.55 0.07 220)
132
+ chart-3: oklch(0.62 0.09 90)
133
+ chart-4: oklch(0.55 0.06 300)
134
+ chart-5: oklch(0.6 0.08 40)
135
+ sidebar: oklch(0.963 0.008 168)
136
+ sidebar-foreground: oklch(0.3 0.02 175)
137
+ sidebar-primary: oklch(0.43 0.07 172)
138
+ sidebar-primary-foreground: oklch(0.975 0.006 168)
139
+ sidebar-accent: oklch(0.925 0.015 168)
140
+ sidebar-accent-foreground: oklch(0.36 0.055 172)
141
+ sidebar-border: oklch(0.912 0.012 168)
142
+ sidebar-ring: oklch(0.52 0.075 172)
143
+ dark:
144
+ background: oklch(0.19 0.012 175)
145
+ foreground: oklch(0.9 0.01 168)
146
+ card: oklch(0.22 0.013 175)
147
+ card-foreground: oklch(0.9 0.01 168)
148
+ popover: oklch(0.28 0.015 175)
149
+ popover-foreground: oklch(0.9 0.01 168)
150
+ primary: oklch(0.72 0.09 170)
151
+ primary-foreground: oklch(0.16 0.02 175)
152
+ secondary: oklch(0.26 0.014 175)
153
+ secondary-foreground: oklch(0.87 0.012 168)
154
+ muted: oklch(0.25 0.013 175)
155
+ muted-foreground: oklch(0.7 0.015 170)
156
+ accent: oklch(0.3 0.03 172)
157
+ accent-foreground: oklch(0.85 0.05 168)
158
+ destructive: oklch(0.63 0.14 25)
159
+ destructive-foreground: oklch(0.12 0.02 25)
160
+ success: oklch(0.68 0.11 160)
161
+ warning: oklch(0.75 0.11 70)
162
+ border: oklch(0.29 0.015 175)
163
+ input: oklch(0.29 0.015 175)
164
+ ring: oklch(0.72 0.09 170)
165
+ surface-raised: oklch(0.24 0.014 175)
166
+ surface-overlay: oklch(0.28 0.015 175)
167
+ chart-1: oklch(0.7 0.1 170)
168
+ chart-2: oklch(0.68 0.08 220)
169
+ chart-3: oklch(0.75 0.09 90)
170
+ chart-4: oklch(0.68 0.07 300)
171
+ chart-5: oklch(0.72 0.09 45)
172
+ sidebar: oklch(0.17 0.011 175)
173
+ sidebar-foreground: oklch(0.88 0.012 168)
174
+ sidebar-primary: oklch(0.72 0.09 170)
175
+ sidebar-primary-foreground: oklch(0.16 0.02 175)
176
+ sidebar-accent: oklch(0.25 0.02 172)
177
+ sidebar-accent-foreground: oklch(0.88 0.012 168)
178
+ sidebar-border: oklch(0.27 0.013 175)
179
+ sidebar-ring: oklch(0.72 0.09 170)
180
+ typography:
181
+ display: { family: "Hanken Grotesk Variable", fallback: "system-ui, sans-serif", weights: [500] }
182
+ sans: { family: "Hanken Grotesk Variable", fallback: "system-ui, sans-serif", weights: [400, 500] }
183
+ mono: { family: "Fragment Mono", fallback: "ui-monospace, monospace", weights: [400] }
184
+ ramp:
185
+ display: { size: 30px, line: 40px, weight: 500, family: display, tracking: -0.005em }
186
+ h1: { size: 22px, line: 32px, weight: 500, family: sans }
187
+ h2: { size: 17px, line: 26px, weight: 500, family: sans }
188
+ body: { size: 14px, line: 22px, weight: 400, family: sans }
189
+ small: { size: 13px, line: 20px, weight: 400, family: sans }
190
+ caption: { size: 12px, line: 18px, weight: 400, family: sans }
191
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
192
+ register-scope: { display: [page-title, empty-state, auth], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
193
+ elevation:
194
+ radius: { sm: 4px, md: 8px, lg: 12px }
195
+ hairline: border
196
+ shadow:
197
+ overlay: "0 10px 36px oklch(0.32 0.02 172 / 0.07)"
198
+ popover: "0 2px 10px oklch(0.32 0.02 172 / 0.05)"
199
+ dark-ladder: { background: 0.19, raised: 0.24, overlay: 0.28, hue-held: 175 }
200
+ motion:
201
+ duration: { press: 120ms, fade: 200ms, panel: 280ms }
202
+ easing: { standard: "cubic-bezier(0.25, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
203
+ entrance-never: ease-in
204
+ identity-moments: [auth, first-run-empty]
205
+ iconography: { set: lucide, stroke: 1.25px, grid: [16px, 20px] }
206
+ charts:
207
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
208
+ sequential: { from: background, to: chart-1 }
209
+ diverging: { negative: destructive, mid: muted, positive: success }
210
+ layout: { base: 4px, sidebar: [264px, 64px], topbar: 60px, side-panel: [460px, 720px], content-max: 1280px }
211
+ ```
@@ -0,0 +1,212 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: terse-dense-operator
4
+ tier: variant
5
+ segments: [ops, fintech, monitoring]
6
+ keywords: [dense, terminal, mono, utilitarian, dark-first, cyan, cockpit]
7
+ sourced: 2026-07-12
8
+ sources: "authored for the v2 variant roster; JetBrains Mono specimen"
9
+ license: open
10
+ ---
11
+
12
+ # terse-dense-operator — an engine control room at 03:00
13
+
14
+ ## 1 Visual Theme
15
+ A container ship's engine control room at 03:00: black consoles bolted in
16
+ rows, cyan phosphor readouts, hairline-etched panel labels, not one surface
17
+ that reflects. Dark is the primary mood and is authored first; light is the
18
+ daylight bridge — the same instruments with the sun on. Maximum data per
19
+ pixel: 0–2px radius, hairlines as the only ornament, mono-forward type, no
20
+ shadows pretending to be depth. One cyan accent marks the live thing; all
21
+ else is instrument gray-blue.
22
+
23
+ ## 2 Color Roles
24
+ Pale instrument `foreground` on near-black `background` (dark-first). Cyan
25
+ `primary` marks the one live element — primary action, active nav, the
26
+ `ring` — and nothing else; `accent` is its dim panel-glow tint for the
27
+ selected row. Status hues are signal lamps: `destructive` red, `success`
28
+ green, `warning` amber — on chips, cell states, and thresholds only, and
29
+ they outrank the cyan when lit. The `sidebar` drops a step darker than the
30
+ canvas; every separator is the hairline `border`, never contrast blocks.
31
+
32
+ ## 3 Typography
33
+ JetBrains Mono (display and data) / IBM Plex Sans (chrome). The cockpit
34
+ speaks mono: page titles are JetBrains Mono 700 at 20px — a stencil on a
35
+ panel, not a headline — and every figure, ID, timestamp, and log line is
36
+ mono with `tabular-nums`. IBM Plex Sans carries controls, labels, and body
37
+ where mono would tire the eye. The ramp is compressed (body 13px, data 12px);
38
+ weight changes are the only emphasis. Nothing exceeds 20px anywhere.
39
+
40
+ ## 4 Component Stylings
41
+ Buttons `radius-sm` (0px), `primary` fill only on the single commit action;
42
+ everything else is hairline-outlined `secondary` or ghost. Inputs are flat
43
+ `background` fill with hairline `border`, focus a 2px cyan `ring` — no glow,
44
+ no lift. Cards are hairline-bounded regions of the panel, never shadowed.
45
+ Table rows run at maximum density with `muted` hover, `accent` selection,
46
+ and mono numerals; column dividers are hairlines. Detail opens in a narrow
47
+ side panel; modals confirm destructive acts and do nothing else.
48
+
49
+ ## 5 Layout
50
+ 4px base, spent sparingly. Sidebar 224/48px; topbar 44px; side panel
51
+ 400/560px; content runs full-bleed to 1920px — a cockpit wastes no glass.
52
+ Gutters stay at 8–12px; density is compressed by default and never relaxes
53
+ below standard even on empty states. Forms are narrow, label-left, built for
54
+ the tab key.
55
+
56
+ ## 6 Depth
57
+ None faked. Light theme: hairlines only; the two declared shadows are
58
+ 1px-ring outlines (tinted, near-invisible) that keep overlays legible on
59
+ white, not elevation. Dark theme: the surface ladder is the only depth —
60
+ `background` 0.14 L, `surface-raised` +0.04, `surface-overlay` +0.09, hue
61
+ held at 230. Focus is the 2px `ring`; z-levels: content, sticky chrome,
62
+ overlay. Nothing floats, nothing glows.
63
+
64
+ ## 7 Motion
65
+ Near zero. Named moments: `panel-snap` (side panel, 160ms, interruptible),
66
+ `fade-arrive` (page content, 90ms), `press` (60ms). Row hover, selection,
67
+ sort, and every keyboard-initiated action render instantly — 0ms, by policy.
68
+ Physicality is granted to auth alone, as a single 160ms fade. If a motion is
69
+ noticed twice in a shift, it is too long.
70
+
71
+ ## 8 Iconography & Charts
72
+ Lucide, 1.5px stroke, on a compact 14/16px grid, `muted-foreground` default;
73
+ icons label systems, never decorate. Charts are instruments: hairline axes,
74
+ no gridline fills, no area washes, the cyan-led categorical ramp
75
+ (`chart-1..5`), tooltips on `surface-overlay` with mono numerals, thresholds
76
+ drawn as hairline rules in status hues.
77
+
78
+ ## 9 Voice
79
+ Log-terse: imperative verbs, no pleasantries, values before prose.
80
+ "Ack alert" · "Queue empty — 0 pending, last drain 03:12:47Z" · "Write
81
+ failed: partition 7 read-only since 02:58; retry blocked."
82
+
83
+ ## 10 Do's & Don'ts
84
+ Do put a figure where prose could go. Do keep every radius at 0–2px and
85
+ every separator a hairline. Do let status lamps outrank the cyan when lit.
86
+ Don't shadow anything; the ladder is the only depth. Don't animate hover,
87
+ sort, selection, or anything keyboard-initiated. Don't let mono display type
88
+ grow past 20px — a cockpit has no headlines. Don't relax density for
89
+ aesthetics; whitespace here is unread telemetry.
90
+
91
+ ## 11 Responsive
92
+ 375: sidebar → off-canvas rail, side panel → full sheet, tables keep mono
93
+ figures and horizontal scroll — never card-ify telemetry. 768: sidebar holds
94
+ at the 48px icon rail. 1024: two-pane queue+detail holds. 1440–1920:
95
+ columns multiply; the grid fills all available glass, no centering cap
96
+ below 1920px.
97
+
98
+ ## 12 Agent Prompt Guide
99
+ Author dark first; light is the daylight variant of the same panel, not a
100
+ separate look. Every surface leads with its densest useful table. Cyan on
101
+ exactly one live element; when a status lamp lights, cyan yields. No motion
102
+ on anything an operator repeats; 0ms is the default answer. Read the ladder
103
+ from the block — never derive dark, never add a shadow.
104
+
105
+ ```yaml design-values
106
+ color:
107
+ light:
108
+ background: oklch(0.965 0.006 230)
109
+ foreground: oklch(0.2 0.02 235)
110
+ card: oklch(0.975 0.005 230)
111
+ card-foreground: oklch(0.2 0.02 235)
112
+ popover: oklch(0.98 0.005 230)
113
+ popover-foreground: oklch(0.2 0.02 235)
114
+ primary: oklch(0.42 0.09 210)
115
+ primary-foreground: oklch(0.97 0.006 220)
116
+ secondary: oklch(0.93 0.009 230)
117
+ secondary-foreground: oklch(0.24 0.02 233)
118
+ muted: oklch(0.935 0.008 230)
119
+ muted-foreground: oklch(0.44 0.02 233)
120
+ accent: oklch(0.9 0.03 210)
121
+ accent-foreground: oklch(0.33 0.06 215)
122
+ destructive: oklch(0.53 0.19 27)
123
+ destructive-foreground: oklch(0.97 0.006 27)
124
+ success: oklch(0.55 0.12 155)
125
+ warning: oklch(0.62 0.13 75)
126
+ border: oklch(0.885 0.01 230)
127
+ input: oklch(0.885 0.01 230)
128
+ ring: oklch(0.42 0.09 210)
129
+ surface-raised: oklch(0.975 0.005 230)
130
+ surface-overlay: oklch(0.98 0.005 230)
131
+ chart-1: oklch(0.48 0.1 210)
132
+ chart-2: oklch(0.55 0.12 150)
133
+ chart-3: oklch(0.62 0.13 75)
134
+ chart-4: oklch(0.52 0.12 300)
135
+ chart-5: oklch(0.5 0.08 255)
136
+ sidebar: oklch(0.945 0.007 230)
137
+ sidebar-foreground: oklch(0.2 0.02 235)
138
+ sidebar-primary: oklch(0.42 0.09 210)
139
+ sidebar-primary-foreground: oklch(0.97 0.006 220)
140
+ sidebar-accent: oklch(0.9 0.03 210)
141
+ sidebar-accent-foreground: oklch(0.33 0.06 215)
142
+ sidebar-border: oklch(0.885 0.01 230)
143
+ sidebar-ring: oklch(0.42 0.09 210)
144
+ dark:
145
+ background: oklch(0.14 0.01 230)
146
+ foreground: oklch(0.89 0.012 220)
147
+ card: oklch(0.17 0.011 230)
148
+ card-foreground: oklch(0.89 0.012 220)
149
+ popover: oklch(0.23 0.013 230)
150
+ popover-foreground: oklch(0.89 0.012 220)
151
+ primary: oklch(0.8 0.12 200)
152
+ primary-foreground: oklch(0.14 0.02 225)
153
+ secondary: oklch(0.22 0.012 230)
154
+ secondary-foreground: oklch(0.86 0.014 220)
155
+ muted: oklch(0.2 0.012 230)
156
+ muted-foreground: oklch(0.68 0.02 225)
157
+ accent: oklch(0.25 0.035 210)
158
+ accent-foreground: oklch(0.85 0.08 200)
159
+ destructive: oklch(0.64 0.2 25)
160
+ destructive-foreground: oklch(0.11 0.02 25)
161
+ success: oklch(0.74 0.15 155)
162
+ warning: oklch(0.78 0.14 75)
163
+ border: oklch(0.25 0.013 230)
164
+ input: oklch(0.25 0.013 230)
165
+ ring: oklch(0.8 0.12 200)
166
+ surface-raised: oklch(0.18 0.012 230)
167
+ surface-overlay: oklch(0.23 0.013 230)
168
+ chart-1: oklch(0.8 0.12 200)
169
+ chart-2: oklch(0.72 0.13 150)
170
+ chart-3: oklch(0.78 0.13 75)
171
+ chart-4: oklch(0.7 0.12 300)
172
+ chart-5: oklch(0.68 0.1 255)
173
+ sidebar: oklch(0.12 0.009 230)
174
+ sidebar-foreground: oklch(0.86 0.014 220)
175
+ sidebar-primary: oklch(0.8 0.12 200)
176
+ sidebar-primary-foreground: oklch(0.14 0.02 225)
177
+ sidebar-accent: oklch(0.19 0.015 230)
178
+ sidebar-accent-foreground: oklch(0.87 0.014 220)
179
+ sidebar-border: oklch(0.22 0.012 230)
180
+ sidebar-ring: oklch(0.8 0.12 200)
181
+ typography:
182
+ display: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [700] }
183
+ sans: { family: "IBM Plex Sans", fallback: "system-ui, sans-serif", weights: [400, 600] }
184
+ mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [400, 700] }
185
+ ramp:
186
+ display: { size: 20px, line: 26px, weight: 700, family: display, tracking: 0em }
187
+ h1: { size: 18px, line: 24px, weight: 600, family: sans }
188
+ h2: { size: 15px, line: 20px, weight: 600, family: sans }
189
+ body: { size: 13px, line: 18px, weight: 400, family: sans }
190
+ small: { size: 12px, line: 16px, weight: 400, family: sans }
191
+ caption: { size: 11px, line: 14px, weight: 500, family: sans, tracking: 0.02em }
192
+ data: { size: 12px, line: 18px, weight: 400, family: mono, features: [tnum] }
193
+ register-scope: { display: [page-title], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
194
+ elevation:
195
+ radius: { sm: 0px, md: 2px, lg: 2px }
196
+ hairline: border
197
+ shadow:
198
+ overlay: "0 0 0 1px oklch(0.32 0.015 230 / 0.55)"
199
+ popover: "0 0 0 1px oklch(0.32 0.015 230 / 0.55)"
200
+ dark-ladder: { background: 0.14, raised: 0.18, overlay: 0.23, hue-held: 230 }
201
+ motion:
202
+ duration: { press: 60ms, fade: 90ms, panel: 160ms }
203
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
204
+ entrance-never: ease-in
205
+ identity-moments: [auth]
206
+ iconography: { set: lucide, stroke: 1.5px, grid: [14px, 16px] }
207
+ charts:
208
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
209
+ sequential: { from: background, to: chart-1 }
210
+ diverging: { negative: destructive, mid: muted, positive: success }
211
+ layout: { base: 4px, sidebar: [224px, 48px], topbar: 44px, side-panel: [400px, 560px], content-max: 1920px }
212
+ ```
@@ -0,0 +1,216 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: warm-approachable
4
+ tier: variant
5
+ segments: [smb, hr, support]
6
+ keywords: [warm, human, soft, rounded, terracotta, humanist, friendly]
7
+ sourced: 2026-07-12
8
+ sources: "authored for the v2 variant roster; Bricolage Grotesque and Nunito Sans specimens"
9
+ license: open
10
+ ---
11
+
12
+ # warm-approachable — a neighborhood credit union at opening
13
+
14
+ ## 1 Visual Theme
15
+ A neighborhood credit union at opening time: terracotta tile, an oak counter
16
+ worn smooth at the corner, a hand-lettered welcome card beside the bell,
17
+ coffee already on. Handshake software — light default, neutrals tinted
18
+ toward clay (warm, never cream), one terracotta accent that greets rather
19
+ than commands, gentle radius on everything you touch. The counter is still a
20
+ counter: tables, forms, and figures stay crisp, dense-capable, and honest.
21
+ Dark is the branch after close, lamps amber — an authored ladder, never an
22
+ inversion.
23
+
24
+ ## 2 Color Roles
25
+ Warm graphite `foreground` on a clay-washed `background` — the wash sits at
26
+ the warm-white edge, deliberately clear of the cream band. `primary` is the
27
+ terracotta — primary actions, active nav, the `ring`; `accent` is its peach
28
+ wash for selection and hover. Status hues are conventional but softened:
29
+ `destructive` red for real danger only, `success` leaf green, `warning`
30
+ honey amber — chips and validation, never chrome. The `sidebar` warms a
31
+ half-step below the canvas; nothing on it competes with the counter.
32
+
33
+ ## 3 Typography
34
+ Bricolage Grotesque (display) / Nunito Sans (text) / Red Hat Mono (data).
35
+ Bricolage speaks in page titles, empty states, and auth — a warm,
36
+ characterful voice that never touches cells, buttons, labels, or form
37
+ chrome. Nunito Sans, a humanist sans, carries all chrome and body at a
38
+ comfortable 15px with generous line-height. Red Hat Mono owns figures, IDs,
39
+ and timestamps with `tabular-nums`. Emphasis bumps weight, never size.
40
+
41
+ ## 4 Component Stylings
42
+ Buttons `radius-md`, `primary` fill, comfortable padding — soft-cornered,
43
+ never pill. Inputs are `background` fill with hairline `border` and
44
+ `radius-md`; focus draws the 2px terracotta `ring`, no glow. Cards sit on
45
+ `card` behind a hairline with the faintest clay-tinted shadow. Table rows
46
+ run standard height with `muted` hover and `accent` selection; numerals stay
47
+ mono. Detail opens in the side panel with a warm rule at its head; modals
48
+ confirm, they don't host work.
49
+
50
+ ## 5 Layout
51
+ 4px base. Sidebar 260/64px; topbar 56px; side panel 440/680px; content caps
52
+ at 1360px. Comfortable gutters (16–24px); density is standard, stepping
53
+ denser on queue and table archetypes without ever feeling like a terminal.
54
+ Forms run single-column with roomy field spacing — a form here is a
55
+ conversation, not an interrogation.
56
+
57
+ ## 6 Depth
58
+ Soft but honest: hairlines structure everything; cards may carry one faint
59
+ clay-tinted shadow; overlays carry a slightly deeper one. Never gray-black
60
+ shadows, never stacked elevation. Focus is the 2px `ring`. Dark expresses
61
+ depth as the surface ladder: `background` 0.16 L, `surface-raised` +0.05,
62
+ `surface-overlay` +0.10, hue held at 35 — the lamps get warmer, not the
63
+ shadows deeper.
64
+
65
+ ## 7 Motion
66
+ Gentle and brief. Named moments: `panel-slide` (side panel, 260ms,
67
+ interruptible), `fade-arrive` (page content, 180ms), `press` (130ms), and
68
+ `welcome-fade` (first-run empty state, 260ms, the one indulgence). Easing is
69
+ a soft ease-out; nothing springs or bounces. No animation on
70
+ keyboard-initiated or high-frequency actions — friendliness is never
71
+ latency.
72
+
73
+ ## 8 Iconography & Charts
74
+ Lucide at 1.75px stroke — slightly rounded presence to match the humanist
75
+ type — 16/20px grid, `muted-foreground` default; nav and empty states always
76
+ carry icons. Charts: hairline axes, no gridline fills, a warm five-hue
77
+ categorical ramp led by terracotta (`chart-1..5`), tooltips on
78
+ `surface-overlay` with mono numerals.
79
+
80
+ ## 9 Voice
81
+ Front-desk neighborly: plain words, first person welcome, no corporate
82
+ distance, numbers stated honestly. "Add a member" · "No requests waiting —
83
+ enjoy the quiet, or invite your team" · "We couldn't save that: the start
84
+ date is after the end date."
85
+
86
+ ## 10 Do's & Don'ts
87
+ Do keep the warmth in the neutrals and the type, not in extra color — one
88
+ terracotta, spent once per surface. Do give forms room to breathe. Do keep
89
+ figures mono and tables crisp — warm is not vague. Don't drift the
90
+ background into cream; the wash stays at the clay edge, above the band.
91
+ Don't pill buttons or inflate radius past the scale. Don't let Bricolage
92
+ near a cell, button, or label. Don't soften error states into ambiguity —
93
+ kindness is clarity.
94
+
95
+ ## 11 Responsive
96
+ 375: sidebar → sheet, side panel → full sheet, tables → stacked cards with
97
+ mono figures; type holds at 15px — small screens get no less warmth. 768:
98
+ sidebar collapses to the icon rail. 1024: two-pane queue+detail holds. 1440:
99
+ content centers under the 1360px cap; empty states earn the full display
100
+ treatment.
101
+
102
+ ## 12 Agent Prompt Guide
103
+ Greet, then serve: every surface opens with its work object in Bricolage,
104
+ then gets out of the way. Terracotta on exactly one action per surface. Keep
105
+ the counter honest — dense tables, mono figures, clear errors — and the
106
+ warmth in surfaces, corners, and copy. Dark is authored — consult the block,
107
+ never derive.
108
+
109
+ ```yaml design-values
110
+ color:
111
+ light:
112
+ background: oklch(0.977 0.008 30)
113
+ foreground: oklch(0.27 0.025 35)
114
+ card: oklch(0.984 0.006 30)
115
+ card-foreground: oklch(0.27 0.025 35)
116
+ popover: oklch(0.984 0.006 30)
117
+ popover-foreground: oklch(0.27 0.025 35)
118
+ primary: oklch(0.5 0.13 35)
119
+ primary-foreground: oklch(0.975 0.008 30)
120
+ secondary: oklch(0.94 0.012 30)
121
+ secondary-foreground: oklch(0.31 0.03 35)
122
+ muted: oklch(0.945 0.01 30)
123
+ muted-foreground: oklch(0.46 0.025 35)
124
+ accent: oklch(0.92 0.025 30)
125
+ accent-foreground: oklch(0.38 0.08 35)
126
+ destructive: oklch(0.53 0.19 27)
127
+ destructive-foreground: oklch(0.975 0.008 27)
128
+ success: oklch(0.57 0.12 150)
129
+ warning: oklch(0.65 0.13 70)
130
+ border: oklch(0.905 0.013 30)
131
+ input: oklch(0.905 0.013 30)
132
+ ring: oklch(0.55 0.13 35)
133
+ surface-raised: oklch(0.984 0.006 30)
134
+ surface-overlay: oklch(0.988 0.005 30)
135
+ chart-1: oklch(0.55 0.13 35)
136
+ chart-2: oklch(0.55 0.1 160)
137
+ chart-3: oklch(0.55 0.09 250)
138
+ chart-4: oklch(0.68 0.13 85)
139
+ chart-5: oklch(0.55 0.12 350)
140
+ sidebar: oklch(0.958 0.01 30)
141
+ sidebar-foreground: oklch(0.27 0.025 35)
142
+ sidebar-primary: oklch(0.5 0.13 35)
143
+ sidebar-primary-foreground: oklch(0.975 0.008 30)
144
+ sidebar-accent: oklch(0.92 0.025 30)
145
+ sidebar-accent-foreground: oklch(0.38 0.08 35)
146
+ sidebar-border: oklch(0.905 0.013 30)
147
+ sidebar-ring: oklch(0.55 0.13 35)
148
+ dark:
149
+ background: oklch(0.16 0.012 35)
150
+ foreground: oklch(0.91 0.012 35)
151
+ card: oklch(0.19 0.014 35)
152
+ card-foreground: oklch(0.91 0.012 35)
153
+ popover: oklch(0.26 0.016 35)
154
+ popover-foreground: oklch(0.91 0.012 35)
155
+ primary: oklch(0.72 0.13 40)
156
+ primary-foreground: oklch(0.15 0.02 35)
157
+ secondary: oklch(0.24 0.016 35)
158
+ secondary-foreground: oklch(0.88 0.014 35)
159
+ muted: oklch(0.23 0.015 35)
160
+ muted-foreground: oklch(0.7 0.02 38)
161
+ accent: oklch(0.29 0.035 35)
162
+ accent-foreground: oklch(0.86 0.05 40)
163
+ destructive: oklch(0.63 0.19 25)
164
+ destructive-foreground: oklch(0.12 0.02 25)
165
+ success: oklch(0.7 0.12 150)
166
+ warning: oklch(0.77 0.13 75)
167
+ border: oklch(0.28 0.016 35)
168
+ input: oklch(0.28 0.016 35)
169
+ ring: oklch(0.72 0.13 40)
170
+ surface-raised: oklch(0.21 0.015 35)
171
+ surface-overlay: oklch(0.26 0.016 35)
172
+ chart-1: oklch(0.72 0.13 40)
173
+ chart-2: oklch(0.7 0.1 160)
174
+ chart-3: oklch(0.68 0.09 250)
175
+ chart-4: oklch(0.8 0.12 85)
176
+ chart-5: oklch(0.7 0.11 350)
177
+ sidebar: oklch(0.14 0.011 35)
178
+ sidebar-foreground: oklch(0.89 0.013 35)
179
+ sidebar-primary: oklch(0.72 0.13 40)
180
+ sidebar-primary-foreground: oklch(0.15 0.02 35)
181
+ sidebar-accent: oklch(0.22 0.02 35)
182
+ sidebar-accent-foreground: oklch(0.89 0.013 35)
183
+ sidebar-border: oklch(0.26 0.015 35)
184
+ sidebar-ring: oklch(0.72 0.13 40)
185
+ typography:
186
+ display: { family: "Bricolage Grotesque Variable", fallback: "system-ui, sans-serif", weights: [600] }
187
+ sans: { family: "Nunito Sans Variable", fallback: "system-ui, sans-serif", weights: [400, 700] }
188
+ mono: { family: "Red Hat Mono", fallback: "ui-monospace, monospace", weights: [400] }
189
+ ramp:
190
+ display: { size: 30px, line: 38px, weight: 600, family: display, tracking: -0.01em }
191
+ h1: { size: 24px, line: 32px, weight: 600, family: display }
192
+ h2: { size: 18px, line: 26px, weight: 700, family: sans }
193
+ body: { size: 15px, line: 24px, weight: 400, family: sans }
194
+ small: { size: 13px, line: 20px, weight: 400, family: sans }
195
+ caption: { size: 12px, line: 16px, weight: 700, family: sans }
196
+ data: { size: 14px, line: 21px, weight: 400, family: mono, features: [tnum] }
197
+ register-scope: { display: [page-title, empty-state, auth], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
198
+ elevation:
199
+ radius: { sm: 6px, md: 10px, lg: 16px }
200
+ hairline: border
201
+ shadow:
202
+ overlay: "0 10px 30px oklch(0.35 0.05 35 / 0.12)"
203
+ popover: "0 3px 12px oklch(0.35 0.05 35 / 0.09)"
204
+ dark-ladder: { background: 0.16, raised: 0.21, overlay: 0.26, hue-held: 35 }
205
+ motion:
206
+ duration: { press: 130ms, fade: 180ms, panel: 260ms }
207
+ easing: { standard: "cubic-bezier(0.25, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
208
+ entrance-never: ease-in
209
+ identity-moments: [auth, first-run-empty]
210
+ iconography: { set: lucide, stroke: 1.75px, 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: 4px, sidebar: [260px, 64px], topbar: 56px, side-panel: [440px, 680px], content-max: 1360px }
216
+ ```
@@ -0,0 +1,23 @@
1
+ # Step 4 — Compose: one mind, whole canvas
2
+
3
+ Build the app — all surfaces in one continuous context, the chosen package's design.md in view throughout. This step is never decomposed into per-surface handoffs with frozen intermediate artifacts; the composing mind holds the whole canvas.
4
+
5
+ ## Chrome
6
+
7
+ Per the primitives switch recorded in the project's `design.md`:
8
+
9
+ - **`nurix`** — compose chrome from `@nurix/components`. The chrome recipes (`data/chrome/`) carry composition, states, and when-to-use; the component reference folder (`components/`) carries props, imports, and usage — consult the index for what exists, and open the touched category's API reference on need.
10
+ - **`native`** — the recipes are *specifications*: anatomy, the eight states, keyboard behavior, token reach — implement them with the incumbent stack's own components. The index's shadcn/fallback columns carry the composition; category API references never load.
11
+
12
+ Recipes are starting points, not jails: restyle or extend them in place when the package demands it.
13
+
14
+ ## Composition rules
15
+
16
+ - **Every surface starts from a chosen layout blueprint** (`data/blueprints/<archetype>.md`) — pick the shape reading the brief, record it in one line. Structural variety, not visual variety, is what reads as designed.
17
+ - **Values come from the token artifact** — components consume the emitted custom properties and never invent raw values ([emission.md](emission.md) has the pipe rules). Switching packages must re-skin the whole app.
18
+ - **Positive obligations apply** — load the surface's archetype checklist (`data/checklists/<archetype>.md`); the checklists are ceilings: a sidebar ships with brand block, icons, and user context; a dashboard tile ships with number + comparison + trend + state + door; every surface ships its state matrix.
19
+ - **The register scope holds**: the display face never touches cells, buttons, labels, or form chrome; data numerals run the mono face with `tabular-nums`.
20
+ - **Motion follows the package's §7** and the frequency law: actions performed 100+ times a day, and any keyboard-initiated action, get no animation, ever; panel/drawer motion is interruptible; entrances never `ease-in`.
21
+ - **No ownership jails.** Any file may be edited at any time, including generated ones and library compositions.
22
+ - **No paper-trail bureaucracy.** Decision-log lines only; attention goes to pixels.
23
+ - **A finishing pass with authority over everything is part of this step** — walk the whole canvas once at the end: rhythm, alignment, density, identity-consistency across surfaces, the one-accent discipline.