@nurix/etna 0.18.19 → 0.18.21

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 (283) hide show
  1. package/README.md +1 -1
  2. package/data/harness-index.json +1 -1
  3. package/data/harnesses/code/CLAUDE.md +1 -1
  4. package/data/harnesses/code/agents/brainstorm.md +1 -1
  5. package/data/harnesses/code/agents/maintenance.md +2 -2
  6. package/data/harnesses/code/harness.json +2 -2
  7. package/data/harnesses/code/rules/database.md +38 -0
  8. package/data/harnesses/code/rules/express.md +28 -0
  9. package/data/harnesses/code/rules/frontend.md +14 -0
  10. package/data/harnesses/code/rules/general.md +2 -40
  11. package/data/harnesses/code/rules/nomenclature.md +1 -8
  12. package/data/harnesses/code/rules/nustack.md +150 -0
  13. package/data/harnesses/code/skills/brainstorm/README.md +1 -1
  14. package/data/harnesses/code/skills/brainstorm/SKILL.md +1 -1
  15. package/data/harnesses/code/skills/brainstorm/exit-artifacts.md +4 -4
  16. package/data/harnesses/code/skills/brainstorm/templates/source-of-truth.md +3 -3
  17. package/data/harnesses/code/skills/design/SKILL.md +68 -0
  18. package/data/harnesses/code/skills/design/data/catalog/rules.csv +132 -0
  19. package/data/harnesses/code/skills/design/data/combinations/Readme.md +29 -0
  20. package/data/harnesses/code/skills/design/data/combinations/charts.csv +33 -0
  21. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +437 -0
  22. package/data/harnesses/code/skills/design/data/combinations/icons.csv +157 -0
  23. package/data/harnesses/code/skills/design/data/combinations/landing.csv +38 -0
  24. package/data/harnesses/code/skills/design/data/combinations/lucide-names.json +2001 -0
  25. package/data/harnesses/code/skills/design/data/combinations/manifest.json +283 -0
  26. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +49 -0
  27. package/data/harnesses/code/skills/design/data/combinations/product-router.csv +80 -0
  28. package/data/harnesses/code/skills/design/data/combinations/styles.csv +54 -0
  29. package/data/harnesses/code/skills/design/data/combinations/typography.csv +61 -0
  30. package/data/harnesses/code/skills/design/data/design-md/SCHEMA.md +106 -0
  31. package/data/harnesses/code/skills/design/data/design-md/library/airbnb.md +154 -0
  32. package/data/harnesses/code/skills/design/data/design-md/library/airtable.md +151 -0
  33. package/data/harnesses/code/skills/design/data/design-md/library/anthropic-claude.md +139 -0
  34. package/data/harnesses/code/skills/design/data/design-md/library/apple.md +139 -0
  35. package/data/harnesses/code/skills/design/data/design-md/library/binance.md +140 -0
  36. package/data/harnesses/code/skills/design/data/design-md/library/bmw.md +140 -0
  37. package/data/harnesses/code/skills/design/data/design-md/library/cal.md +140 -0
  38. package/data/harnesses/code/skills/design/data/design-md/library/clay.md +139 -0
  39. package/data/harnesses/code/skills/design/data/design-md/library/clickhouse.md +139 -0
  40. package/data/harnesses/code/skills/design/data/design-md/library/cohere.md +147 -0
  41. package/data/harnesses/code/skills/design/data/design-md/library/coinbase.md +156 -0
  42. package/data/harnesses/code/skills/design/data/design-md/library/composio.md +138 -0
  43. package/data/harnesses/code/skills/design/data/design-md/library/cursor.md +138 -0
  44. package/data/harnesses/code/skills/design/data/design-md/library/elevenlabs.md +137 -0
  45. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +148 -0
  46. package/data/harnesses/code/skills/design/data/design-md/library/figma.md +141 -0
  47. package/data/harnesses/code/skills/design/data/design-md/library/framer.md +156 -0
  48. package/data/harnesses/code/skills/design/data/design-md/library/hashicorp.md +140 -0
  49. package/data/harnesses/code/skills/design/data/design-md/library/ibm.md +153 -0
  50. package/data/harnesses/code/skills/design/data/design-md/library/intercom.md +158 -0
  51. package/data/harnesses/code/skills/design/data/design-md/library/kraken.md +156 -0
  52. package/data/harnesses/code/skills/design/data/design-md/library/linear-app.md +122 -0
  53. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +140 -0
  54. package/data/harnesses/code/skills/design/data/design-md/library/meta.md +139 -0
  55. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +139 -0
  56. package/data/harnesses/code/skills/design/data/design-md/library/mintlify.md +139 -0
  57. package/data/harnesses/code/skills/design/data/design-md/library/miro.md +153 -0
  58. package/data/harnesses/code/skills/design/data/design-md/library/mistral-ai.md +140 -0
  59. package/data/harnesses/code/skills/design/data/design-md/library/mongodb.md +155 -0
  60. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +140 -0
  61. package/data/harnesses/code/skills/design/data/design-md/library/nvidia.md +141 -0
  62. package/data/harnesses/code/skills/design/data/design-md/library/ollama.md +145 -0
  63. package/data/harnesses/code/skills/design/data/design-md/library/opencode-ai.md +142 -0
  64. package/data/harnesses/code/skills/design/data/design-md/library/posthog.md +152 -0
  65. package/data/harnesses/code/skills/design/data/design-md/library/raycast.md +137 -0
  66. package/data/harnesses/code/skills/design/data/design-md/library/replicate.md +140 -0
  67. package/data/harnesses/code/skills/design/data/design-md/library/resend.md +170 -0
  68. package/data/harnesses/code/skills/design/data/design-md/library/revolut.md +145 -0
  69. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +137 -0
  70. package/data/harnesses/code/skills/design/data/design-md/library/sanity.md +168 -0
  71. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +163 -0
  72. package/data/harnesses/code/skills/design/data/design-md/library/shopify.md +147 -0
  73. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +158 -0
  74. package/data/harnesses/code/skills/design/data/design-md/library/spacex.md +171 -0
  75. package/data/harnesses/code/skills/design/data/design-md/library/spotify.md +166 -0
  76. package/data/harnesses/code/skills/design/data/design-md/library/stripe.md +160 -0
  77. package/data/harnesses/code/skills/design/data/design-md/library/supabase.md +173 -0
  78. package/data/harnesses/code/skills/design/data/design-md/library/superhuman.md +145 -0
  79. package/data/harnesses/code/skills/design/data/design-md/library/tesla.md +153 -0
  80. package/data/harnesses/code/skills/design/data/design-md/library/theverge.md +167 -0
  81. package/data/harnesses/code/skills/design/data/design-md/library/together-ai.md +140 -0
  82. package/data/harnesses/code/skills/design/data/design-md/library/uber.md +140 -0
  83. package/data/harnesses/code/skills/design/data/design-md/library/vercel.md +140 -0
  84. package/data/harnesses/code/skills/design/data/design-md/library/voltagent.md +130 -0
  85. package/data/harnesses/code/skills/design/data/design-md/library/warp.md +140 -0
  86. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +140 -0
  87. package/data/harnesses/code/skills/design/data/design-md/library/wired.md +139 -0
  88. package/data/harnesses/code/skills/design/data/design-md/library/wise.md +137 -0
  89. package/data/harnesses/code/skills/design/data/design-md/library/x-ai.md +138 -0
  90. package/data/harnesses/code/skills/design/data/design-md/library/zapier.md +158 -0
  91. package/data/harnesses/code/skills/design/data/design-md/nurix.md +134 -0
  92. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +580 -0
  93. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.resolver.json +20 -0
  94. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +964 -0
  95. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.resolver.json +20 -0
  96. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +960 -0
  97. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.resolver.json +20 -0
  98. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +965 -0
  99. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.resolver.json +20 -0
  100. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +954 -0
  101. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.resolver.json +20 -0
  102. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +949 -0
  103. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.resolver.json +20 -0
  104. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +962 -0
  105. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.resolver.json +20 -0
  106. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +958 -0
  107. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.resolver.json +20 -0
  108. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +953 -0
  109. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.resolver.json +20 -0
  110. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +960 -0
  111. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.resolver.json +20 -0
  112. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +973 -0
  113. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.resolver.json +20 -0
  114. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +954 -0
  115. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.resolver.json +20 -0
  116. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +963 -0
  117. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.resolver.json +20 -0
  118. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +968 -0
  119. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.resolver.json +20 -0
  120. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +981 -0
  121. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.resolver.json +20 -0
  122. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +962 -0
  123. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.resolver.json +20 -0
  124. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +964 -0
  125. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.resolver.json +20 -0
  126. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +959 -0
  127. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +251 -0
  128. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.resolver.json +20 -0
  129. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +965 -0
  130. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.resolver.json +20 -0
  131. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +978 -0
  132. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.resolver.json +20 -0
  133. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +982 -0
  134. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.resolver.json +20 -0
  135. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +958 -0
  136. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +23 -0
  137. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +589 -0
  138. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +964 -0
  139. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.resolver.json +20 -0
  140. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +955 -0
  141. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.resolver.json +20 -0
  142. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +977 -0
  143. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.resolver.json +20 -0
  144. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +950 -0
  145. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.resolver.json +20 -0
  146. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +976 -0
  147. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.resolver.json +20 -0
  148. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +979 -0
  149. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.resolver.json +20 -0
  150. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +955 -0
  151. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.resolver.json +20 -0
  152. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +958 -0
  153. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.resolver.json +20 -0
  154. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +953 -0
  155. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.resolver.json +20 -0
  156. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +904 -0
  157. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.resolver.json +20 -0
  158. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +957 -0
  159. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.resolver.json +20 -0
  160. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +945 -0
  161. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.resolver.json +20 -0
  162. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +960 -0
  163. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.resolver.json +20 -0
  164. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +953 -0
  165. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.resolver.json +20 -0
  166. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +955 -0
  167. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.resolver.json +20 -0
  168. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +958 -0
  169. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +23 -0
  170. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +613 -0
  171. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +968 -0
  172. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.resolver.json +20 -0
  173. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +956 -0
  174. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.resolver.json +20 -0
  175. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +960 -0
  176. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.resolver.json +20 -0
  177. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +958 -0
  178. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.resolver.json +20 -0
  179. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +980 -0
  180. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.resolver.json +20 -0
  181. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +964 -0
  182. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.resolver.json +20 -0
  183. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +957 -0
  184. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.resolver.json +20 -0
  185. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +979 -0
  186. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.resolver.json +20 -0
  187. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +974 -0
  188. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.resolver.json +20 -0
  189. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +973 -0
  190. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.resolver.json +20 -0
  191. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +979 -0
  192. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.resolver.json +20 -0
  193. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +966 -0
  194. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.resolver.json +20 -0
  195. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +961 -0
  196. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.resolver.json +20 -0
  197. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +977 -0
  198. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.resolver.json +20 -0
  199. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +991 -0
  200. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.resolver.json +20 -0
  201. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +966 -0
  202. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.resolver.json +20 -0
  203. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +988 -0
  204. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +23 -0
  205. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +602 -0
  206. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +974 -0
  207. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.resolver.json +20 -0
  208. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +979 -0
  209. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.resolver.json +20 -0
  210. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +960 -0
  211. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.resolver.json +20 -0
  212. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +968 -0
  213. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.resolver.json +20 -0
  214. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +965 -0
  215. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.resolver.json +20 -0
  216. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +988 -0
  217. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.resolver.json +20 -0
  218. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +978 -0
  219. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +249 -0
  220. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +249 -0
  221. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +248 -0
  222. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +245 -0
  223. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +223 -0
  224. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +249 -0
  225. package/data/harnesses/code/skills/design/data/operator-pack/fixtures.md +88 -0
  226. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +132 -0
  227. package/data/harnesses/code/skills/design/data/operator-pack/trust-rubric.md +76 -0
  228. package/data/harnesses/code/skills/design/references/create.md +131 -0
  229. package/data/harnesses/code/skills/design/references/diagnosis.md +108 -0
  230. package/data/harnesses/code/skills/design/references/hard-rules.md +155 -0
  231. package/data/harnesses/code/skills/design/references/improve.md +87 -0
  232. package/data/harnesses/code/skills/design/references/interaction.md +77 -0
  233. package/data/harnesses/code/skills/design/references/introspect.md +100 -0
  234. package/data/harnesses/code/skills/design/references/lifecycle.md +73 -0
  235. package/data/harnesses/code/skills/design/references/personality.md +428 -0
  236. package/data/harnesses/code/skills/design/references/structure.md +138 -0
  237. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +1032 -0
  238. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +1006 -0
  239. package/data/harnesses/code/skills/design/scripts/generate-fixtures.mjs +551 -0
  240. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +903 -0
  241. package/data/harnesses/code/skills/design/scripts/lib/golden.mjs +26 -0
  242. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +454 -0
  243. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +267 -0
  244. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +690 -0
  245. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +552 -0
  246. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +600 -0
  247. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +68 -0
  248. package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +314 -0
  249. package/data/harnesses/code/skills/documentation/SKILL.md +61 -17
  250. package/data/harnesses/code/skills/documentation/references/examples.md +41 -0
  251. package/data/harnesses/code/skills/documentation/references/style-guide.md +14 -9
  252. package/data/harnesses/code/skills/documentation/references/templates.md +305 -51
  253. package/data/harnesses/etna/CLAUDE.md +1 -1
  254. package/data/harnesses/etna/agents/brainstorm.md +1 -1
  255. package/data/harnesses/etna/agents/maintenance.md +2 -2
  256. package/data/harnesses/etna/harness.json +2 -2
  257. package/data/harnesses/etna/rules/general.md +2 -40
  258. package/data/harnesses/etna/rules/nomenclature.md +1 -8
  259. package/data/harnesses/etna/skills/brainstorm/README.md +1 -1
  260. package/data/harnesses/etna/skills/brainstorm/SKILL.md +1 -1
  261. package/data/harnesses/etna/skills/brainstorm/exit-artifacts.md +4 -4
  262. package/data/harnesses/etna/skills/brainstorm/templates/source-of-truth.md +3 -3
  263. package/data/harnesses/etna/skills/documentation/SKILL.md +61 -17
  264. package/data/harnesses/etna/skills/documentation/references/examples.md +41 -0
  265. package/data/harnesses/etna/skills/documentation/references/style-guide.md +14 -9
  266. package/data/harnesses/etna/skills/documentation/references/templates.md +305 -51
  267. package/data/harnesses/mobile/CLAUDE.md +1 -1
  268. package/data/harnesses/mobile/agents/brainstorm.md +1 -1
  269. package/data/harnesses/mobile/agents/maintenance.md +2 -2
  270. package/data/harnesses/mobile/harness.json +2 -2
  271. package/data/harnesses/mobile/rules/database.md +38 -0
  272. package/data/harnesses/mobile/rules/general.md +2 -40
  273. package/data/harnesses/mobile/rules/nomenclature.md +1 -8
  274. package/data/harnesses/mobile/rules/nustack.md +150 -0
  275. package/data/harnesses/mobile/skills/brainstorm/README.md +1 -1
  276. package/data/harnesses/mobile/skills/brainstorm/SKILL.md +1 -1
  277. package/data/harnesses/mobile/skills/brainstorm/exit-artifacts.md +4 -4
  278. package/data/harnesses/mobile/skills/brainstorm/templates/source-of-truth.md +3 -3
  279. package/data/harnesses/mobile/skills/documentation/SKILL.md +61 -17
  280. package/data/harnesses/mobile/skills/documentation/references/examples.md +41 -0
  281. package/data/harnesses/mobile/skills/documentation/references/style-guide.md +14 -9
  282. package/data/harnesses/mobile/skills/documentation/references/templates.md +305 -51
  283. package/package.json +1 -1
@@ -0,0 +1,142 @@
1
+ ---
2
+ schema: design-md/v1
3
+ product: OpenCode
4
+ provenance: library
5
+ sourced: 2026-07-04
6
+ ---
7
+
8
+ # OpenCode — the terminal-native monospace operator design
9
+
10
+ OpenCode's marketing site is a manpage rendered at modern resolution: every word sits in one monospaced
11
+ face on a warm cream canvas, ASCII `[+]`/`[-]` markers stand in for icons, and a single dark card mocks
12
+ up the OpenCode TUI. This entry is the *operator* reading of that brand — an internal tool (agent-ops
13
+ console, run queue, log stream, dashboard) in OpenCode's language. What carries: the warm cream canvas
14
+ (never pure white), near-black ink, the monospace-everywhere type voice, the sharp-container /
15
+ 4px-interactive radius character, the single reserved Apple-Blue accent, and categorically-flat hairline
16
+ depth. What stays behind: the full-bleed dark hero TUI mockup, the 38px display headline, the 96px
17
+ section rhythm, the block-pixel ASCII wordmark, and the bracket markers used as bullets.
18
+
19
+ **Monochrome chrome, one held accent.** The chrome is ink-on-cream monochrome; the primary action is
20
+ a near-black ink button, not a colored one (the Vercel/Geist dialect), and Apple Blue (`#007aff`) is
21
+ the one chromatic accent — reserved, as the source reserves it, for interactive and data signal
22
+ only. It reads *light*, so the light-default floor holds.
23
+
24
+ ## 1 Visual Theme
25
+
26
+ Light by default; dark is opt-in. The whole UI floats on OpenCode's warm cream `background` (`#fdfcfc`)
27
+ — a faintly-blushed off-white, never the cool gray the category defaults to. Emphatically flat:
28
+ hierarchy is carried by hairline `border`, type weight, and the near-black/cream contrast — never a drop
29
+ shadow (the source has none; nothing lifts, nothing floats). The type voice is the identity: one
30
+ monospaced face carries every role (Berkeley Mono in the source, proprietary; JetBrains Mono the shipped
31
+ substitute) — no sans anywhere. The primary action is a near-black ink button; Apple Blue is the single
32
+ chromatic accent, held scarce. Density is `dense` — the surface reads like a terminal. The anchor
33
+ surface is a cream canvas seated beside a barely-warmer `sidebar`, separated by a hairline, not a band.
34
+
35
+ ## 2 Color Roles
36
+
37
+ Light values. One chromatic accent — Apple Blue is the only hue that carries interactive meaning;
38
+ the primary action is neutral ink; status speaks status.
39
+
40
+ | Role | Value | Allowed where |
41
+ | --- | --- | --- |
42
+ | `background` / `card` / `popover` | warm cream `#fdfcfc` | page, cards, and overlays — one warm off-white, no surface bands |
43
+ | `foreground` | near-black ink `#201d1d` | all primary ink; the primary button fill |
44
+ | `muted` / `secondary` | soft warm `#f8f7f7` | hover rows, subtle fills, secondary-button fill |
45
+ | `muted-foreground` | warm gray `#646262` | labels, captions, secondary text |
46
+ | `border` / `input` | warm hairline `#e0dddd` | every separator, grid line, field edge (solid form of the source's `rgba(15,0,0,0.12)`) |
47
+ | `primary` | near-black ink `#201d1d` | the one primary action — a dark button, never blue |
48
+ | `accent` | warm selection `#f1eeee` | selected / hovered rows and nav — a warm step, never blue |
49
+ | `ring` | `primary` ink `#201d1d` | the focus outline — an ink border, no glow (keyboard-first) |
50
+ | Apple Blue (the accent hue) | `#007aff` | interactive: active-nav, links, selected emphasis, `chart-1` — held scarce |
51
+ | `destructive` | Apple red `#ff3b30` | destructive actions and error state only |
52
+ | `success` / `warning` | Apple green `#30d158` / amber `#ff9f0a` | status signalling only, never chrome |
53
+
54
+ The Apple HIG semantic ramp is the brand's own; in the source it lives in the in-product TUI, and the operator surface *is* that context.
55
+
56
+ ## 3 Typography
57
+
58
+ There is no sans/mono split — `font-sans` and `font-mono` are the same monospaced family (JetBrains
59
+ Mono, the corpus's substitute for the proprietary Berkeley Mono). One face carries body, headings,
60
+ labels, IDs, and every numeric column; numerals align natively (monospace figures are already tabular),
61
+ so `tabular-nums` is inherent. Weights are 400 / 500 / 700, and — the defining detail — tracking is `0`
62
+ on every role: monospace does not track. The 38px display headline stays behind; a page title tops at 24px.
63
+
64
+ | Step | Role | Size · line | Weight · tracking |
65
+ | --- | --- | --- | --- |
66
+ | h1 | page title | 24px / 1.4 | `font-weight-strong` (700) · `heading-tracking` (0) |
67
+ | h2 | section head | 18px / 1.4 | `font-weight-strong` (700) · 0 |
68
+ | h3 | card / group head | 16px / 1.4 | `font-weight-strong` (700) · 0 |
69
+ | body | UI + prose | 14px / 1.5 | `font-weight-normal` (400) |
70
+ | small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
71
+ | caption | footer, badge, eyebrow | 12px / 1.4 | 500 (medium) |
72
+ | code | IDs, logs, amounts | 13px / 1.5 | `font-weight-normal` |
73
+
74
+ Emphasise by stepping weight 400 → 500 → 700; never by tracking, and never by swapping the face — there
75
+ is no other face.
76
+
77
+ ## 4 Component Stylings
78
+
79
+ Every recurring operator component composes from the primitives — no literal values.
80
+
81
+ - **Button** — primary: filled ink `primary` on cream `primary-foreground`, `radius` (4px), never a pill. Secondary: `secondary` fill, 1px `border`, `foreground`. Ghost: transparent, `accent` on hover.
82
+ - **Input** — `background` fill, 1px `border` (`border-weight`), `radius` (4px); focus draws the ink `ring` at 2px — a flat border, no glow.
83
+ - **Card** — `card` surface on a 1px `border`, **sharp corners** (containers are 0px); the hairline carries the lift, never a shadow; inset by `density-inset`.
84
+ - **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; numerics align natively in the mono face; selection tints `accent`, active rows mark with the blue accent.
85
+ - **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich` for content-heavy), beside the work, not over it.
86
+ - **Badge** — 4px `radius`, `muted` / status fill, uppercase caption; status badges take `success` / `warning` / `destructive`, never `primary`.
87
+
88
+ ## 5 Layout
89
+
90
+ Base spacing unit 8px with fine 1 / 4px steps (the source's own base); the on-scale ramp is `1 · 4 · 8 ·
91
+ 12 · 16 · 24 · 32 · 48` — the marketing 96px section rhythm stays behind. Shell dimensions map to the
92
+ layout primitives: sidebar `sidebar-width-expanded` (248px) / `sidebar-width-collapsed` (56px), topbar
93
+ `topbar-height` (56px, the source's nav height), side panel `side-panel-width` (420px) /
94
+ `side-panel-width-rich` (640px), modal `modal-width-max`, forms `form-max-width`, tables full-width. The
95
+ grid runs tight — a terminal-native brand earns its density, governed globally by `density-tier`
96
+ (`dense`) and stepped per archetype by the surface catalog.
97
+
98
+ ## 6 Depth
99
+
100
+ Categorically flat — the source has no drop shadows; hierarchy comes from hairlines, the surface ladder,
101
+ and one color inversion:
102
+
103
+ - **0 — canvas** `background`, no border.
104
+ - **1 — panel / card** `card` on a 1px `border`, sharp corners; the hairline alone carries the lift. Selected / hover rows warm to `accent`.
105
+ - **2 — overlay** `popover` / side panel / modal — a strong hairline and position carry rank; `shadow-intensity` earns only the faintest whisper to float a true overlay off the cream.
106
+ - **inlay — terminal / log / console** dark `#201d1d` with cream `on-dark` text, `#302c2c` elevated rows, and the mono face — the source's single dark moment (the hero TUI mockup) carried as the console inlay.
107
+
108
+ Focus is a 2px ink `ring` outline (never a glow), visible on every interactive element; three z-levels: content, sticky chrome, overlay.
109
+
110
+ ## 7 Do's & Don'ts
111
+
112
+ - **Do** anchor every surface on the warm cream canvas — pure white reads as any-other-tool; the faint blush is OpenCode.
113
+ - **Do** render every role in the one monospaced face — body, headings, labels, and numerics alike; the single-face decision is the entire identity.
114
+ - **Do** keep the primary action a near-black ink button, and keep Apple Blue scarce — interactive, active-nav, links, and chart series only.
115
+ - **Do** keep containers sharp (0px) and interactive elements at 4px; that two-value split is the radius vocabulary.
116
+ - **Don't** introduce a sans-serif or a display face — there is one face, and it is monospaced.
117
+ - **Don't** fill the primary button blue, promote a second chromatic accent, or signal elevation with drop shadows.
118
+ - **Don't** open detail or edit in a modal when the side panel fits — a modal is a confirmation.
119
+
120
+ ## 8 Responsive
121
+
122
+ The operator sweep is 375 / 768 / 1024 / 1440.
123
+
124
+ | Breakpoint | What changes |
125
+ | --- | --- |
126
+ | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
127
+ | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
128
+ | 1024 | sidebar expands; two-pane queue+detail holds side by side |
129
+ | 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
130
+
131
+ Terminal, log, and console inlays keep mono legibility at every breakpoint by scrolling horizontally, never wrapping.
132
+
133
+ ## 9 Agent Prompt Guide
134
+
135
+ Directives the emitting agent follows verbatim:
136
+
137
+ - Reach for the warm cream canvas first — never pure white; the faint blush is the brand. Cards are the same cream, seated by a hairline.
138
+ - Render every text role in the one monospaced face (JetBrains Mono) — there is no sans. Numerics align natively; no `tabular-nums` toggle is needed.
139
+ - Keep the primary action an ink button. Spend Apple Blue only on interactive and data signal: active-nav, links, selected emphasis, chart series. If two things want the blue, one is not primary.
140
+ - Keep containers sharp (0px) and interactive elements at 4px — that split is the brand's whole geometry.
141
+ - Depth is hairline, surface, and position — never shadow. Dress terminal, log, and console panels in the dark inlay (`#201d1d`, mono, cream text) — real console chrome, not a light mockup of it.
142
+ - Keyboard-first: the ink `ring` focus outline is always visible. Leave behind the dark hero TUI mockup, the 38px display, the 96px rhythm, the ASCII wordmark, and the bracket bullets — use real lucide icons.
@@ -0,0 +1,152 @@
1
+ ---
2
+ schema: design-md/v1
3
+ product: PostHog
4
+ provenance: library
5
+ sourced: 2026-07-04
6
+ ---
7
+
8
+ # PostHog — operator reading
9
+
10
+ The operator distillation of PostHog's engineering-sketchbook brand. The source is a marketing
11
+ system: a warm cream canvas dotted with hand-drawn hedgehog mascots, hero-scale display type, and a
12
+ single loud yellow-orange CTA pill. This entry keeps the temperature and voice that make it PostHog
13
+ — the cream canvas, the olive ink, the one yellow accent, IBM Plex Sans, the flat hairline depth,
14
+ the dark code island — and leaves the decoration behind: no mascots, no 36px/800 hero type, no
15
+ pastel callout bands, no pill CTAs on operator chrome. What remains is a warm, calm, flat dev-tools
16
+ console.
17
+
18
+ ## 1 Visual Theme
19
+
20
+ Light by default; dark is opt-in. The signature is the **warm cream canvas** (`background` `#eeefe9`) —
21
+ never plain white — with true-white cards (`card`) floating on it. Flat: hierarchy is carried by
22
+ hairline olive `border`, type weight, and color, never by shadow. A single loud accent — PostHog yellow
23
+ (`primary` `#f7a501`) — carries the one action that matters on a surface, and it wears **dark olive ink**
24
+ (`primary-foreground`), never white. The neutral ramp is a warm olive-gray, so the whole UI reads like a
25
+ friendly engineering blog rather than cold gray tooling. Density is `standard` and steps denser per
26
+ archetype — dense-capable, warm, not cramped.
27
+
28
+ ## 2 Color Roles
29
+
30
+ Light values first. One loud accent — `primary` yellow is the only saturated hue that carries a call
31
+ to action; blue is a quiet functional signal; status hues speak only status.
32
+
33
+ | Role | Value | Allowed where |
34
+ | --- | --- | --- |
35
+ | `background` | warm cream `#eeefe9` | the page canvas — end to end, never substituted with white |
36
+ | `card` / `popover` | white `#ffffff` | cards, panels, and overlays floating on the cream |
37
+ | `foreground` | deep olive-charcoal `#23251d` | headlines and primary ink |
38
+ | `muted` / `secondary` | soft greige `#e5e7e0` | hover rows, subtle fills, secondary buttons |
39
+ | `muted-foreground` | olive `#6c6e63` | labels, captions, metadata, secondary text |
40
+ | `border` / `input` | olive hairline `#bfc1b7` | every separator, grid line, and field edge |
41
+ | `primary` | PostHog yellow `#f7a501` | the one primary action; wears dark ink, never white |
42
+ | `accent` | pale yellow wash `#f7eccf` | selected / hovered rows and nav, on-accent surfaces only |
43
+ | `ring` | focus blue `#2c84e0` | the focus outline — the brand focuses in blue, not yellow |
44
+ | `destructive` | red `#cd4239` | destructive actions and error state only |
45
+ | `success` | green `#2c8c66` | positive status only |
46
+ | `warning` | gold-amber `#b17816` | caution status only — deliberately deeper than the CTA yellow |
47
+
48
+ Link/info blue `#2c84e0` and the pastel callout family (`accent-blue-soft`, `-green-soft`, `-red-soft`,
49
+ `-purple-soft`) are marketing/doc vocabulary: they carry no operator chrome role (see §7).
50
+
51
+ ## 3 Typography
52
+
53
+ One sans, one mono. `font-sans` is IBM Plex Sans Variable — UI, body, and headings all ride it, and the
54
+ brand's signature is that hierarchy is built from **weight**, not a second family. `font-mono` is
55
+ Source Code Pro for IDs, codes, timestamps, and log lines. Numeric columns render `tabular-nums` so
56
+ figures align down a column.
57
+
58
+ | Step | Role | Size · line | Weight · tracking |
59
+ | --- | --- | --- | --- |
60
+ | h1 | page title | 24px / 1.3 | `font-weight-strong` · `heading-tracking` |
61
+ | h2 | section head | 20px / 1.4 | `font-weight-strong` · `heading-tracking` |
62
+ | h3 | card / group head | 16px / 1.45 | `font-weight-strong` |
63
+ | body | UI + prose | 14px / 1.45 | `font-weight-normal` |
64
+ | small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
65
+ | caption | uppercase eyebrow | 12px / 1.33 | `font-weight-strong`, `+0.02em`, uppercase |
66
+
67
+ Bump weight one step for emphasis; never change size to emphasize. The marketing hero (36px / 800) and
68
+ the 800-weight display tier stay behind — operator headings top out at `font-weight-strong`.
69
+
70
+ ## 4 Component Stylings
71
+
72
+ Every recurring operator component composes from the primitives — no literal values.
73
+
74
+ - **Button** — `primary`: filled `primary` yellow on dark `primary-foreground` ink, `radius`, no pill.
75
+ Secondary: `secondary` greige fill, `border`, `foreground`. Ghost: transparent, `accent` on hover.
76
+ - **Input** — `card` fill, 1px `border` (`border-weight`), `radius`; focus draws the `ring` (blue) at
77
+ full 2px, no glow.
78
+ - **Card** — `card` white surface, 1px `border` hairline, `radius`, **flat — no shadow**; inset by
79
+ `density-inset`. Flat cards on cream is the brand.
80
+ - **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; row selection tints
81
+ `accent`; `tabular-nums` on numeric columns; `font-mono` on IDs and timestamps.
82
+ - **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich`
83
+ for content-heavy), beside the work, not over it.
84
+ - **Badge** — hairline `border`, `muted` / status fill, uppercase caption; status badges take `success`
85
+ / `warning` / `destructive`, never `primary`.
86
+ - **Code / log surface** — the brand's signature inverted moment: dark olive-charcoal (`foreground`
87
+ `#23251d`) fill with white text in `font-mono`. The one place a surface goes dark on the light UI.
88
+
89
+ ## 5 Layout
90
+
91
+ Base spacing unit 4px (Tailwind `--spacing` 0.25rem); the brand's rhythm centers on the 8px step. The
92
+ on-scale ramp is `2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64`. Shell dimensions map one-to-one to the
93
+ layout primitives: sidebar `sidebar-width-expanded` / `sidebar-width-collapsed`, topbar `topbar-height`,
94
+ side panel `side-panel-width` / `side-panel-width-rich`, modal cap `modal-width-max`, forms
95
+ `form-max-width`, tables full-width. Density is governed globally by `density-tier` (rewriting the
96
+ spacing scale through `density-gap`) and stepped per archetype by the surface catalog — never by
97
+ absolute overrides. The 80px marketing section rhythm stays behind.
98
+
99
+ ## 6 Depth
100
+
101
+ Flat — this is where the brand and operator restraint agree completely. Hierarchy comes from the surface
102
+ ladder and hairlines, never shadow:
103
+
104
+ - **0 — canvas** `background` cream, no border.
105
+ - **1 — panel / card** `card` white on a 1px `border` hairline; flat, no shadow.
106
+ - **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns a soft `md`
107
+ shadow to lift off the cream. The dark code / log surface is the brand's other "elevated" moment, and
108
+ it lifts with **color, not shadow**.
109
+
110
+ Focus is a 2px `ring` outline in blue (never a glow), visible on every interactive element. Three
111
+ z-levels: content, sticky chrome, overlay.
112
+
113
+ ## 7 Do's & Don'ts
114
+
115
+ - **Do** keep the cream `background` (`#eeefe9`) as the app canvas — never flatten it to plain white.
116
+ - **Do** reserve `primary` yellow for the single most important action, and carry dark ink on it — the
117
+ yellow pill never takes white text.
118
+ - **Do** carry hierarchy with hairlines, weight, and whitespace — the brand is flat, no drop shadows.
119
+ - **Do** render code and log surfaces on the dark olive-charcoal `foreground` fill with `font-mono`.
120
+ - **Don't** pill operator buttons — the pill is the marketing nav CTA only; operator buttons are `radius`.
121
+ - **Don't** promote a second loud chromatic accent. Blue stays a quiet link / focus signal; the pastel
122
+ callout family and the hedgehog mascots are marketing decoration and do not enter operator chrome.
123
+ - **Don't** bring the 36px / 800 hero display tier into operator surfaces — headings stop at
124
+ `font-weight-strong`.
125
+ - **Don't** signal elevation with heavy shadows; reach past a hairline only for a real overlay.
126
+
127
+ ## 8 Responsive
128
+
129
+ The operator sweep is 375 / 768 / 1024 / 1440.
130
+
131
+ | Breakpoint | What changes |
132
+ | --- | --- |
133
+ | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
134
+ | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
135
+ | 1024 | sidebar expands; two-pane queue+detail holds side by side |
136
+ | 1440 | content caps at `form-max-width` for forms; tables and dashboards use the full width |
137
+
138
+ ## 9 Agent Prompt Guide
139
+
140
+ Directives the emitting agent follows verbatim:
141
+
142
+ - The cream `background` (`#eeefe9`) is the app canvas — white cards float on it; never flatten to plain
143
+ white. This warmth is the brand's whole identity once the mascots are gone.
144
+ - Reserve the yellow `primary` for the one primary action per surface, always with dark ink; if two
145
+ things want the accent, one is not primary.
146
+ - IBM Plex Sans across every role; build hierarchy from weight (`400` / `600`), not size jumps; every
147
+ numeric column is `tabular-nums`; every ID, code, and timestamp is `font-mono`.
148
+ - Stay flat — hairline olive `border` and weight before shadow. The dark `#23251d` code / log surface is
149
+ the only "elevated" surface, and it lifts with color, not shadow.
150
+ - Blue is links and focus only; green / red / amber are status only; one loud color (yellow).
151
+ - Leave behind: hedgehog mascots, 36px / 800 hero type, pill CTAs on chrome, pastel callout bands, the
152
+ 80px marketing section rhythm.
@@ -0,0 +1,137 @@
1
+ ---
2
+ schema: design-md/v1
3
+ product: Raycast
4
+ provenance: library
5
+ sourced: 2026-07-04
6
+ ---
7
+
8
+ # Raycast — operator reading of a categorically-dark developer system
9
+
10
+ Raycast is the rare brand where the doctrine's light default yields: it is *categorically dark* —
11
+ one continuous near-black canvas with no light variant in the source. This entry carries that
12
+ identity onto operator surfaces: the chrome of Raycast's own command palette (near-black surfaces,
13
+ hairline borders, a single white action, ss03-Inter), with the marketing theatre left behind.
14
+
15
+ ## 1 Visual Theme
16
+
17
+ Dark by default; there is no light variant. Flat and shadowless — hierarchy is a four-step surface
18
+ ladder (`background` → `card` → `muted` → overlay), never a drop shadow. Chrome is monochrome: white is
19
+ the single action color, and every primary button is a white rounded-rect on near-black. Color is
20
+ reserved — four saturated hues (blue, green, yellow, red) speak status and category only, never chrome.
21
+ The anchor surface is the near-black canvas carrying hairline-bordered cards; the single accent is
22
+ white. Density is `dense` — Raycast's command-palette chrome runs tight, and operator surfaces inherit it.
23
+
24
+ ## 2 Color Roles
25
+
26
+ One monochrome action — white — carries every primary; the saturated hues speak only status.
27
+
28
+ | Role | Value | Allowed where |
29
+ | --- | --- | --- |
30
+ | `background` | near-black `#07080a` (canvas) | the dominant page surface, edge to edge |
31
+ | `foreground` | off-white `#f4f4f6` (ink) | primary ink on the canvas |
32
+ | `card` / `popover` | `#0d0d0d` (surface) | cards and overlays — one notch above canvas |
33
+ | `muted` / `secondary` | `#101111` (elevated) | inputs, tertiary buttons, active chips |
34
+ | `muted-foreground` | `#9c9c9d` (mute) | labels, captions, metadata |
35
+ | `border` / `input` | hairline `#242728` | every card edge, grid line, and field border |
36
+ | `primary` | white `#ffffff` | the one primary action — a white pill on black |
37
+ | `primary-foreground` | black `#000000` | text on the white action |
38
+ | `accent` | `#121212` (surface-card) | selected/active rows and nav — a surface lift, not a hue |
39
+ | `ring` | white `#ffffff` | focus outline — the action color, unmistakable |
40
+ | `destructive` | `#ff6161` | destructive actions and error status |
41
+ | `success` / `warning` | `#59d499` / `#ffc533` | status signalling only, never chrome |
42
+
43
+ The four saturated category hues (blue `#57c1ff`, green `#59d499`, yellow `#ffc533`, red `#ff6161`)
44
+ are status/illustration only — never a chrome button, never body text. White carries every action.
45
+
46
+ ## 3 Typography
47
+
48
+ One sans, one mono. `font-sans` is Inter with `font-feature-settings: "calt","kern","liga","ss03"`
49
+ enabled globally — the ss03 alternate `g` is the brand's signature and must stay on; without it the
50
+ type reads as plain Inter and loses the voice. `font-mono` is JetBrains Mono for IDs, codes,
51
+ timestamps, log lines (Raycast's marketing rarely shows mono; operator work needs it). Letter spacing
52
+ is *positive* — Raycast opens type rather than tightening it, so headings track `+0.01em`, the rare
53
+ operator system that does. Numeric columns render `tabular-nums`.
54
+
55
+ | Step | Role | Size · line | Weight · tracking |
56
+ | --- | --- | --- | --- |
57
+ | h1 | page title | 24px / 1.3 | `font-weight-strong` · `heading-tracking` |
58
+ | h2 | section head | 20px / 1.4 | `font-weight-strong` · `heading-tracking` |
59
+ | h3 | card / group head | 16px / 1.4 | `font-weight-strong` |
60
+ | body | UI + prose | 14px / 1.5 | `font-weight-normal` |
61
+ | small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
62
+ | caption | uppercase eyebrow | 12px / 1.5 | `font-weight-strong`, `+0.03em`, uppercase |
63
+
64
+ Hero display (56–64px) stays behind. Emphasise by weight one step, never by size.
65
+
66
+ ## 4 Component Stylings
67
+
68
+ - **Button** — `primary`: filled white `primary` on `primary-foreground`, `radius`, a rounded rect,
69
+ never a 9999 pill. Secondary: transparent, `foreground`. Tertiary: `secondary` (elevated) fill.
70
+ - **Input** — `secondary` (elevated) fill, 1px `border` (`border-weight`), `radius`; focus *brightens
71
+ the border* to the `ring`, never a glow.
72
+ - **Card** — `card` surface, 1px `border`, `radius`; no shadow (the surface ladder carries lift),
73
+ inset by `density-inset`.
74
+ - **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; row selection
75
+ tints `accent` (the surface-card lift); `tabular-nums` on numeric columns.
76
+ - **Side panel** — detail and edit open beside the work (`side-panel-width`, `side-panel-width-rich`),
77
+ not over it.
78
+ - **Badge** — hairline `border`, `muted`/status fill; status badges take `success` / `warning` /
79
+ `destructive`, never `primary`; info renders as `accent`-blue on a translucent tint.
80
+ - **Keycap** — a signature primitive: keyboard-shortcut hints render as small keycap glyphs (surface
81
+ fill, faint gradient, tight `radius`). Carry them onto operator shortcut affordances.
82
+
83
+ ## 5 Layout
84
+
85
+ Base unit 8px with 2/4/12px tight steps; the on-scale ramp is `2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 ·
86
+ 64` (the 96px marketing section rhythm stays behind). Shell dimensions map one-to-one to the layout
87
+ primitives: sidebar `sidebar-width-expanded` / `sidebar-width-collapsed`, topbar `topbar-height` (56px,
88
+ the brand's own nav height), side panel `side-panel-width` / `side-panel-width-rich`, modal cap
89
+ `modal-width-max`, forms `form-max-width`, tables full-width. Density is `dense` globally
90
+ (`density-tier`), stepped per archetype by the surface catalog — never by absolute overrides.
91
+
92
+ ## 6 Depth
93
+
94
+ Flat and shadowless — the defining trait. Hierarchy comes from the surface ladder, not shadow:
95
+
96
+ - **0 — canvas** `background` `#07080a`, no border.
97
+ - **1 — surface / card** `card` `#0d0d0d` on a 1px `border`, one notch above canvas.
98
+ - **2 — elevated** `muted` `#101111` for inputs, active chips, and nav selection.
99
+ - **3 — overlay** `popover` / side panel / modal — separated by the surface lift plus a hairline;
100
+ `shadow-intensity` is 0, because the brand has no drop shadows at all.
101
+
102
+ Focus is a `ring` outline in white (the action color), always visible; three z-levels: content, chrome, overlay.
103
+
104
+ ## 7 Do's & Don'ts
105
+
106
+ - **Do** keep the canvas near-black and build every elevation from the surface ladder.
107
+ - **Do** keep chrome monochrome — white is the one action color; reserve it for the single primary.
108
+ - **Do** enable Inter's `ss03` (with `calt`/`kern`/`liga`) globally; without it the type loses its voice.
109
+ - **Do** carry shortcut hints as keycap glyphs; `tabular-nums` on numerics, `font-mono` on IDs/codes/timestamps.
110
+ - **Don't** add a drop shadow — depth is the surface ladder, never shadow.
111
+ - **Don't** promote a second chromatic action — the four saturated hues are status/category only, never chrome.
112
+ - **Don't** fully-round the CTA — the primary is a rounded rect at `radius`, not a 9999 pill.
113
+ - **Don't** reach for the red diagonal-stripe hero gradient or hero-scale display type — they stay behind.
114
+ - **Don't** pad cards 32px+; run tight at 16–24px.
115
+
116
+ ## 8 Responsive
117
+
118
+ The operator sweep is 375 / 768 / 1024 / 1440.
119
+
120
+ | Breakpoint | What changes |
121
+ | --- | --- |
122
+ | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; the near-black canvas holds |
123
+ | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
124
+ | 1024 | sidebar expands; two-pane list+detail holds side by side |
125
+ | 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
126
+
127
+ ## 9 Agent Prompt Guide
128
+
129
+ - Treat the default theme as dark — the color map already resolves to near-black; synthesize no light variant.
130
+ - Build depth from the surface ladder (`background` → `card` → `muted` → overlay); never a drop shadow.
131
+ - Keep chrome monochrome: white is the action. If two elements want white, one of them is not primary.
132
+ - Enable Inter's `ss03` (with `calt`/`kern`/`liga`) globally; render shortcut hints as keycap glyphs.
133
+ - The four saturated hues are status/category only — `success`/`warning`/`destructive`/info — never chrome.
134
+ - **Carries over:** near-black canvas + surface ladder, hairline borders, the monochrome white action,
135
+ tight 6–10px radius, ss03-Inter, positive heading tracking, keycap shortcut glyphs.
136
+ - **Stays behind:** the red diagonal-stripe hero gradient, hero-scale display (56–64px), full-bleed
137
+ product-screenshot heroes, the 96px marketing section rhythm.
@@ -0,0 +1,140 @@
1
+ ---
2
+ schema: design-md/v1
3
+ product: Replicate
4
+ provenance: library
5
+ sourced: 2026-07-04
6
+ ---
7
+
8
+ # Replicate — the warm-cream operator reading
9
+
10
+ Replicate's public surfaces read as an ML lab notebook crossed with a print zine: a warm cream
11
+ canvas, ink-dark type, dark monospace code wells, and one hot-orange accent used like a stamp. This
12
+ entry is the *operator* reading of that brand — the same warmth and single accent, carried onto a
13
+ CRM, a queue, or a dashboard. The hero-scale display grotesque, full-bleed orange bands, the
14
+ gradient mesh, and contributor mosaics stay behind as marketing furniture. What carries: the
15
+ cream-not-white temperature, the ink foreground, the scarce orange, the soft-rounded corners, and
16
+ the strict font lanes.
17
+
18
+ ## 1 Visual Theme
19
+
20
+ Light by default; dark is opt-in. Flat: hierarchy is color-blocking and hairlines, not shadow — surfaces
21
+ step warm (bone sidebar → cream canvas → white cards) and elevation is a surface swap, never a heavy drop.
22
+ A single accent, Replicate `primary` (hot orange `#ea2804`), is reserved for the one action that matters on
23
+ a surface — treated as a stamp, one orange element per view. The field is warm: the canvas is cream `#f9f7f3`,
24
+ never pure white, and ink is `#202020`, a warm near-black. Corners are soft (`radius` 10px) — the brand has
25
+ no sharp edges — but the marketing full-pill treatment stays behind except on badges. Density is `standard`:
26
+ editorial warmth wants a little air, operator restraint keeps it from sprawling.
27
+
28
+ ## 2 Color Roles
29
+
30
+ Light values first. One accent — `primary` is the only chromatic hue that carries meaning; status
31
+ and focus hues speak only their function.
32
+
33
+ | Role | Value | Allowed where |
34
+ | --- | --- | --- |
35
+ | `background` | cream `#f9f7f3` | the page canvas — the dominant warm surface, never pure white |
36
+ | `card` / `popover` | white `#ffffff` | data cards, tables, inputs, overlays — the only place white appears |
37
+ | `foreground` | warm ink `#202020` | all primary text |
38
+ | `muted` / `secondary` | bone `#f3f0e8` | hover rows, subtle fills, secondary buttons, inset groups |
39
+ | `muted-foreground` | charcoal `#575757` | labels, captions, metadata, secondary text |
40
+ | `border` / `input` | hairline `#dfddda` | every separator, grid line, and field edge |
41
+ | `primary` | orange `#ea2804` | the one primary action; active nav; inline links |
42
+ | `accent` | pale peach `#fbe9e3` | selected/hovered rows and nav, on-accent surfaces only |
43
+ | `ring` | focus blue `#3b82f6` | the keyboard focus outline — deliberately cool, so focus never reads as the orange CTA |
44
+ | `destructive` | red `#b3261e` | destructive actions and error state only |
45
+ | `success` / `warning` | green `#2b9a66` / gold `#b7791f` | status signalling only, never chrome |
46
+
47
+ The hero glow, hero pink, and orange bands are marketing graces: they carry no role here (see §7).
48
+
49
+ ## 3 Typography
50
+
51
+ Two lanes, strictly kept. `font-sans` is basier-square (Geist or Inter substitute) — UI, body, and headings
52
+ all ride it; heading weight and tight tracking, not a second family, carry emphasis. `font-mono` is JetBrains
53
+ Mono for IDs, model slugs, codes, timestamps, and log lines. The hero display grotesque `rb-freigeist-neue`
54
+ is hero-scale (72px+) and stays behind. Numeric columns render `tabular-nums` so figures align down a column.
55
+
56
+ | Step | Role | Size · line | Weight · tracking |
57
+ | --- | --- | --- | --- |
58
+ | h1 | page title | 24px / 1.3 | `font-weight-strong` · `heading-tracking` |
59
+ | h2 | section head | 20px / 1.4 | `font-weight-strong` · `heading-tracking` |
60
+ | h3 | card / group head | 16px / 1.4 | `font-weight-strong` · `heading-tracking` |
61
+ | body | UI + prose | 14px / 1.5 | `font-weight-normal` |
62
+ | small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
63
+ | caption | eyebrow / footnote | 12px / 1.33 | `font-weight-strong`, uppercase |
64
+
65
+ Body weight stays 400 — emphasis is weight-to-strong or a switch to `font-mono`, never a bump to 500.
66
+
67
+ ## 4 Component Stylings
68
+
69
+ Every recurring operator component composes from the primitives — no literal values.
70
+
71
+ - **Button** — `primary`: filled `primary` on `primary-foreground`, `radius`, soft-cornered, not pill.
72
+ Secondary: `secondary` fill, `border`, `foreground`. Ghost: transparent, `accent` on hover. Pressed
73
+ darkens `primary` one step.
74
+ - **Input** — `card` fill, 1px `border` (`border-weight`), `radius`; focus draws the `ring` at 2px, no glow.
75
+ - **Card** — white `card` on the cream canvas, 1px `border`, `radius`; shadow only when a true overlay lifts
76
+ (`shadow-intensity`); inset by `density-inset`.
77
+ - **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; `tabular-nums` on
78
+ numeric columns; row selection tints `accent`.
79
+ - **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich` for
80
+ content-heavy), beside the work, not over it.
81
+ - **Badge** — pill (`radius-scale` 9999) is allowed here as a brand grace; hairline `border` or status fill,
82
+ uppercase caption; status badges take `success` / `warning` / `destructive`, never `primary`. Code and log
83
+ panels invert to an ink-dark fill with `font-mono` — the one place dark blocking appears in operator chrome.
84
+
85
+ ## 5 Layout
86
+
87
+ Base spacing unit 4px; the on-scale ramp is `2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96`. Shell dimensions
88
+ map one-to-one to the layout primitives: sidebar `sidebar-width-expanded` / `sidebar-width-collapsed`, topbar
89
+ `topbar-height` (the brand's 60px nav rhythm), side panel `side-panel-width` / `side-panel-width-rich`, modal
90
+ cap `modal-width-max`, forms `form-max-width`, tables full-width. Rows ride `table-row-height` (44px — the
91
+ brand's touch-comfortable button height, an airier operator rhythm). Density is governed globally by
92
+ `density-tier` and stepped per archetype by the surface catalog.
93
+
94
+ ## 6 Depth
95
+
96
+ Flat, color-blocked. Hierarchy comes from the warm surface ladder and hairlines, not shadow:
97
+
98
+ - **0 — canvas** `background` cream, no border.
99
+ - **1 — panel / card** `card` white on a 1px `border`; a surface swap to `muted` bone marks an inset group.
100
+ - **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns a soft `md` shadow.
101
+
102
+ No level stacks a heavier shadow to signal rank; rank is surface color, border, and position. Focus is a 2px
103
+ `ring` outline (never a glow), deliberately cool blue so it never collides with the orange CTA. Three
104
+ z-levels: content, sticky chrome, overlay.
105
+
106
+ ## 7 Do's & Don'ts
107
+
108
+ - **Do** keep the cream `background` as the page canvas; white is for cards, inputs, and overlays only.
109
+ - **Do** reserve `primary` orange for the single most important action, active nav, and inline links —
110
+ three roles, treated as a stamp: at most one orange element per view.
111
+ - **Do** apply `tabular-nums` to every numeric column and `font-mono` to IDs, codes, slugs, and timestamps.
112
+ - **Don't** replace cream with pure white at the page level — the brand temperature lives in the canvas.
113
+ - **Don't** promote a second chromatic accent. The hot orange is the only accent; success green, warning
114
+ gold, and focus blue are functional, not decorative.
115
+ - **Don't** pill the primary CTA — the full-pill treatment is a marketing signature; operator CTAs keep the
116
+ soft `radius`, and pills stay on badges. Don't reach for the hero display grotesque or heavy drop shadows.
117
+
118
+ ## 8 Responsive
119
+
120
+ The operator sweep is 375 / 768 / 1024 / 1440.
121
+
122
+ | Breakpoint | What changes |
123
+ | --- | --- |
124
+ | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
125
+ | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
126
+ | 1024 | sidebar expands; two-pane queue+detail holds side by side |
127
+ | 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
128
+
129
+ ## 9 Agent Prompt Guide
130
+
131
+ Directives the emitting agent follows verbatim:
132
+
133
+ - Lead every list surface with its table; lead every entity with its primary read, not its chrome.
134
+ - Set the page on the cream `background`; float white `card` surfaces on it — never pure white at page level.
135
+ Accent only the primary action with orange `primary`; if two things want the orange, one is not primary.
136
+ - Every numeric column is `tabular-nums`; every ID, slug, code, and timestamp is `font-mono`.
137
+ - Every workflow completes from the keyboard; the cool-blue `ring` focus outline is always visible. Stay
138
+ flat — warm surface swaps and hairlines before shadow; reach past a hairline only for a real overlay.
139
+ - Leave the marketing furniture behind: no hero grotesque, no full-bleed orange bands, no gradient mesh, no
140
+ contributor mosaics, no pill CTAs. Palette, temperature, soft corners, and font lanes carry; the rest does not.