@aexol/spectral 0.7.0 → 0.7.1

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 (459) hide show
  1. package/dist/agent/index.js +76 -301
  2. package/dist/cli.js +11 -0
  3. package/dist/designer/data/systems/agentic/DESIGN.md +71 -0
  4. package/dist/designer/data/systems/agentic/components.html +154 -0
  5. package/dist/designer/data/systems/agentic/tokens.css +63 -0
  6. package/dist/designer/data/systems/airbnb/DESIGN.md +393 -0
  7. package/dist/designer/data/systems/airbnb/components.html +1373 -0
  8. package/dist/designer/data/systems/airbnb/tokens.css +261 -0
  9. package/dist/designer/data/systems/airtable/DESIGN.md +92 -0
  10. package/dist/designer/data/systems/airtable/components.html +489 -0
  11. package/dist/designer/data/systems/airtable/tokens.css +261 -0
  12. package/dist/designer/data/systems/ant/DESIGN.md +71 -0
  13. package/dist/designer/data/systems/ant/components.html +154 -0
  14. package/dist/designer/data/systems/ant/tokens.css +63 -0
  15. package/dist/designer/data/systems/apple/DESIGN.md +250 -0
  16. package/dist/designer/data/systems/apple/components.html +749 -0
  17. package/dist/designer/data/systems/apple/tokens.css +286 -0
  18. package/dist/designer/data/systems/application/DESIGN.md +71 -0
  19. package/dist/designer/data/systems/application/components.html +154 -0
  20. package/dist/designer/data/systems/application/tokens.css +63 -0
  21. package/dist/designer/data/systems/arc/DESIGN.md +152 -0
  22. package/dist/designer/data/systems/arc/components.html +432 -0
  23. package/dist/designer/data/systems/arc/tokens.css +137 -0
  24. package/dist/designer/data/systems/artistic/DESIGN.md +71 -0
  25. package/dist/designer/data/systems/artistic/components.html +136 -0
  26. package/dist/designer/data/systems/artistic/tokens.css +63 -0
  27. package/dist/designer/data/systems/atelier-zero/DESIGN.md +316 -0
  28. package/dist/designer/data/systems/atelier-zero/components.html +136 -0
  29. package/dist/designer/data/systems/atelier-zero/tokens.css +63 -0
  30. package/dist/designer/data/systems/bento/DESIGN.md +71 -0
  31. package/dist/designer/data/systems/bento/components.html +136 -0
  32. package/dist/designer/data/systems/bento/tokens.css +63 -0
  33. package/dist/designer/data/systems/binance/DESIGN.md +348 -0
  34. package/dist/designer/data/systems/binance/components.html +550 -0
  35. package/dist/designer/data/systems/binance/tokens.css +255 -0
  36. package/dist/designer/data/systems/bmw/DESIGN.md +183 -0
  37. package/dist/designer/data/systems/bmw/components.html +551 -0
  38. package/dist/designer/data/systems/bmw/tokens.css +179 -0
  39. package/dist/designer/data/systems/bmw-m/DESIGN.md +246 -0
  40. package/dist/designer/data/systems/bmw-m/components.html +342 -0
  41. package/dist/designer/data/systems/bmw-m/tokens.css +64 -0
  42. package/dist/designer/data/systems/bold/DESIGN.md +71 -0
  43. package/dist/designer/data/systems/bold/components.html +136 -0
  44. package/dist/designer/data/systems/bold/tokens.css +63 -0
  45. package/dist/designer/data/systems/brutalism/DESIGN.md +71 -0
  46. package/dist/designer/data/systems/brutalism/components.html +154 -0
  47. package/dist/designer/data/systems/brutalism/tokens.css +63 -0
  48. package/dist/designer/data/systems/bugatti/DESIGN.md +271 -0
  49. package/dist/designer/data/systems/bugatti/components.html +342 -0
  50. package/dist/designer/data/systems/bugatti/tokens.css +64 -0
  51. package/dist/designer/data/systems/cafe/DESIGN.md +71 -0
  52. package/dist/designer/data/systems/cafe/components.html +136 -0
  53. package/dist/designer/data/systems/cafe/tokens.css +63 -0
  54. package/dist/designer/data/systems/cal/DESIGN.md +262 -0
  55. package/dist/designer/data/systems/cal/components.html +376 -0
  56. package/dist/designer/data/systems/cal/tokens.css +265 -0
  57. package/dist/designer/data/systems/canva/DESIGN.md +157 -0
  58. package/dist/designer/data/systems/canva/components.html +461 -0
  59. package/dist/designer/data/systems/canva/tokens.css +147 -0
  60. package/dist/designer/data/systems/cisco/DESIGN.md +201 -0
  61. package/dist/designer/data/systems/cisco/components.html +342 -0
  62. package/dist/designer/data/systems/cisco/tokens.css +64 -0
  63. package/dist/designer/data/systems/claude/DESIGN.md +315 -0
  64. package/dist/designer/data/systems/claude/components.html +483 -0
  65. package/dist/designer/data/systems/claude/tokens.css +130 -0
  66. package/dist/designer/data/systems/clay/DESIGN.md +307 -0
  67. package/dist/designer/data/systems/clay/components.html +136 -0
  68. package/dist/designer/data/systems/clay/tokens.css +63 -0
  69. package/dist/designer/data/systems/claymorphism/DESIGN.md +71 -0
  70. package/dist/designer/data/systems/claymorphism/components.html +136 -0
  71. package/dist/designer/data/systems/claymorphism/tokens.css +63 -0
  72. package/dist/designer/data/systems/clean/DESIGN.md +71 -0
  73. package/dist/designer/data/systems/clean/components.html +136 -0
  74. package/dist/designer/data/systems/clean/tokens.css +63 -0
  75. package/dist/designer/data/systems/clickhouse/DESIGN.md +284 -0
  76. package/dist/designer/data/systems/clickhouse/components.html +506 -0
  77. package/dist/designer/data/systems/clickhouse/tokens.css +135 -0
  78. package/dist/designer/data/systems/cohere/DESIGN.md +269 -0
  79. package/dist/designer/data/systems/cohere/components.html +353 -0
  80. package/dist/designer/data/systems/cohere/tokens.css +126 -0
  81. package/dist/designer/data/systems/coinbase/DESIGN.md +132 -0
  82. package/dist/designer/data/systems/coinbase/components.html +501 -0
  83. package/dist/designer/data/systems/coinbase/tokens.css +257 -0
  84. package/dist/designer/data/systems/colorful/DESIGN.md +71 -0
  85. package/dist/designer/data/systems/colorful/components.html +136 -0
  86. package/dist/designer/data/systems/colorful/tokens.css +63 -0
  87. package/dist/designer/data/systems/composio/DESIGN.md +310 -0
  88. package/dist/designer/data/systems/composio/components.html +342 -0
  89. package/dist/designer/data/systems/composio/tokens.css +64 -0
  90. package/dist/designer/data/systems/contemporary/DESIGN.md +71 -0
  91. package/dist/designer/data/systems/contemporary/components.html +136 -0
  92. package/dist/designer/data/systems/contemporary/tokens.css +63 -0
  93. package/dist/designer/data/systems/corporate/DESIGN.md +71 -0
  94. package/dist/designer/data/systems/corporate/components.html +136 -0
  95. package/dist/designer/data/systems/corporate/tokens.css +63 -0
  96. package/dist/designer/data/systems/cosmic/DESIGN.md +71 -0
  97. package/dist/designer/data/systems/cosmic/components.html +136 -0
  98. package/dist/designer/data/systems/cosmic/tokens.css +63 -0
  99. package/dist/designer/data/systems/creative/DESIGN.md +71 -0
  100. package/dist/designer/data/systems/creative/components.html +136 -0
  101. package/dist/designer/data/systems/creative/tokens.css +63 -0
  102. package/dist/designer/data/systems/cursor/DESIGN.md +312 -0
  103. package/dist/designer/data/systems/cursor/components.html +654 -0
  104. package/dist/designer/data/systems/cursor/tokens.css +218 -0
  105. package/dist/designer/data/systems/dashboard/DESIGN.md +71 -0
  106. package/dist/designer/data/systems/dashboard/components.html +154 -0
  107. package/dist/designer/data/systems/dashboard/tokens.css +63 -0
  108. package/dist/designer/data/systems/default/DESIGN.md +62 -0
  109. package/dist/designer/data/systems/default/components.html +523 -0
  110. package/dist/designer/data/systems/default/tokens.css +200 -0
  111. package/dist/designer/data/systems/discord/DESIGN.md +162 -0
  112. package/dist/designer/data/systems/discord/components.html +359 -0
  113. package/dist/designer/data/systems/discord/tokens.css +125 -0
  114. package/dist/designer/data/systems/dithered/DESIGN.md +71 -0
  115. package/dist/designer/data/systems/dithered/components.html +136 -0
  116. package/dist/designer/data/systems/dithered/tokens.css +63 -0
  117. package/dist/designer/data/systems/doodle/DESIGN.md +71 -0
  118. package/dist/designer/data/systems/doodle/components.html +136 -0
  119. package/dist/designer/data/systems/doodle/tokens.css +63 -0
  120. package/dist/designer/data/systems/dramatic/DESIGN.md +71 -0
  121. package/dist/designer/data/systems/dramatic/components.html +136 -0
  122. package/dist/designer/data/systems/dramatic/tokens.css +63 -0
  123. package/dist/designer/data/systems/duolingo/DESIGN.md +154 -0
  124. package/dist/designer/data/systems/duolingo/components.html +532 -0
  125. package/dist/designer/data/systems/duolingo/tokens.css +130 -0
  126. package/dist/designer/data/systems/editorial/DESIGN.md +71 -0
  127. package/dist/designer/data/systems/editorial/components.html +154 -0
  128. package/dist/designer/data/systems/editorial/tokens.css +63 -0
  129. package/dist/designer/data/systems/elegant/DESIGN.md +71 -0
  130. package/dist/designer/data/systems/elegant/components.html +136 -0
  131. package/dist/designer/data/systems/elegant/tokens.css +63 -0
  132. package/dist/designer/data/systems/elevenlabs/DESIGN.md +268 -0
  133. package/dist/designer/data/systems/elevenlabs/components.html +342 -0
  134. package/dist/designer/data/systems/elevenlabs/tokens.css +127 -0
  135. package/dist/designer/data/systems/energetic/DESIGN.md +72 -0
  136. package/dist/designer/data/systems/energetic/components.html +136 -0
  137. package/dist/designer/data/systems/energetic/tokens.css +63 -0
  138. package/dist/designer/data/systems/enterprise/DESIGN.md +71 -0
  139. package/dist/designer/data/systems/enterprise/components.html +154 -0
  140. package/dist/designer/data/systems/enterprise/tokens.css +63 -0
  141. package/dist/designer/data/systems/expo/DESIGN.md +284 -0
  142. package/dist/designer/data/systems/expo/components.html +342 -0
  143. package/dist/designer/data/systems/expo/tokens.css +64 -0
  144. package/dist/designer/data/systems/expressive/DESIGN.md +71 -0
  145. package/dist/designer/data/systems/expressive/components.html +136 -0
  146. package/dist/designer/data/systems/expressive/tokens.css +63 -0
  147. package/dist/designer/data/systems/fantasy/DESIGN.md +71 -0
  148. package/dist/designer/data/systems/fantasy/components.html +136 -0
  149. package/dist/designer/data/systems/fantasy/tokens.css +63 -0
  150. package/dist/designer/data/systems/ferrari/DESIGN.md +317 -0
  151. package/dist/designer/data/systems/ferrari/components.html +342 -0
  152. package/dist/designer/data/systems/ferrari/tokens.css +64 -0
  153. package/dist/designer/data/systems/figma/DESIGN.md +223 -0
  154. package/dist/designer/data/systems/figma/components.html +344 -0
  155. package/dist/designer/data/systems/figma/tokens.css +126 -0
  156. package/dist/designer/data/systems/flat/DESIGN.md +71 -0
  157. package/dist/designer/data/systems/flat/components.html +136 -0
  158. package/dist/designer/data/systems/flat/tokens.css +63 -0
  159. package/dist/designer/data/systems/framer/DESIGN.md +249 -0
  160. package/dist/designer/data/systems/framer/components.html +438 -0
  161. package/dist/designer/data/systems/framer/tokens.css +238 -0
  162. package/dist/designer/data/systems/friendly/DESIGN.md +71 -0
  163. package/dist/designer/data/systems/friendly/components.html +136 -0
  164. package/dist/designer/data/systems/friendly/tokens.css +63 -0
  165. package/dist/designer/data/systems/futuristic/DESIGN.md +71 -0
  166. package/dist/designer/data/systems/futuristic/components.html +136 -0
  167. package/dist/designer/data/systems/futuristic/tokens.css +63 -0
  168. package/dist/designer/data/systems/github/DESIGN.md +155 -0
  169. package/dist/designer/data/systems/github/components.html +383 -0
  170. package/dist/designer/data/systems/github/tokens.css +125 -0
  171. package/dist/designer/data/systems/glassmorphism/DESIGN.md +71 -0
  172. package/dist/designer/data/systems/glassmorphism/components.html +154 -0
  173. package/dist/designer/data/systems/glassmorphism/tokens.css +63 -0
  174. package/dist/designer/data/systems/gradient/DESIGN.md +71 -0
  175. package/dist/designer/data/systems/gradient/components.html +154 -0
  176. package/dist/designer/data/systems/gradient/tokens.css +63 -0
  177. package/dist/designer/data/systems/hashicorp/DESIGN.md +281 -0
  178. package/dist/designer/data/systems/hashicorp/components.html +502 -0
  179. package/dist/designer/data/systems/hashicorp/tokens.css +272 -0
  180. package/dist/designer/data/systems/hud/DESIGN.md +173 -0
  181. package/dist/designer/data/systems/hud/components.html +136 -0
  182. package/dist/designer/data/systems/hud/tokens.css +63 -0
  183. package/dist/designer/data/systems/huggingface/DESIGN.md +149 -0
  184. package/dist/designer/data/systems/huggingface/components.html +346 -0
  185. package/dist/designer/data/systems/huggingface/tokens.css +125 -0
  186. package/dist/designer/data/systems/ibm/DESIGN.md +335 -0
  187. package/dist/designer/data/systems/ibm/components.html +342 -0
  188. package/dist/designer/data/systems/ibm/tokens.css +64 -0
  189. package/dist/designer/data/systems/intercom/DESIGN.md +149 -0
  190. package/dist/designer/data/systems/intercom/components.html +557 -0
  191. package/dist/designer/data/systems/intercom/tokens.css +150 -0
  192. package/dist/designer/data/systems/kami/DESIGN.md +410 -0
  193. package/dist/designer/data/systems/kami/components.html +601 -0
  194. package/dist/designer/data/systems/kami/tokens.css +272 -0
  195. package/dist/designer/data/systems/kraken/DESIGN.md +128 -0
  196. package/dist/designer/data/systems/kraken/components.html +342 -0
  197. package/dist/designer/data/systems/kraken/tokens.css +64 -0
  198. package/dist/designer/data/systems/lamborghini/DESIGN.md +291 -0
  199. package/dist/designer/data/systems/lamborghini/components.html +342 -0
  200. package/dist/designer/data/systems/lamborghini/tokens.css +64 -0
  201. package/dist/designer/data/systems/levels/DESIGN.md +71 -0
  202. package/dist/designer/data/systems/levels/components.html +154 -0
  203. package/dist/designer/data/systems/levels/tokens.css +63 -0
  204. package/dist/designer/data/systems/linear-app/DESIGN.md +370 -0
  205. package/dist/designer/data/systems/linear-app/components.html +370 -0
  206. package/dist/designer/data/systems/linear-app/tokens.css +130 -0
  207. package/dist/designer/data/systems/lingo/DESIGN.md +71 -0
  208. package/dist/designer/data/systems/lingo/components.html +154 -0
  209. package/dist/designer/data/systems/lingo/tokens.css +63 -0
  210. package/dist/designer/data/systems/loom/DESIGN.md +201 -0
  211. package/dist/designer/data/systems/loom/components.html +446 -0
  212. package/dist/designer/data/systems/loom/tokens.css +138 -0
  213. package/dist/designer/data/systems/lovable/DESIGN.md +301 -0
  214. package/dist/designer/data/systems/lovable/components.html +441 -0
  215. package/dist/designer/data/systems/lovable/tokens.css +258 -0
  216. package/dist/designer/data/systems/luxury/DESIGN.md +71 -0
  217. package/dist/designer/data/systems/luxury/components.html +154 -0
  218. package/dist/designer/data/systems/luxury/tokens.css +63 -0
  219. package/dist/designer/data/systems/mastercard/DESIGN.md +368 -0
  220. package/dist/designer/data/systems/mastercard/components.html +342 -0
  221. package/dist/designer/data/systems/mastercard/tokens.css +64 -0
  222. package/dist/designer/data/systems/material/DESIGN.md +71 -0
  223. package/dist/designer/data/systems/material/components.html +154 -0
  224. package/dist/designer/data/systems/material/tokens.css +63 -0
  225. package/dist/designer/data/systems/meta/DESIGN.md +369 -0
  226. package/dist/designer/data/systems/meta/components.html +398 -0
  227. package/dist/designer/data/systems/meta/tokens.css +263 -0
  228. package/dist/designer/data/systems/minimal/DESIGN.md +71 -0
  229. package/dist/designer/data/systems/minimal/components.html +154 -0
  230. package/dist/designer/data/systems/minimal/tokens.css +63 -0
  231. package/dist/designer/data/systems/minimax/DESIGN.md +260 -0
  232. package/dist/designer/data/systems/minimax/components.html +590 -0
  233. package/dist/designer/data/systems/minimax/tokens.css +148 -0
  234. package/dist/designer/data/systems/mintlify/DESIGN.md +329 -0
  235. package/dist/designer/data/systems/mintlify/components.html +737 -0
  236. package/dist/designer/data/systems/mintlify/tokens.css +256 -0
  237. package/dist/designer/data/systems/miro/DESIGN.md +111 -0
  238. package/dist/designer/data/systems/miro/components.html +342 -0
  239. package/dist/designer/data/systems/miro/tokens.css +64 -0
  240. package/dist/designer/data/systems/mission-control/DESIGN.md +474 -0
  241. package/dist/designer/data/systems/mission-control/components.html +136 -0
  242. package/dist/designer/data/systems/mission-control/tokens.css +63 -0
  243. package/dist/designer/data/systems/mistral-ai/DESIGN.md +264 -0
  244. package/dist/designer/data/systems/mistral-ai/components.html +338 -0
  245. package/dist/designer/data/systems/mistral-ai/tokens.css +125 -0
  246. package/dist/designer/data/systems/modern/DESIGN.md +71 -0
  247. package/dist/designer/data/systems/modern/components.html +154 -0
  248. package/dist/designer/data/systems/modern/tokens.css +63 -0
  249. package/dist/designer/data/systems/mongodb/DESIGN.md +269 -0
  250. package/dist/designer/data/systems/mongodb/components.html +462 -0
  251. package/dist/designer/data/systems/mongodb/tokens.css +176 -0
  252. package/dist/designer/data/systems/mono/DESIGN.md +71 -0
  253. package/dist/designer/data/systems/mono/components.html +136 -0
  254. package/dist/designer/data/systems/mono/tokens.css +63 -0
  255. package/dist/designer/data/systems/neobrutalism/DESIGN.md +71 -0
  256. package/dist/designer/data/systems/neobrutalism/components.html +136 -0
  257. package/dist/designer/data/systems/neobrutalism/tokens.css +63 -0
  258. package/dist/designer/data/systems/neon/DESIGN.md +71 -0
  259. package/dist/designer/data/systems/neon/components.html +136 -0
  260. package/dist/designer/data/systems/neon/tokens.css +63 -0
  261. package/dist/designer/data/systems/neumorphism/DESIGN.md +71 -0
  262. package/dist/designer/data/systems/neumorphism/components.html +136 -0
  263. package/dist/designer/data/systems/neumorphism/tokens.css +63 -0
  264. package/dist/designer/data/systems/nike/DESIGN.md +366 -0
  265. package/dist/designer/data/systems/nike/components.html +512 -0
  266. package/dist/designer/data/systems/nike/tokens.css +304 -0
  267. package/dist/designer/data/systems/notion/DESIGN.md +312 -0
  268. package/dist/designer/data/systems/notion/components.html +413 -0
  269. package/dist/designer/data/systems/notion/tokens.css +130 -0
  270. package/dist/designer/data/systems/nvidia/DESIGN.md +296 -0
  271. package/dist/designer/data/systems/nvidia/components.html +414 -0
  272. package/dist/designer/data/systems/nvidia/tokens.css +133 -0
  273. package/dist/designer/data/systems/ollama/DESIGN.md +270 -0
  274. package/dist/designer/data/systems/ollama/components.html +700 -0
  275. package/dist/designer/data/systems/ollama/tokens.css +242 -0
  276. package/dist/designer/data/systems/openai/DESIGN.md +140 -0
  277. package/dist/designer/data/systems/openai/components.html +382 -0
  278. package/dist/designer/data/systems/openai/tokens.css +133 -0
  279. package/dist/designer/data/systems/opencode-ai/DESIGN.md +284 -0
  280. package/dist/designer/data/systems/opencode-ai/components.html +389 -0
  281. package/dist/designer/data/systems/opencode-ai/tokens.css +126 -0
  282. package/dist/designer/data/systems/pacman/DESIGN.md +71 -0
  283. package/dist/designer/data/systems/pacman/components.html +342 -0
  284. package/dist/designer/data/systems/pacman/tokens.css +64 -0
  285. package/dist/designer/data/systems/paper/DESIGN.md +71 -0
  286. package/dist/designer/data/systems/paper/components.html +136 -0
  287. package/dist/designer/data/systems/paper/tokens.css +63 -0
  288. package/dist/designer/data/systems/perplexity/DESIGN.md +286 -0
  289. package/dist/designer/data/systems/perplexity/components.html +455 -0
  290. package/dist/designer/data/systems/perplexity/tokens.css +151 -0
  291. package/dist/designer/data/systems/perspective/DESIGN.md +71 -0
  292. package/dist/designer/data/systems/perspective/components.html +136 -0
  293. package/dist/designer/data/systems/perspective/tokens.css +63 -0
  294. package/dist/designer/data/systems/pinterest/DESIGN.md +233 -0
  295. package/dist/designer/data/systems/pinterest/components.html +865 -0
  296. package/dist/designer/data/systems/pinterest/tokens.css +262 -0
  297. package/dist/designer/data/systems/playstation/DESIGN.md +367 -0
  298. package/dist/designer/data/systems/playstation/components.html +414 -0
  299. package/dist/designer/data/systems/playstation/tokens.css +150 -0
  300. package/dist/designer/data/systems/posthog/DESIGN.md +259 -0
  301. package/dist/designer/data/systems/posthog/components.html +827 -0
  302. package/dist/designer/data/systems/posthog/tokens.css +272 -0
  303. package/dist/designer/data/systems/premium/DESIGN.md +71 -0
  304. package/dist/designer/data/systems/premium/components.html +154 -0
  305. package/dist/designer/data/systems/premium/tokens.css +63 -0
  306. package/dist/designer/data/systems/professional/DESIGN.md +71 -0
  307. package/dist/designer/data/systems/professional/components.html +136 -0
  308. package/dist/designer/data/systems/professional/tokens.css +63 -0
  309. package/dist/designer/data/systems/publication/DESIGN.md +71 -0
  310. package/dist/designer/data/systems/publication/components.html +154 -0
  311. package/dist/designer/data/systems/publication/tokens.css +63 -0
  312. package/dist/designer/data/systems/raycast/DESIGN.md +271 -0
  313. package/dist/designer/data/systems/raycast/components.html +507 -0
  314. package/dist/designer/data/systems/raycast/tokens.css +143 -0
  315. package/dist/designer/data/systems/refined/DESIGN.md +71 -0
  316. package/dist/designer/data/systems/refined/components.html +136 -0
  317. package/dist/designer/data/systems/refined/tokens.css +63 -0
  318. package/dist/designer/data/systems/renault/DESIGN.md +314 -0
  319. package/dist/designer/data/systems/renault/components.html +154 -0
  320. package/dist/designer/data/systems/renault/tokens.css +63 -0
  321. package/dist/designer/data/systems/replicate/DESIGN.md +264 -0
  322. package/dist/designer/data/systems/replicate/components.html +340 -0
  323. package/dist/designer/data/systems/replicate/tokens.css +125 -0
  324. package/dist/designer/data/systems/resend/DESIGN.md +306 -0
  325. package/dist/designer/data/systems/resend/components.html +839 -0
  326. package/dist/designer/data/systems/resend/tokens.css +353 -0
  327. package/dist/designer/data/systems/retro/DESIGN.md +71 -0
  328. package/dist/designer/data/systems/retro/components.html +136 -0
  329. package/dist/designer/data/systems/retro/tokens.css +63 -0
  330. package/dist/designer/data/systems/revolut/DESIGN.md +188 -0
  331. package/dist/designer/data/systems/revolut/components.html +342 -0
  332. package/dist/designer/data/systems/revolut/tokens.css +64 -0
  333. package/dist/designer/data/systems/runwayml/DESIGN.md +247 -0
  334. package/dist/designer/data/systems/runwayml/components.html +638 -0
  335. package/dist/designer/data/systems/runwayml/tokens.css +204 -0
  336. package/dist/designer/data/systems/sanity/DESIGN.md +360 -0
  337. package/dist/designer/data/systems/sanity/components.html +342 -0
  338. package/dist/designer/data/systems/sanity/tokens.css +64 -0
  339. package/dist/designer/data/systems/sentry/DESIGN.md +265 -0
  340. package/dist/designer/data/systems/sentry/components.html +387 -0
  341. package/dist/designer/data/systems/sentry/tokens.css +219 -0
  342. package/dist/designer/data/systems/shadcn/DESIGN.md +71 -0
  343. package/dist/designer/data/systems/shadcn/components.html +732 -0
  344. package/dist/designer/data/systems/shadcn/tokens.css +255 -0
  345. package/dist/designer/data/systems/shopify/DESIGN.md +353 -0
  346. package/dist/designer/data/systems/shopify/components.html +342 -0
  347. package/dist/designer/data/systems/shopify/tokens.css +141 -0
  348. package/dist/designer/data/systems/simple/DESIGN.md +71 -0
  349. package/dist/designer/data/systems/simple/components.html +136 -0
  350. package/dist/designer/data/systems/simple/tokens.css +63 -0
  351. package/dist/designer/data/systems/skeumorphism/DESIGN.md +71 -0
  352. package/dist/designer/data/systems/skeumorphism/components.html +136 -0
  353. package/dist/designer/data/systems/skeumorphism/tokens.css +63 -0
  354. package/dist/designer/data/systems/slack/DESIGN.md +363 -0
  355. package/dist/designer/data/systems/slack/components.html +387 -0
  356. package/dist/designer/data/systems/slack/tokens.css +127 -0
  357. package/dist/designer/data/systems/sleek/DESIGN.md +71 -0
  358. package/dist/designer/data/systems/sleek/components.html +136 -0
  359. package/dist/designer/data/systems/sleek/tokens.css +63 -0
  360. package/dist/designer/data/systems/spacex/DESIGN.md +197 -0
  361. package/dist/designer/data/systems/spacex/components.html +496 -0
  362. package/dist/designer/data/systems/spacex/tokens.css +154 -0
  363. package/dist/designer/data/systems/spacious/DESIGN.md +71 -0
  364. package/dist/designer/data/systems/spacious/components.html +136 -0
  365. package/dist/designer/data/systems/spacious/tokens.css +63 -0
  366. package/dist/designer/data/systems/spotify/DESIGN.md +249 -0
  367. package/dist/designer/data/systems/spotify/components.html +365 -0
  368. package/dist/designer/data/systems/spotify/tokens.css +127 -0
  369. package/dist/designer/data/systems/starbucks/DESIGN.md +583 -0
  370. package/dist/designer/data/systems/starbucks/components.html +493 -0
  371. package/dist/designer/data/systems/starbucks/tokens.css +182 -0
  372. package/dist/designer/data/systems/storytelling/DESIGN.md +71 -0
  373. package/dist/designer/data/systems/storytelling/components.html +136 -0
  374. package/dist/designer/data/systems/storytelling/tokens.css +63 -0
  375. package/dist/designer/data/systems/stripe/DESIGN.md +325 -0
  376. package/dist/designer/data/systems/stripe/components.html +1018 -0
  377. package/dist/designer/data/systems/stripe/tokens.css +295 -0
  378. package/dist/designer/data/systems/supabase/DESIGN.md +258 -0
  379. package/dist/designer/data/systems/supabase/components.html +741 -0
  380. package/dist/designer/data/systems/supabase/tokens.css +294 -0
  381. package/dist/designer/data/systems/superhuman/DESIGN.md +255 -0
  382. package/dist/designer/data/systems/superhuman/components.html +537 -0
  383. package/dist/designer/data/systems/superhuman/tokens.css +160 -0
  384. package/dist/designer/data/systems/tesla/DESIGN.md +289 -0
  385. package/dist/designer/data/systems/tesla/components.html +724 -0
  386. package/dist/designer/data/systems/tesla/tokens.css +285 -0
  387. package/dist/designer/data/systems/tetris/DESIGN.md +71 -0
  388. package/dist/designer/data/systems/tetris/components.html +342 -0
  389. package/dist/designer/data/systems/tetris/tokens.css +64 -0
  390. package/dist/designer/data/systems/theverge/DESIGN.md +342 -0
  391. package/dist/designer/data/systems/theverge/components.html +342 -0
  392. package/dist/designer/data/systems/theverge/tokens.css +64 -0
  393. package/dist/designer/data/systems/together-ai/DESIGN.md +266 -0
  394. package/dist/designer/data/systems/together-ai/components.html +422 -0
  395. package/dist/designer/data/systems/together-ai/tokens.css +127 -0
  396. package/dist/designer/data/systems/totality-festival/DESIGN.md +206 -0
  397. package/dist/designer/data/systems/totality-festival/components.html +136 -0
  398. package/dist/designer/data/systems/totality-festival/tokens.css +63 -0
  399. package/dist/designer/data/systems/trading-terminal/DESIGN.md +178 -0
  400. package/dist/designer/data/systems/trading-terminal/components.html +154 -0
  401. package/dist/designer/data/systems/trading-terminal/tokens.css +63 -0
  402. package/dist/designer/data/systems/uber/DESIGN.md +298 -0
  403. package/dist/designer/data/systems/uber/components.html +347 -0
  404. package/dist/designer/data/systems/uber/tokens.css +131 -0
  405. package/dist/designer/data/systems/urdu/DESIGN.md +1002 -0
  406. package/dist/designer/data/systems/urdu/components.html +136 -0
  407. package/dist/designer/data/systems/urdu/tokens.css +63 -0
  408. package/dist/designer/data/systems/vercel/DESIGN.md +313 -0
  409. package/dist/designer/data/systems/vercel/components.html +839 -0
  410. package/dist/designer/data/systems/vercel/tokens.css +270 -0
  411. package/dist/designer/data/systems/vibrant/DESIGN.md +71 -0
  412. package/dist/designer/data/systems/vibrant/components.html +136 -0
  413. package/dist/designer/data/systems/vibrant/tokens.css +63 -0
  414. package/dist/designer/data/systems/vintage/DESIGN.md +71 -0
  415. package/dist/designer/data/systems/vintage/components.html +136 -0
  416. package/dist/designer/data/systems/vintage/tokens.css +63 -0
  417. package/dist/designer/data/systems/vodafone/DESIGN.md +426 -0
  418. package/dist/designer/data/systems/vodafone/components.html +342 -0
  419. package/dist/designer/data/systems/vodafone/tokens.css +64 -0
  420. package/dist/designer/data/systems/voltagent/DESIGN.md +326 -0
  421. package/dist/designer/data/systems/voltagent/components.html +154 -0
  422. package/dist/designer/data/systems/voltagent/tokens.css +63 -0
  423. package/dist/designer/data/systems/warm-editorial/DESIGN.md +65 -0
  424. package/dist/designer/data/systems/warm-editorial/components.html +136 -0
  425. package/dist/designer/data/systems/warm-editorial/tokens.css +63 -0
  426. package/dist/designer/data/systems/warp/DESIGN.md +256 -0
  427. package/dist/designer/data/systems/warp/components.html +411 -0
  428. package/dist/designer/data/systems/warp/tokens.css +156 -0
  429. package/dist/designer/data/systems/webex/DESIGN.md +207 -0
  430. package/dist/designer/data/systems/webex/components.html +342 -0
  431. package/dist/designer/data/systems/webex/tokens.css +64 -0
  432. package/dist/designer/data/systems/webflow/DESIGN.md +95 -0
  433. package/dist/designer/data/systems/webflow/components.html +413 -0
  434. package/dist/designer/data/systems/webflow/tokens.css +191 -0
  435. package/dist/designer/data/systems/wechat/DESIGN.md +302 -0
  436. package/dist/designer/data/systems/wechat/components.html +507 -0
  437. package/dist/designer/data/systems/wechat/tokens.css +176 -0
  438. package/dist/designer/data/systems/wired/DESIGN.md +281 -0
  439. package/dist/designer/data/systems/wired/components.html +342 -0
  440. package/dist/designer/data/systems/wired/tokens.css +64 -0
  441. package/dist/designer/data/systems/wise/DESIGN.md +176 -0
  442. package/dist/designer/data/systems/wise/components.html +365 -0
  443. package/dist/designer/data/systems/wise/tokens.css +141 -0
  444. package/dist/designer/data/systems/x-ai/DESIGN.md +260 -0
  445. package/dist/designer/data/systems/x-ai/components.html +460 -0
  446. package/dist/designer/data/systems/x-ai/tokens.css +268 -0
  447. package/dist/designer/data/systems/xiaohongshu/DESIGN.md +402 -0
  448. package/dist/designer/data/systems/xiaohongshu/components.html +865 -0
  449. package/dist/designer/data/systems/xiaohongshu/tokens.css +193 -0
  450. package/dist/designer/data/systems/zapier/DESIGN.md +331 -0
  451. package/dist/designer/data/systems/zapier/components.html +342 -0
  452. package/dist/designer/data/systems/zapier/tokens.css +64 -0
  453. package/dist/designer/guidelines.js +176 -0
  454. package/dist/designer/index.js +236 -0
  455. package/dist/designer/skills.js +1675 -0
  456. package/dist/designer/systems.js +216 -0
  457. package/dist/server/pi-bridge.js +155 -5
  458. package/dist/server/session-stream.js +45 -1
  459. package/package.json +1 -1
@@ -0,0 +1,342 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Zapier - reference components</title>
7
+ <meta
8
+ name="description"
9
+ content="Reference fixture for design-systems/zapier: warm automation workspace with off-white canvas, orange connectors, and approachable cards."
10
+ />
11
+ <style>
12
+ :root {
13
+ --bg: #fff7ed;
14
+ --surface: #ffffff;
15
+ --surface-warm: #ffedd5;
16
+ --fg: #2d2a26;
17
+ --fg-2: #574f45;
18
+ --muted: #7c6f64;
19
+ --meta: #ff4f00;
20
+ --border: #eadfd3;
21
+ --border-soft: #f4eadf;
22
+ --accent: #ff4f00;
23
+ --accent-on: #ffffff;
24
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
25
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
26
+ --success: #15803d;
27
+ --warn: #d97706;
28
+ --danger: #dc2626;
29
+ --font-display: "Degular", Inter, system-ui, sans-serif;
30
+ --font-body: "Inter", system-ui, sans-serif;
31
+ --font-mono: "Roboto Mono", ui-monospace, Menlo, monospace;
32
+ --text-xs: 12px;
33
+ --text-sm: 14px;
34
+ --text-base: 16px;
35
+ --text-lg: 18px;
36
+ --text-xl: 24px;
37
+ --text-2xl: 36px;
38
+ --text-3xl: 52px;
39
+ --text-4xl: 72px;
40
+ --leading-body: 1.5;
41
+ --leading-tight: 1.02;
42
+ --tracking-display: -0.025em;
43
+ --space-1: 4px;
44
+ --space-2: 8px;
45
+ --space-3: 12px;
46
+ --space-4: 16px;
47
+ --space-5: 20px;
48
+ --space-6: 24px;
49
+ --space-8: 32px;
50
+ --space-12: 48px;
51
+ --section-y-desktop: 96px;
52
+ --section-y-tablet: 68px;
53
+ --section-y-phone: 48px;
54
+ --radius-sm: 8px;
55
+ --radius-md: 12px;
56
+ --radius-lg: 20px;
57
+ --radius-pill: 9999px;
58
+ --elev-flat: none;
59
+ --elev-ring: 0 0 0 1px var(--border);
60
+ --elev-raised: 0 18px 44px rgba(45, 42, 38, 0.12);
61
+ --focus-ring: 0 0 0 4px rgba(255, 79, 0, 0.24);
62
+ --motion-fast: 140ms;
63
+ --motion-base: 220ms;
64
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
65
+ --container-max: 1160px;
66
+ --container-gutter-desktop: 32px;
67
+ --container-gutter-tablet: 24px;
68
+ --container-gutter-phone: 16px;
69
+ }
70
+
71
+ *, *::before, *::after { box-sizing: border-box; }
72
+ html, body { margin: 0; padding: 0; }
73
+ body {
74
+ min-height: 100vh;
75
+ background: var(--bg);
76
+ color: var(--fg);
77
+ font-family: var(--font-body);
78
+ font-size: var(--text-base);
79
+ line-height: var(--leading-body);
80
+ -webkit-font-smoothing: antialiased;
81
+ }
82
+ .page {
83
+ min-height: 100vh;
84
+ background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 58%, #ffffff 100%);
85
+ }
86
+ .container {
87
+ max-width: var(--container-max);
88
+ margin-inline: auto;
89
+ padding-inline: var(--container-gutter-desktop);
90
+ }
91
+ section { padding-block: var(--section-y-desktop); }
92
+ @media (max-width: 1023px) {
93
+ .container { padding-inline: var(--container-gutter-tablet); }
94
+ section { padding-block: var(--section-y-tablet); }
95
+ }
96
+ @media (max-width: 639px) {
97
+ .container { padding-inline: var(--container-gutter-phone); }
98
+ section { padding-block: var(--section-y-phone); }
99
+ }
100
+ h1, h2, h3, p { margin: 0; }
101
+ h1, h2, h3 {
102
+ font-family: var(--font-display);
103
+ line-height: var(--leading-tight);
104
+ letter-spacing: var(--tracking-display);
105
+ }
106
+ h1 { max-width: 820px; font-size: var(--text-4xl); font-weight: 700; }
107
+ h2 { font-size: var(--text-3xl); font-weight: 650; }
108
+ h3 { font-size: var(--text-xl); font-weight: 650; }
109
+ .eyebrow {
110
+ color: var(--meta);
111
+ font-family: var(--font-mono);
112
+ font-size: var(--text-xs);
113
+ font-weight: 700;
114
+ letter-spacing: 0.12em;
115
+ text-transform: uppercase;
116
+ }
117
+ .lead {
118
+ max-width: 620px;
119
+ color: var(--fg-2);
120
+ font-size: var(--text-lg);
121
+ }
122
+ .hero {
123
+ display: grid;
124
+ grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
125
+ gap: var(--space-8);
126
+ align-items: center;
127
+ }
128
+ .stack > * + * { margin-block-start: var(--space-4); }
129
+ .actions {
130
+ display: flex;
131
+ flex-wrap: wrap;
132
+ gap: var(--space-3);
133
+ margin-block-start: var(--space-6);
134
+ }
135
+ .btn {
136
+ display: inline-flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ min-height: 44px;
140
+ padding: 0 var(--space-5);
141
+ border: 1px solid transparent;
142
+ border-radius: var(--radius-md);
143
+ font: 700 var(--text-sm) / 1 var(--font-body);
144
+ text-decoration: none;
145
+ cursor: pointer;
146
+ transition:
147
+ background-color var(--motion-fast) var(--ease-standard),
148
+ border-color var(--motion-fast) var(--ease-standard),
149
+ color var(--motion-fast) var(--ease-standard),
150
+ transform var(--motion-fast) var(--ease-standard),
151
+ box-shadow var(--motion-fast) var(--ease-standard);
152
+ }
153
+ .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
154
+ .btn-primary { background: var(--accent); color: var(--accent-on); }
155
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
156
+ .btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
157
+ .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
158
+ .panel {
159
+ background: color-mix(in oklab, var(--surface), transparent 4%);
160
+ border: 1px solid var(--border);
161
+ border-radius: var(--radius-lg);
162
+ box-shadow: var(--elev-raised);
163
+ overflow: hidden;
164
+ }
165
+ .panel-head {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: space-between;
169
+ gap: var(--space-4);
170
+ padding: var(--space-5);
171
+ border-bottom: 1px solid var(--border-soft);
172
+ }
173
+ .status {
174
+ display: inline-flex;
175
+ align-items: center;
176
+ gap: var(--space-2);
177
+ color: var(--meta);
178
+ font: 700 var(--text-xs) / 1 var(--font-mono);
179
+ text-transform: uppercase;
180
+ letter-spacing: 0.08em;
181
+ }
182
+ .status::before {
183
+ width: 8px;
184
+ height: 8px;
185
+ border-radius: var(--radius-pill);
186
+ background: var(--success);
187
+ content: "";
188
+ }
189
+ .metric-grid {
190
+ display: grid;
191
+ grid-template-columns: repeat(3, minmax(0, 1fr));
192
+ border-bottom: 1px solid var(--border-soft);
193
+ }
194
+ .metric {
195
+ padding: var(--space-5);
196
+ border-right: 1px solid var(--border-soft);
197
+ }
198
+ .metric:last-child { border-right: 0; }
199
+ .metric strong {
200
+ display: block;
201
+ font-family: var(--font-display);
202
+ font-size: var(--text-2xl);
203
+ line-height: var(--leading-tight);
204
+ }
205
+ .metric span { color: var(--muted); font-size: var(--text-sm); }
206
+ .card-row {
207
+ display: grid;
208
+ grid-template-columns: 1fr 1fr;
209
+ gap: var(--space-4);
210
+ padding: var(--space-5);
211
+ }
212
+ .mini-card {
213
+ min-height: 148px;
214
+ padding: var(--space-5);
215
+ border: 1px solid var(--border-soft);
216
+ border-radius: var(--radius-md);
217
+ background: var(--surface-warm);
218
+ }
219
+ .mini-card p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
220
+ .swatches {
221
+ display: flex;
222
+ gap: var(--space-2);
223
+ margin-block-start: var(--space-4);
224
+ }
225
+ .swatch {
226
+ width: 32px;
227
+ height: 32px;
228
+ border-radius: var(--radius-sm);
229
+ border: 1px solid var(--border);
230
+ }
231
+ .swatch.accent { background: var(--accent); }
232
+ .swatch.surface { background: var(--surface); }
233
+ .swatch.warm { background: var(--surface-warm); }
234
+ .swatch.fg { background: var(--fg); }
235
+ .field {
236
+ display: grid;
237
+ gap: var(--space-2);
238
+ margin-block-start: var(--space-5);
239
+ }
240
+ label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
241
+ input {
242
+ width: 100%;
243
+ min-height: 46px;
244
+ padding: 0 var(--space-4);
245
+ border: 1px solid var(--border);
246
+ border-radius: var(--radius-sm);
247
+ background: var(--surface);
248
+ color: var(--fg);
249
+ font: inherit;
250
+ }
251
+ input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
252
+ .lower {
253
+ display: grid;
254
+ grid-template-columns: repeat(3, minmax(0, 1fr));
255
+ gap: var(--space-4);
256
+ }
257
+ .tile {
258
+ padding: var(--space-5);
259
+ border: 1px solid var(--border);
260
+ border-radius: var(--radius-md);
261
+ background: var(--surface);
262
+ }
263
+ .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
264
+ @media (max-width: 860px) {
265
+ .hero, .lower { grid-template-columns: 1fr; }
266
+ .metric-grid, .card-row { grid-template-columns: 1fr; }
267
+ .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); }
268
+ .metric:last-child { border-bottom: 0; }
269
+ }
270
+ </style>
271
+ </head>
272
+ <body>
273
+ <main class="page">
274
+ <section>
275
+ <div class="container hero">
276
+ <div class="stack">
277
+ <p class="eyebrow">Zapier design system</p>
278
+ <h1>Automation builder</h1>
279
+ <p class="lead">Friendly workflow blocks, orange actions, and practical productivity rhythm.</p>
280
+ <div class="actions" aria-label="Reference actions">
281
+ <a class="btn btn-primary" href="#">Primary orange automation button</a>
282
+ <a class="btn btn-secondary" href="#">Secondary action</a>
283
+ </div>
284
+ </div>
285
+ <article class="panel" aria-label="Zapier component preview">
286
+ <div class="panel-head">
287
+ <div>
288
+ <p class="eyebrow">Live module</p>
289
+ <h3>workflow step card</h3>
290
+ </div>
291
+ <span class="status">online</span>
292
+ </div>
293
+ <div class="metric-grid">
294
+ <div class="metric"><strong>98%</strong><span>Signal quality</span></div>
295
+ <div class="metric"><strong>24</strong><span>Active flows</span></div>
296
+ <div class="metric"><strong>3.2s</strong><span>Response time</span></div>
297
+ </div>
298
+ <div class="card-row">
299
+ <div class="mini-card">
300
+ <h3>Palette</h3>
301
+ <p>warm automation workspace with off-white canvas, orange connectors, and approachable cards.</p>
302
+ <div class="swatches" aria-label="Token swatches">
303
+ <span class="swatch accent"></span>
304
+ <span class="swatch surface"></span>
305
+ <span class="swatch warm"></span>
306
+ <span class="swatch fg"></span>
307
+ </div>
308
+ </div>
309
+ <div class="mini-card">
310
+ <h3>Control</h3>
311
+ <p>Focus, hover, and status states share the same brand signal.</p>
312
+ <div class="field">
313
+ <label for="zapier-input">Reference input</label>
314
+ <input id="zapier-input" value="Zapier system token" />
315
+ </div>
316
+ </div>
317
+ </div>
318
+ </article>
319
+ </div>
320
+ </section>
321
+ <section>
322
+ <div class="container lower">
323
+ <article class="tile">
324
+ <p class="eyebrow">Typography</p>
325
+ <h2>Display rhythm</h2>
326
+ <p>Headlines use the brand display stack with the declared scale and leading.</p>
327
+ </article>
328
+ <article class="tile">
329
+ <p class="eyebrow">Surface</p>
330
+ <h2>Layer system</h2>
331
+ <p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p>
332
+ </article>
333
+ <article class="tile">
334
+ <p class="eyebrow">Interaction</p>
335
+ <h2>Motion states</h2>
336
+ <p>Buttons, inputs, and panels use brand-specific focus rings and easing.</p>
337
+ </article>
338
+ </div>
339
+ </section>
340
+ </main>
341
+ </body>
342
+ </html>
@@ -0,0 +1,64 @@
1
+ /* design-systems/zapier/tokens.css
2
+ *
3
+ * Structured token bindings for Zapier.
4
+ * warm automation workspace with off-white canvas, orange connectors, and approachable cards.
5
+ */
6
+
7
+ :root {
8
+ --bg: #fff7ed;
9
+ --surface: #ffffff;
10
+ --surface-warm: #ffedd5;
11
+ --fg: #2d2a26;
12
+ --fg-2: #574f45;
13
+ --muted: #7c6f64;
14
+ --meta: #ff4f00;
15
+ --border: #eadfd3;
16
+ --border-soft: #f4eadf;
17
+ --accent: #ff4f00;
18
+ --accent-on: #ffffff;
19
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
20
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
21
+ --success: #15803d;
22
+ --warn: #d97706;
23
+ --danger: #dc2626;
24
+ --font-display: "Degular", Inter, system-ui, sans-serif;
25
+ --font-body: "Inter", system-ui, sans-serif;
26
+ --font-mono: "Roboto Mono", ui-monospace, Menlo, monospace;
27
+ --text-xs: 12px;
28
+ --text-sm: 14px;
29
+ --text-base: 16px;
30
+ --text-lg: 18px;
31
+ --text-xl: 24px;
32
+ --text-2xl: 36px;
33
+ --text-3xl: 52px;
34
+ --text-4xl: 72px;
35
+ --leading-body: 1.5;
36
+ --leading-tight: 1.02;
37
+ --tracking-display: -0.025em;
38
+ --space-1: 4px;
39
+ --space-2: 8px;
40
+ --space-3: 12px;
41
+ --space-4: 16px;
42
+ --space-5: 20px;
43
+ --space-6: 24px;
44
+ --space-8: 32px;
45
+ --space-12: 48px;
46
+ --section-y-desktop: 96px;
47
+ --section-y-tablet: 68px;
48
+ --section-y-phone: 48px;
49
+ --radius-sm: 8px;
50
+ --radius-md: 12px;
51
+ --radius-lg: 20px;
52
+ --radius-pill: 9999px;
53
+ --elev-flat: none;
54
+ --elev-ring: 0 0 0 1px var(--border);
55
+ --elev-raised: 0 18px 44px rgba(45, 42, 38, 0.12);
56
+ --focus-ring: 0 0 0 4px rgba(255, 79, 0, 0.24);
57
+ --motion-fast: 140ms;
58
+ --motion-base: 220ms;
59
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
60
+ --container-max: 1160px;
61
+ --container-gutter-desktop: 32px;
62
+ --container-gutter-tablet: 24px;
63
+ --container-gutter-phone: 16px;
64
+ }
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Core Design Guidelines
3
+ *
4
+ * Anti-AI-slop rules and design philosophy distilled from the Open Design
5
+ * project (https://github.com/nexu-io/open-design). These guidelines are
6
+ * injected into the LLM's context when it begins a design task to improve
7
+ * output quality and avoid common AI-generated design tropes.
8
+ */
9
+ /** Anti-slop rules — what to avoid in AI-generated design. */
10
+ export const ANTI_SLOP_RULES = `# Anti-AI-Slop Design Rules
11
+
12
+ These rules prevent the most common "AI-generated look" tropes. Apply them to every design artifact you produce.
13
+
14
+ ## Color
15
+ - ❌ Warm beige/cream/peach/pink/orange-brown "AI canvas" backgrounds — unless the brand explicitly owns these colors
16
+ - ❌ Aggressive purple-to-orange or blue-to-pink gradients on hero sections
17
+ - ✅ Use the design system's defined palette. Backgrounds come from the brand, not defaults.
18
+ - ✅ Prefer solid backgrounds. Gradients only when the design system calls for them.
19
+ - ✅ Dark mode systems (Linear-style) use true dark grays (#1a1a1a, #212121), not warm dark browns.
20
+
21
+ ## Typography
22
+ - ❌ Inter as a default for everything — it's the "AI font" because it ships everywhere
23
+ - ❌ Roboto unless the design system is Material Design
24
+ - ❌ Fraunces, Playfair Display, or other "AI serif" fonts used without brand intent
25
+ - ❌ Random font sizes — every size should come from the design system's scale
26
+ - ✅ Use the design system's font stack. If none specified, use system fonts (-apple-system, "Segoe UI")
27
+ - ✅ Headlines: 700-800 weight, tight line-height (1.05-1.15)
28
+ - ✅ Body: 400 weight, comfortable line-height (1.5-1.7)
29
+
30
+ ## Layout
31
+ - ❌ Cards with a left-border color accent stripe (the #1 AI slop signature)
32
+ - ❌ Rounded boxes everywhere — vary radius by component type
33
+ - ❌ Three feature cards in a row with identical icon-above-title structure
34
+ - ❌ Centered text for everything
35
+ - ✅ Alternate section backgrounds to create visual rhythm
36
+ - ✅ Vary section layouts: two-column, grid, masonry, full-width, split
37
+ - ✅ Use whitespace as a design element — not every gap needs a border or shadow
38
+
39
+ ## Content
40
+ - ❌ Lorem ipsum or placeholder text
41
+ - ❌ Emoji as primary iconography — use Unicode symbols or SVG icons instead
42
+ - ❌ Filler copy: "Our platform leverages cutting-edge AI to revolutionize your workflow"
43
+ - ❌ Made-up statistics: "10x faster", "99.9% uptime", "500+ integrations"
44
+ - ✅ Every word should earn its place. If a section feels empty, redesign it — don't pad it.
45
+ - ✅ Write concrete, specific copy. "Syncs in 2.3 seconds" beats "Lightning fast"
46
+ - ✅ Images: use gradient shapes or CSS art as placeholders, not gray rectangles
47
+
48
+ ## Components
49
+ - ❌ Generic blue (#3B82F6 / Tailwind blue-500) buttons on every page
50
+ - ❌ Cards with identical border-radius, padding, and shadow
51
+ - ❌ The exact same button style for primary and secondary CTAs
52
+ - ✅ Primary buttons: filled with accent color. Secondary: outlined or ghost.
53
+ - ✅ Cards can have different treatments: some with borders, some with shadows, some flat
54
+ - ✅ Add hover/active states to every interactive element
55
+
56
+ ## Interactions
57
+ - ❌ No hover states
58
+ - ❌ Instant transitions
59
+ - ✅ Subtle hover effects: scale(1.01), shadow lift, color shift
60
+ - ✅ Smooth transitions: 150-300ms ease
61
+ - ✅ Active/pressed states for mobile touch targets
62
+
63
+ ## The "Would Apple/Stripe/Linear ship this?" Test
64
+
65
+ Before finalizing, look at your output and ask:
66
+ 1. Would this color palette work at a Fortune 500 company?
67
+ 2. Does the typography feel intentional or accidental?
68
+ 3. Does every section have a reason to exist?
69
+ 4. Would a professional designer recognize the system behind this?
70
+
71
+ If the answer to any of these is "no", revise.`;
72
+ /** Five-dimension self-critique framework. */
73
+ export const CRITIQUE_FRAMEWORK = `# 5-Dimension Self-Critique
74
+
75
+ After building a design artifact, run this critique against your output. Fix issues before showing the user.
76
+
77
+ ## Dimension 1 — Color Harmony
78
+ - Do all colors come from the design system's palette?
79
+ - Is the contrast ratio sufficient for readability (4.5:1 minimum for body text)?
80
+ - Does the accent color appear with restraint (5-10% of surface area)?
81
+ - Are there any accidental colors from browser defaults?
82
+
83
+ ## Dimension 2 — Typography Hierarchy
84
+ - Is there a clear heading scale (3-4 distinct sizes)?
85
+ - Do font sizes follow a consistent ratio (1.25 or 1.333)?
86
+ - Is body text readable at 16px minimum (24px for slides)?
87
+ - Are there any orphaned words or awkward line breaks?
88
+
89
+ ## Dimension 3 — Spacing Consistency
90
+ - Do sections have consistent vertical padding (not random values)?
91
+ - Is the gap rhythm consistent (all gaps are multiples of 4px or 8px)?
92
+ - Are related elements closer together than unrelated ones?
93
+ - Is the content width constrained (not full-width body text on desktop)?
94
+
95
+ ## Dimension 4 — Component Polish
96
+ - Do all buttons have hover and active states?
97
+ - Are form elements consistently styled?
98
+ - Do cards have consistent internal padding?
99
+ - Are shadows used intentionally (0-3 elevations max)?
100
+
101
+ ## Dimension 5 — Brand Coherence
102
+ - Does this look like it belongs to one brand, not a patchwork?
103
+ - Would the design system's owner recognize their brand here?
104
+ - Is the tone consistent across all copy?
105
+ - Does the first impression match the product category?`;
106
+ /** Core designer identity prompt — the "expert designer" persona. */
107
+ export const DESIGNER_IDENTITY = `# Designer Identity
108
+
109
+ You are an expert designer working with the user as a manager. You produce design artifacts using HTML, CSS, and JavaScript. Your output is production-quality — not AI slop.
110
+
111
+ ## Your Medium
112
+ HTML is your tool, but your medium varies: web designer, slide designer, prototyper, data-viz specialist, mobile-app designer. Adapt your thinking to the medium.
113
+
114
+ ## Your Process
115
+ 1. **Understand** — Clarify the output, fidelity, audience, constraints, and design system before writing any code.
116
+ 2. **Explore** — Read the active design system and any user-provided references. Map tokens to CSS custom properties.
117
+ 3. **Plan** — Lay out the section structure before writing components. Vocalize the system you'll use.
118
+ 4. **Build** — Write the HTML file(s). Show something early — a rough first pass beats radio silence.
119
+ 5. **Critique** — Run the 5-dimension self-critique. Fix issues.
120
+ 6. **Deliver** — Present the final artifact with a brief summary of design decisions.
121
+
122
+ ## Quality Standards
123
+ - Production-grade CSS: use CSS Grid, custom properties, container queries, clamp(), text-wrap: pretty
124
+ - Responsive: mobile-first with at least one breakpoint (768px)
125
+ - Accessible: sufficient color contrast, focus styles, semantic HTML
126
+ - Performant: no unnecessary dependencies, CSS-only animations when possible
127
+ - Polished: consistent spacing, intentional typography, hover/active states
128
+
129
+ ## When to Push Back
130
+ - If the user asks for something that would create AI slop, suggest alternatives
131
+ - If a design choice contradicts the active design system, flag it
132
+ - If the user wants decorations that don't serve the content (gratuitous gradients, emoji), advise against it`;
133
+ /** Full guidelines as a combined injection-ready string. */
134
+ export function getDesignGuidelines() {
135
+ return [DESIGNER_IDENTITY, ANTI_SLOP_RULES, CRITIQUE_FRAMEWORK].join("\n\n---\n\n");
136
+ }
137
+ // ---------------------------------------------------------------------------
138
+ // Discovery Protocol — injected at session start for design tasks
139
+ // ---------------------------------------------------------------------------
140
+ /**
141
+ * First-turn discovery protocol.
142
+ * Forces the agent to ask clarifying questions before building anything.
143
+ * Based on Open Design's discovery.ts — the turn-based question protocol.
144
+ */
145
+ export const DISCOVERY_PROTOCOL = `# Design Discovery Protocol
146
+
147
+ You have been asked to create a design artifact. Before writing ANY code, you MUST complete this discovery sequence first.
148
+
149
+ ## Turn 1 — Clarify the Brief (ALWAYS required)
150
+
151
+ Do NOT read files, run bash, or write any code. Ask the user to clarify:
152
+
153
+ 1. **What kind of artifact?** Web prototype, landing page, slide deck, mobile app, dashboard, carousel, poster, or something else?
154
+ 2. **What design system?** If the user hasn't specified one, recommend 2-3 systems from \`designer_list_systems\` that fit their product category. Ask which they prefer.
155
+ 3. **What content?** What's the product name? Audience? Key message?
156
+ 4. **Any constraints?** Dark/light mode preference? Existing brand colors? Animations yes/no?
157
+
158
+ Format your response as a clean question — not a wall of questions, but a friendly prompt that invites the user to clarify these dimensions.
159
+
160
+ Example:
161
+ > I'd love to design this for you. To get the best result, could you tell me:
162
+ > - What kind of page are we building? (landing, dashboard, mobile app, slide deck?)
163
+ > - Is there a brand or visual direction you have in mind? If not, I can suggest a few design systems that fit.
164
+ > - What's the product called, and who's the audience?
165
+ > - Any specific constraints (dark mode, existing colors, no animations)?
166
+
167
+ ## Turn 2 — Load the Design System
168
+
169
+ Once the user clarifies:
170
+ 1. Call \`designer_get_system\` with the chosen system name
171
+ 2. Call \`designer_get_skill\` with the skill that matches the artifact type
172
+ 3. Announce: "I'll use the [system name] design system and the [skill name] workflow. Let me map the tokens and plan the sections."
173
+
174
+ ## Turn 3 — Build
175
+
176
+ Now follow the skill workflow exactly. Write the artifact file(s).`;