@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,272 @@
1
+ /* ─────────────────────────────────────────────────────────────────────────
2
+ * design-systems/hashicorp/tokens.css
3
+ *
4
+ * Structured token bindings for "Design System Inspired by HashiCorp" —
5
+ * enterprise infrastructure-as-code made tangible: a dramatic near-black
6
+ * canvas, engineering-grade typography, whisper-level shadows, and one
7
+ * functional blue accent reserved for actionable signals.
8
+ *
9
+ * Brand identity in three sentences:
10
+ * 1. Dark-mode-native canvas (#15181e Dark Charcoal → #0d0e12 Near Black).
11
+ * DESIGN.md §1 names these as the "dramatic dark-mode for hero areas
12
+ * and product showcases" — we bind --bg/--surface to the iconic
13
+ * pair because HashiCorp's brand-defining surfaces are dark.
14
+ * 2. HashiCorp Sans for headings (600–700 weight, kern enabled, 1.17
15
+ * line-height at 82px display); system-ui for body, navigation, and
16
+ * functional text. The brand font carries the weight; system-ui
17
+ * carries the words.
18
+ * 3. Action Blue (#1060ff) as the lone functional accent on dark; the
19
+ * multi-product palette (Terraform purple, Vault yellow, Waypoint
20
+ * teal, Vagrant blue) lives in DESIGN.md §2 as product-scoped
21
+ * colors and intentionally does NOT bind here — DESIGN.md §7 forbids
22
+ * "product brand colors outside their product context".
23
+ *
24
+ * Brand-specific schema decisions (each one bends a schema convention
25
+ * to match HashiCorp's voice rather than the cross-brand default):
26
+ *
27
+ * 1. --bg is #15181e (Dark Charcoal), not white. DESIGN.md describes
28
+ * the brand's "dual mode" — clean white informational sections AND
29
+ * dramatic dark hero/product areas — but the dark surfaces are the
30
+ * identity-defining ones; that is where HashiCorp Sans at 82px,
31
+ * the multi-product accent colors, and the whisper shadows all
32
+ * do their work. Binding --bg to the dark canvas honors the
33
+ * iconic look and matches the "dark-friendly enterprise UI"
34
+ * identity called out in the brand interpretation.
35
+ *
36
+ * 2. --fg ramp is independently bound across all four tiers
37
+ * (Near White #efeff1 → Mid Gray #d5d7db → Cool Gray #b2b6bd →
38
+ * Dark Gray #656a76). DESIGN.md §2 lists each as a named role —
39
+ * "Primary text on dark / Button text on dark / Border accents /
40
+ * Helper text" — and the brand genuinely walks the full ramp.
41
+ * Collapsing --fg-2 or --muted to siblings would flatten the
42
+ * ladder that gives HashiCorp content its enterprise density.
43
+ *
44
+ * 3. --border is rgba(178, 182, 189, 0.4) — the literal alpha used
45
+ * on DESIGN.md §4's "Primary Dark" button border. Binding
46
+ * --border to the alpha (not a solid hex) lets `--elev-ring`
47
+ * reproduce the cool-gray hairline and lets components reach the
48
+ * same value via `border: 1px solid var(--border)`.
49
+ * --border-soft drops to 0.15 alpha for inner separators that
50
+ * should not visually compete with the button edge.
51
+ *
52
+ * 4. --accent is Action Blue (#1060ff), NOT a product brand color.
53
+ * DESIGN.md §2 explicitly classifies Terraform purple / Vault
54
+ * yellow / Waypoint teal as product-scoped tokens; the corporate
55
+ * brand's functional CTA color on dark is #1060ff. --accent-hover
56
+ * LIFTS to #2b89ff (DESIGN.md "Bright Blue — Active links, hover
57
+ * accent") instead of darkening — the schema's default black-mix
58
+ * formula would lose contrast on the dark canvas. --accent-active
59
+ * then darkens via the standard formula for the press state.
60
+ *
61
+ * 5. --warn is #bb5a00 (DESIGN.md Amber-200), not the schema default
62
+ * #eab308. The brighter yellow would clash with HashiCorp's
63
+ * muted enterprise palette and read as "Vault product color"
64
+ * rather than "warning state". The burnt-amber sits warm but
65
+ * restrained on the dark canvas.
66
+ *
67
+ * 6. --font-display loads HashiCorp Sans (the custom brand face
68
+ * called out throughout DESIGN.md) with a substantive fallback
69
+ * stack; --font-body uses system-ui per DESIGN.md §3's brand/
70
+ * system split ("HashiCorp Sans for headings only (17px+),
71
+ * system-ui for everything else"). Mixing the two is the
72
+ * structural rule — never set body copy in HashiCorp Sans.
73
+ *
74
+ * 7. Type scale tops at 82px (--text-4xl) with 1.17 line-height
75
+ * (--leading-tight). DESIGN.md §3 lists 82px / 52px / 42px / 34px
76
+ * / 26px as the documented HashiCorp Sans tiers; the 8 schema
77
+ * slots map onto five of those plus body sizes 20/16/14/13.
78
+ * --tracking-display is `normal` because DESIGN.md §3 explicitly
79
+ * sets the 82px hero to letter-spacing `normal` — the brand
80
+ * relies on kerning, not tracking, for its monolithic feel.
81
+ *
82
+ * 8. --leading-body is 1.63 (DESIGN.md's relaxed 1.63–1.69 body
83
+ * range) — generous reading rhythm BELOW the tight 1.17 headings
84
+ * is the brand's "weight at the top of each section" rule.
85
+ * --leading-tight is 1.17, the documented display line-height.
86
+ *
87
+ * 9. --radius scale is tight: 5px / 8px / 8px / 5px. DESIGN.md §5
88
+ * caps radius at 8px ("nothing pill-shaped or circular") and
89
+ * uses 5px for primary buttons, badges, and inputs. We bind
90
+ * --radius-lg to the same 8px ceiling (HashiCorp does not have
91
+ * a third tier above cards) and --radius-pill to 5px, matching
92
+ * DESIGN.md §4's "Badges / Pills — Radius: 5px". The brand's
93
+ * "no true pill" rule is structural, not stylistic.
94
+ *
95
+ * 10. --elev-raised is the whisper-shadow VERBATIM from DESIGN.md §6
96
+ * Level 1: dual-layer at 5% opacity on a cool-gray base. The
97
+ * doc says it explicitly: "If you can see the shadow, it's too
98
+ * strong." We must not strengthen this in component CSS —
99
+ * enterprise stability is communicated through restraint.
100
+ *
101
+ * 11. --focus-ring is 3px solid var(--accent) (sharp ring, no halo),
102
+ * per DESIGN.md §6 ("Focus (Level 2) — 3px solid"). Sharp focus
103
+ * is the engineered alternative to the schema's 3px alpha glow.
104
+ *
105
+ * 12. --section-y-desktop is 80px (DESIGN.md §5 "Enterprise breathing
106
+ * room: Generous vertical spacing between sections (48px–80px+)").
107
+ * --container-max is 1150px exactly — DESIGN.md §5 names ~1150px
108
+ * as the documented xl breakpoint and max content width.
109
+ *
110
+ * Source contracts:
111
+ * - Standard token names: design-systems/_schema/tokens.schema.ts
112
+ * - A2 fallback parity: design-systems/_schema/defaults.css
113
+ * - Lint enforcement: apps/daemon/src/lint-artifact.ts
114
+ *
115
+ * Keep this file additive: never invent token names not also documented
116
+ * in DESIGN.md or the schema. The HashiCorp Sans face is referenced by
117
+ * name only — the stack lists OS fallbacks so artifacts render
118
+ * acceptably even when the brand font is not loaded.
119
+ * ─────────────────────────────────────────────────────────────────── */
120
+
121
+ :root {
122
+ /* ─── Surface (3 levels — dark-mode canvas) ───────────────────────
123
+ * DESIGN.md §1 names #15181e and #0d0e12 as the two dark-mode
124
+ * surfaces. --surface-warm aliases --surface because the brand is
125
+ * famously achromatic on dark — depth comes from luminance steps
126
+ * and whisper shadows, not from warm-tinting one surface against
127
+ * another. (DESIGN.md §7: "Don't use pure black (#000000) for dark
128
+ * backgrounds — use #15181e or #0d0e12.") */
129
+ --bg: #15181e; /* Dark Charcoal — hero canvas */
130
+ --surface: #0d0e12; /* Near Black — cards, inputs */
131
+ --surface-warm: var(--surface); /* alias — no warm tier on dark */
132
+
133
+ /* ─── Foreground ramp (4 levels) ──────────────────────────────────
134
+ * Near White → Mid Gray → Cool Gray → Dark Gray. All four are named
135
+ * in DESIGN.md §2 with distinct roles, so we bind each independently
136
+ * (no aliasing). #efeff1 instead of #ffffff matters — pure white
137
+ * against #15181e reads as harsh; the slight warmth keeps the
138
+ * enterprise tone from feeling clinical. */
139
+ --fg: #efeff1; /* Near White — primary text on dark */
140
+ --fg-2: #d5d7db; /* Mid Gray — body description, button text */
141
+ --muted: #b2b6bd; /* Cool Gray — captions, tertiary text */
142
+ --meta: #656a76; /* Dark Gray — helper text, disabled */
143
+
144
+ /* ─── Border (2 levels) ──────────────────────────────────────────
145
+ * DESIGN.md §4 names rgba(178, 182, 189, 0.4) as the primary dark
146
+ * button border — we lift that exact alpha into --border so
147
+ * --elev-ring and `border: 1px solid var(--border)` both reproduce
148
+ * the documented hairline. --border-soft drops to 0.15 for inner
149
+ * row separators that must not compete with the card edge. */
150
+ --border: rgba(178, 182, 189, 0.4); /* Cool Gray @ 0.4 — primary button edge */
151
+ --border-soft: rgba(178, 182, 189, 0.15); /* inner separator — barely-there */
152
+
153
+ /* ─── Accent ─────────────────────────────────────────────────────
154
+ * Action Blue — the corporate brand's single functional CTA color
155
+ * on dark. Hard cap of ≤2 visible uses per screen aligns with
156
+ * DESIGN.md §7's restraint: the multi-product palette (Terraform
157
+ * purple, Vault yellow) is product-scoped and intentionally does
158
+ * NOT bind here. Hover LIFTS to Bright Blue rather than darkening
159
+ * (the schema default would lose contrast on dark). */
160
+ --accent: #1060ff; /* Action Blue — primary CTA on dark */
161
+ --accent-on: #ffffff; /* white label on saturated blue */
162
+ --accent-hover: #2b89ff; /* Bright Blue — DESIGN.md §2 active links */
163
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
164
+
165
+ /* ─── Semantic ───────────────────────────────────────────────────
166
+ * --warn overrides to DESIGN.md §2 Amber #bb5a00 (the schema's
167
+ * #eab308 would read as "Vault product color" on a HashiCorp
168
+ * surface). --success and --danger inherit the schema defaults —
169
+ * DESIGN.md does not define a brand-specific success color, and
170
+ * #731e25 (DESIGN.md's documented red) is a deep error-background
171
+ * tone, not the foreground signal a --danger token needs. */
172
+ --success: #16a34a;
173
+ --warn: #bb5a00; /* DESIGN.md Amber-200 — warning states */
174
+ --danger: #dc2626;
175
+
176
+ /* ─── Typography ─────────────────────────────────────────────────
177
+ * Brand/system split per DESIGN.md §3. HashiCorp Sans is the
178
+ * heading face; system-ui handles body, navigation, and functional
179
+ * text. The fallback chains let artifacts render acceptably when
180
+ * the custom face is not loaded. */
181
+ --font-display: "HashiCorp Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
182
+ --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
183
+ --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
184
+
185
+ /* Type scale — DESIGN.md §3 Hierarchy table. The 8 schema slots
186
+ * map the HashiCorp Sans display tiers (82/52/42/26) plus the
187
+ * documented body/caption sizes (20/16/14/13). Sub-heading 34px
188
+ * and small-title 19px live inline in components when needed. */
189
+ --text-xs: 13px; /* caption / uppercase label */
190
+ --text-sm: 14px; /* small body */
191
+ --text-base: 16px; /* body / nav / button text */
192
+ --text-lg: 20px; /* body large / hero description */
193
+ --text-xl: 26px; /* card title */
194
+ --text-2xl: 42px; /* feature heading */
195
+ --text-3xl: 52px; /* section heading */
196
+ --text-4xl: 82px; /* display hero — "infrastructure-grade" */
197
+
198
+ /* DESIGN.md §3: tight headings (1.17–1.21) over relaxed body
199
+ * (1.50–1.69). We sit at the documented endpoints — 1.17 hero,
200
+ * 1.63 body. --tracking-display is `normal` because DESIGN.md §3
201
+ * lists the 82px hero at letter-spacing `normal` (kerning is on
202
+ * via font-feature-settings, not tracking). */
203
+ --leading-body: 1.63;
204
+ --leading-tight: 1.17;
205
+ --tracking-display: normal;
206
+
207
+ /* ─── Spacing ────────────────────────────────────────────────────
208
+ * 8px base unit (DESIGN.md §5). The 4/8/12/16/20/24/32/48 tier
209
+ * covers structural rhythm; sub-tier increments (2/3/6/7/9/11)
210
+ * live per-component because they are too fine for the shared
211
+ * schema. */
212
+ --space-1: 4px;
213
+ --space-2: 8px;
214
+ --space-3: 12px;
215
+ --space-4: 16px;
216
+ --space-5: 20px;
217
+ --space-6: 24px;
218
+ --space-8: 32px;
219
+ --space-12: 48px;
220
+
221
+ /* Section rhythm — DESIGN.md §5 "Enterprise breathing room
222
+ * (48–80px+)". 80px desktop sits at the documented top end;
223
+ * we collapse to 56px on tablet and 40px on phone. */
224
+ --section-y-desktop: 80px;
225
+ --section-y-tablet: 56px;
226
+ --section-y-phone: 40px;
227
+
228
+ /* ─── Radius ─────────────────────────────────────────────────────
229
+ * DESIGN.md §5 caps radius at 8px and uses 5px for buttons/inputs/
230
+ * badges. --radius-lg sits at the 8px ceiling (no third tier
231
+ * exists in the brand). --radius-pill binds to 5px because
232
+ * DESIGN.md §4 explicitly says "Badges / Pills — Radius: 5px" —
233
+ * HashiCorp does not have a true 9999px pill shape; the no-pill
234
+ * rule is structural. */
235
+ --radius-sm: 5px; /* DESIGN.md "Comfortable" — buttons, inputs */
236
+ --radius-md: 8px; /* DESIGN.md "Card" — cards, containers */
237
+ --radius-lg: 8px; /* same 8px ceiling — no third tier */
238
+ --radius-pill: 5px; /* DESIGN.md §4 — no true pills, 5px chips */
239
+
240
+ /* ─── Elevation (3 levels) ───────────────────────────────────────
241
+ * Whisper shadows VERBATIM from DESIGN.md §6 Level 1: dual-layer
242
+ * at 5% opacity on a cool-gray (97, 104, 117) base. The doc is
243
+ * emphatic: "If you can see the shadow, it's too strong." Never
244
+ * strengthen these values in component overrides. */
245
+ --elev-flat: none;
246
+ --elev-ring: 0 0 0 1px var(--border);
247
+ --elev-raised:
248
+ rgba(97, 104, 117, 0.05) 0px 1px 1px,
249
+ rgba(97, 104, 117, 0.05) 0px 2px 2px;
250
+
251
+ /* ─── Focus ring ─────────────────────────────────────────────────
252
+ * DESIGN.md §6 Level 2: "3px solid var(--mds-color-focus-action-
253
+ * external)". Sharp 3px ring at --accent, not the schema's alpha
254
+ * glow — HashiCorp's focus is engineered, not atmospheric. */
255
+ --focus-ring: 0 0 0 3px var(--accent);
256
+
257
+ /* ─── Motion ─────────────────────────────────────────────────────
258
+ * Standard durations — HashiCorp's enterprise tone leans on type
259
+ * and shadow restraint, not motion choreography. */
260
+ --motion-fast: 150ms;
261
+ --motion-base: 200ms;
262
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
263
+
264
+ /* ─── Layout ─────────────────────────────────────────────────────
265
+ * 1150px max content width per DESIGN.md §5 ("Max content width:
266
+ * ~1150px (xl breakpoint)"). Gutters narrow on mobile to preserve
267
+ * the line-length-as-craft feel. */
268
+ --container-max: 1150px;
269
+ --container-gutter-desktop: 24px;
270
+ --container-gutter-tablet: 16px;
271
+ --container-gutter-phone: 12px;
272
+ }
@@ -0,0 +1,173 @@
1
+ # HUD Design System
2
+
3
+ > Category: Themed & Unique
4
+ > Fighter jet / helicopter head-up display. Phosphor green on near-black, all-caps data overlays, angular geometry. Zero ambiguity at speed and altitude.
5
+
6
+ ## 1. Visual Theme & Atmosphere
7
+
8
+ A **combat pilot's glass cockpit** — everything readable in a split second, in any light condition, under any G-load. The HUD projects critical flight data directly into the pilot's line of sight so they never have to look down. Translucency and glow replace depth and shadow. Every element is functional or it doesn't exist.
9
+
10
+ | Element | Hex | Role |
11
+ |---------|-----|------|
12
+ | Background | `#0A0A0A` | Near-black, primary canvas |
13
+ | Surface | `#111316` | Elevated panels, card backgrounds |
14
+ | Border | `#1E2328` | Subtle panel separation |
15
+ | Primary | `#00FF41` | Active readouts, all data values |
16
+ | Secondary | `#7FFF00` | Standby/dimmed values, inactive fields |
17
+ | Tertiary | `#5A9A5A` | Grid lines, tick marks, reference arcs |
18
+ | Warning | `#FFB800` | Caution, system advisories |
19
+ | Alert | `#FF3B3B` | Critical warnings, fault indicators |
20
+
21
+ *Readings must be unambiguous at 200 knots in Instrument Meteorological Conditions.*
22
+
23
+ ### Use Cases
24
+
25
+ HUD is purpose-built for:
26
+ - **Flight simulation UIs** — combat sims, civil aviation trainers, helicopter hoist operations
27
+ - **Telemetry dashboards** — real-time velocity, altitude, heading overlays
28
+ - **Command-and-control displays** — drone operator screens, ISR stations
29
+ - **Any high-speed, zero-ambiguity data overlay**
30
+
31
+ ### Prior Art
32
+
33
+ F-16 Fighting Falcon HUD, Apache AH-64 attack helicopter integrated display, F-35 helmet-mounted display system, Garmin G1000 flight deck. All share: phosphor green primary, decluttered minimalism, and information hierarchy driven by operational urgency.
34
+
35
+ ## 2. Color Palette & Roles
36
+
37
+ ### Surface Palette
38
+
39
+ | Token | Hex | Usage |
40
+ |-------|-----|-------|
41
+ | Background | `#0A0A0A` | Page canvas, primary depth |
42
+ | Surface | `#111316` | Panels, cards, elevated areas |
43
+ | Border | `#1E2328` | Panel dividers, subtle structure |
44
+
45
+ ### Data Palette
46
+
47
+ | Token | Hex | Usage |
48
+ |-------|-----|-------|
49
+ | Primary | `#00FF41` | Speed, altitude, heading readouts |
50
+ | Secondary | `#7FFF00` | Standby/dimmed values, inactive fields |
51
+ | Tertiary | `#5A9A5A` | Grid lines, tick marks, reference arcs |
52
+ | Warning | `#FFB800` | Caution, system advisories |
53
+ | Alert | `#FF3B3B` | Critical warnings, fault indicators |
54
+
55
+ All data colors on `#0A0A0A` pass WCAG AA (minimum 4.5:1).
56
+
57
+ ### Dark Mode
58
+
59
+ Dark mode is the native and only mode. A HUD is projected in low-light or high-glare cockpit conditions; there is no light mode by design.
60
+
61
+ ```css
62
+ :root {
63
+ --color-bg: #0A0A0A;
64
+ --color-surface: #111316;
65
+ --color-border: #1E2328;
66
+ --data-primary: #00FF41;
67
+ --data-secondary: #7FFF00;
68
+ --data-tertiary: #5A9A5A;
69
+ --data-warning: #FFB800;
70
+ --data-alert: #FF3B3B;
71
+ }
72
+ ```
73
+
74
+ ## 3. Typography Rules
75
+
76
+ | Role | Size | Weight | Line Height | Font |
77
+ |------|------|--------|-------------|------|
78
+ | Display | 32px | 700 | 1.0 | JetBrains Mono |
79
+ | Heading | 12px | 700 | 1.0 | Inter, uppercase |
80
+ | Body | 14px | 400 | 1.2 | JetBrains Mono |
81
+ | Label | 10px | 600 | 1.0 | Inter, uppercase |
82
+ | Micro | 8px | 700 | 1.0 | Inter, uppercase |
83
+
84
+ **Font labels for catalog extraction:**
85
+
86
+ ```
87
+ Display: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace
88
+ Body: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace
89
+ Heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif
90
+ Label: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif
91
+ Micro: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif
92
+ Mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace
93
+ ```
94
+
95
+ ## 4. Component Stylings
96
+
97
+ ### Data Readout
98
+
99
+ Displays a single data value with label. Always uses `--data-primary` color.
100
+
101
+ ```css
102
+ .data-readout {
103
+ font-family: 'JetBrains Mono', monospace;
104
+ font-size: 14px;
105
+ font-weight: 700;
106
+ color: var(--data-primary);
107
+ letter-spacing: 0.05em;
108
+ }
109
+ .data-readout-label {
110
+ font-family: 'Inter', sans-serif;
111
+ font-size: 10px;
112
+ font-weight: 600;
113
+ text-transform: uppercase;
114
+ color: var(--data-tertiary);
115
+ letter-spacing: 0.1em;
116
+ }
117
+ ```
118
+
119
+ ### Status Indicator
120
+
121
+ Dot or bar that reflects system state. Colors map to operational states.
122
+
123
+ ```css
124
+ .status-dot {
125
+ width: 8px;
126
+ height: 8px;
127
+ border-radius: 50%;
128
+ background: var(--data-primary); /* active */
129
+ }
130
+ .status-dot.standby { background: var(--data-secondary); }
131
+ .status-dot.warning { background: var(--data-warning); }
132
+ .status-dot.alert { background: var(--data-alert); }
133
+ ```
134
+
135
+ ### Grid Lines
136
+
137
+ Reference marks for spatial orientation. Thin lines in `--data-tertiary`.
138
+
139
+ ## 5. Layout Principles
140
+
141
+ HUDs are overlay systems — they display over a visual field. The layout is absolute-positioned overlays on a transparent or dark background. Information density is high; whitespace is used to separate data clusters, not for aesthetics.
142
+
143
+ Key structural patterns:
144
+ - Grid lines reference the center of the display (crosshair)
145
+ - Data readouts cluster by update frequency (altitude updates slower than airspeed)
146
+ - Warning states override all other information layers
147
+
148
+ ## 6. Depth & Elevation
149
+
150
+ HUD overlays use opacity and glow rather than elevation shadows. Panels are distinguished by border color and subtle surface shifts, not drop shadows. The HUD exists in a single visual plane.
151
+
152
+ ## 7. Do's and Don'ts
153
+
154
+ - Do not use tertiary `#5A9A5A` for body or readout text — only grid lines and reference marks
155
+ - Do not animate elements that do not signal operational state
156
+ - Do not provide a light mode — a HUD only exists in low-light or high-glare conditions
157
+ - Do not use rounded corners greater than 50% (circle reticles only)
158
+ - Do not use gradients — flat color fills only
159
+ - Do not convey information by color alone — reinforce with position and label
160
+
161
+ ## 8. Responsive Behavior
162
+
163
+ HUD overlays are viewport-relative. On smaller viewports, data clusters compress proportionally. Critical readouts (speed, altitude, heading) remain visible at all sizes; secondary indicators hide or minimize. The layout uses a 12-column grid with absolute-positioned data panels anchored to screen edges.
164
+
165
+ ## 9. Agent Prompt Guide
166
+
167
+ When generating a HUD-style interface, prompt the model to:
168
+ - Use JetBrains Mono for all data readouts; Inter (uppercase) for labels only
169
+ - Set `--data-primary` to `#00FF41` for all active readouts
170
+ - Apply 150ms ease-out for state transitions, 100ms linear for data value changes
171
+ - Include a status indicator component with active/standby/warning/alert states
172
+ - Ensure all text passes 4.5:1 contrast on `#0A0A0A`
173
+ - Never add decorative animation or light mode variants
@@ -0,0 +1,136 @@
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>HUD - reference components</title>
7
+ <meta name="description" content="Reference fixture for design-systems/hud: HUD interface language with dark transparent panels, cyan telemetry, and compact status readouts." />
8
+ <style>
9
+ :root {
10
+ --bg: #090b12;
11
+ --surface: #121722;
12
+ --surface-warm: #1b2233;
13
+ --fg: #f8fafc;
14
+ --fg-2: #cbd5e1;
15
+ --muted: #94a3b8;
16
+ --meta: #60a5fa;
17
+ --border: #2a3447;
18
+ --border-soft: #1d2636;
19
+ --accent: #60a5fa;
20
+ --accent-on: #06101d;
21
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
22
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
23
+ --success: #22c55e;
24
+ --warn: #fbbf24;
25
+ --danger: #fb7185;
26
+ --font-display: "IBM Plex Mono", ui-monospace, monospace;
27
+ --font-body: "IBM Plex Mono", ui-monospace, monospace;
28
+ --font-mono: "IBM Plex Mono", ui-monospace, monospace;
29
+ --text-xs: 11px;
30
+ --text-sm: 12px;
31
+ --text-base: 14px;
32
+ --text-lg: 16px;
33
+ --text-xl: 20px;
34
+ --text-2xl: 28px;
35
+ --text-3xl: 40px;
36
+ --text-4xl: 56px;
37
+ --leading-body: 1.45;
38
+ --leading-tight: 1.06;
39
+ --tracking-display: -0.025em;
40
+ --space-1: 4px;
41
+ --space-2: 8px;
42
+ --space-3: 12px;
43
+ --space-4: 16px;
44
+ --space-5: 20px;
45
+ --space-6: 24px;
46
+ --space-8: 32px;
47
+ --space-12: 48px;
48
+ --section-y-desktop: 80px;
49
+ --section-y-tablet: 60px;
50
+ --section-y-phone: 42px;
51
+ --radius-sm: 10px;
52
+ --radius-md: 16px;
53
+ --radius-lg: 24px;
54
+ --radius-pill: 9999px;
55
+ --elev-flat: none;
56
+ --elev-ring: 0 0 0 1px var(--border);
57
+ --elev-raised: 0 24px 72px rgba(0, 0, 0, 0.42);
58
+ --focus-ring: 0 0 0 4px rgba(96, 165, 250, 0.28);
59
+ --motion-fast: 100ms;
60
+ --motion-base: 180ms;
61
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
62
+ --container-max: 1280px;
63
+ --container-gutter-desktop: 36px;
64
+ --container-gutter-tablet: 24px;
65
+ --container-gutter-phone: 16px;
66
+ }
67
+
68
+ *, *::before, *::after { box-sizing: border-box; }
69
+ html, body { margin: 0; padding: 0; }
70
+ body { min-height: 100vh; background: var(--bg); color: var(--fg); font-family: var(--font-body); font-size: var(--text-base); line-height: var(--leading-body); -webkit-font-smoothing: antialiased; }
71
+ .page { min-height: 100vh; background: radial-gradient(circle at 80% 8%, rgba(96, 165, 250, 0.24), transparent 34%), #090b12; }
72
+ .container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-gutter-desktop); }
73
+ section { padding-block: var(--section-y-desktop); }
74
+ @media (max-width: 1023px) { .container { padding-inline: var(--container-gutter-tablet); } section { padding-block: var(--section-y-tablet); } }
75
+ @media (max-width: 639px) { .container { padding-inline: var(--container-gutter-phone); } section { padding-block: var(--section-y-phone); } }
76
+ h1, h2, h3, p { margin: 0; }
77
+ h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-tight); letter-spacing: var(--tracking-display); }
78
+ h1 { max-width: 840px; font-size: var(--text-4xl); font-weight: 760; }
79
+ h2 { font-size: var(--text-3xl); font-weight: 700; }
80
+ h3 { font-size: var(--text-xl); font-weight: 700; }
81
+ .eyebrow { color: var(--meta); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
82
+ .lead { max-width: 640px; color: var(--fg-2); font-size: var(--text-lg); }
83
+ .hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr); gap: var(--space-8); align-items: center; }
84
+ .stack > * + * { margin-block-start: var(--space-4); }
85
+ .actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block-start: var(--space-6); }
86
+ .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 var(--space-5); border: 1px solid transparent; border-radius: var(--radius-md); font: 700 var(--text-sm) / 1 var(--font-body); color: inherit; text-decoration: none; cursor: pointer; transition: background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard); }
87
+ .btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
88
+ .btn-primary { background: var(--accent); color: var(--accent-on); }
89
+ .btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
90
+ .btn-secondary { background: var(--surface); color: var(--fg); border-color: var(--border); box-shadow: var(--elev-ring); }
91
+ .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
92
+ .panel { background: color-mix(in oklab, var(--surface), transparent 4%); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--elev-raised); overflow: hidden; }
93
+ .panel-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-5); border-bottom: 1px solid var(--border-soft); }
94
+ .status { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--meta); font: 700 var(--text-xs) / 1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.08em; }
95
+ .status::before { width: 8px; height: 8px; border-radius: var(--radius-pill); background: var(--success); content: ""; }
96
+ .metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border-soft); }
97
+ .metric { padding: var(--space-5); border-right: 1px solid var(--border-soft); }
98
+ .metric:last-child { border-right: 0; }
99
+ .metric strong { display: block; font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-tight); }
100
+ .metric span { color: var(--muted); font-size: var(--text-sm); }
101
+ .card-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding: var(--space-5); }
102
+ .mini-card { min-height: 148px; padding: var(--space-5); border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface-warm); }
103
+ .mini-card p, .tile p { color: var(--muted); font-size: var(--text-sm); margin-block-start: var(--space-3); }
104
+ .swatches { display: flex; gap: var(--space-2); margin-block-start: var(--space-4); }
105
+ .swatch { width: 32px; height: 32px; border-radius: var(--radius-sm); border: 1px solid var(--border); }
106
+ .swatch.accent { background: var(--accent); } .swatch.surface { background: var(--surface); } .swatch.warm { background: var(--surface-warm); } .swatch.fg { background: var(--fg); }
107
+ .field { display: grid; gap: var(--space-2); margin-block-start: var(--space-5); }
108
+ label { color: var(--fg-2); font-size: var(--text-sm); font-weight: 700; }
109
+ input { width: 100%; min-height: 46px; padding: 0 var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--fg); font: inherit; }
110
+ input:focus { outline: none; box-shadow: var(--focus-ring); border-color: var(--accent); }
111
+ .lower { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
112
+ .tile { padding: var(--space-5); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
113
+ @media (max-width: 860px) { .hero, .lower { grid-template-columns: 1fr; } .metric-grid, .card-row { grid-template-columns: 1fr; } .metric { border-right: 0; border-bottom: 1px solid var(--border-soft); } .metric:last-child { border-bottom: 0; } }
114
+ </style>
115
+ </head>
116
+ <body>
117
+ <main class="page">
118
+ <section>
119
+ <div class="container hero">
120
+ <div class="stack">
121
+ <p class="eyebrow">HUD design system</p>
122
+ <h1>Heads-up display overlay</h1>
123
+ <p class="lead">Transparent tactical panels, scanning metrics, and high-contrast status overlays.</p>
124
+ <div class="actions" aria-label="Reference actions"><a class="btn btn-primary" href="#">Primary action</a><a class="btn btn-secondary" href="#">Secondary action</a></div>
125
+ </div>
126
+ <article class="panel" aria-label="HUD component preview">
127
+ <div class="panel-head"><div><p class="eyebrow">Live module</p><h3>Reference component</h3></div><span class="status">online</span></div>
128
+ <div class="metric-grid"><div class="metric"><strong>98%</strong><span>Signal quality</span></div><div class="metric"><strong>24</strong><span>Active flows</span></div><div class="metric"><strong>3.2s</strong><span>Response time</span></div></div>
129
+ <div class="card-row"><div class="mini-card"><h3>Palette</h3><p>HUD interface language with dark transparent panels, cyan telemetry, and compact status readouts.</p><div class="swatches" aria-label="Token swatches"><span class="swatch accent"></span><span class="swatch surface"></span><span class="swatch warm"></span><span class="swatch fg"></span></div></div><div class="mini-card"><h3>Control</h3><p>Focus, hover, and status states share the same system signal.</p><div class="field"><label for="hud-input">Reference input</label><input id="hud-input" value="HUD system token" /></div></div></div>
130
+ </article>
131
+ </div>
132
+ </section>
133
+ <section><div class="container lower"><article class="tile"><p class="eyebrow">Typography</p><h2>Display rhythm</h2><p>Headlines use the display stack with the declared scale and leading.</p></article><article class="tile"><p class="eyebrow">Surface</p><h2>Layer system</h2><p>Cards, warm panels, borders, and raised states resolve through shared tokens.</p></article><article class="tile"><p class="eyebrow">Interaction</p><h2>Motion states</h2><p>Buttons, inputs, and panels use system-specific focus rings and easing.</p></article></div></section>
134
+ </main>
135
+ </body>
136
+ </html>
@@ -0,0 +1,63 @@
1
+ /* design-systems/hud/tokens.css
2
+ * Structured token bindings for HUD.
3
+ * HUD interface language with dark transparent panels, cyan telemetry, and compact status readouts.
4
+ */
5
+
6
+ :root {
7
+ --bg: #090b12;
8
+ --surface: #121722;
9
+ --surface-warm: #1b2233;
10
+ --fg: #f8fafc;
11
+ --fg-2: #cbd5e1;
12
+ --muted: #94a3b8;
13
+ --meta: #60a5fa;
14
+ --border: #2a3447;
15
+ --border-soft: #1d2636;
16
+ --accent: #60a5fa;
17
+ --accent-on: #06101d;
18
+ --accent-hover: color-mix(in oklab, var(--accent), black 8%);
19
+ --accent-active: color-mix(in oklab, var(--accent), black 14%);
20
+ --success: #22c55e;
21
+ --warn: #fbbf24;
22
+ --danger: #fb7185;
23
+ --font-display: "IBM Plex Mono", ui-monospace, monospace;
24
+ --font-body: "IBM Plex Mono", ui-monospace, monospace;
25
+ --font-mono: "IBM Plex Mono", ui-monospace, monospace;
26
+ --text-xs: 11px;
27
+ --text-sm: 12px;
28
+ --text-base: 14px;
29
+ --text-lg: 16px;
30
+ --text-xl: 20px;
31
+ --text-2xl: 28px;
32
+ --text-3xl: 40px;
33
+ --text-4xl: 56px;
34
+ --leading-body: 1.45;
35
+ --leading-tight: 1.06;
36
+ --tracking-display: -0.025em;
37
+ --space-1: 4px;
38
+ --space-2: 8px;
39
+ --space-3: 12px;
40
+ --space-4: 16px;
41
+ --space-5: 20px;
42
+ --space-6: 24px;
43
+ --space-8: 32px;
44
+ --space-12: 48px;
45
+ --section-y-desktop: 80px;
46
+ --section-y-tablet: 60px;
47
+ --section-y-phone: 42px;
48
+ --radius-sm: 10px;
49
+ --radius-md: 16px;
50
+ --radius-lg: 24px;
51
+ --radius-pill: 9999px;
52
+ --elev-flat: none;
53
+ --elev-ring: 0 0 0 1px var(--border);
54
+ --elev-raised: 0 24px 72px rgba(0, 0, 0, 0.42);
55
+ --focus-ring: 0 0 0 4px rgba(96, 165, 250, 0.28);
56
+ --motion-fast: 100ms;
57
+ --motion-base: 180ms;
58
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
59
+ --container-max: 1280px;
60
+ --container-gutter-desktop: 36px;
61
+ --container-gutter-tablet: 24px;
62
+ --container-gutter-phone: 16px;
63
+ }