oh-my-design-cli 0.1.0

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 (317) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +145 -0
  3. package/README.ko.md +245 -0
  4. package/README.md +245 -0
  5. package/README.zh-TW.md +145 -0
  6. package/data/reference-tags.md +104 -0
  7. package/data/synonyms.json +79 -0
  8. package/data/vocabulary.json +516 -0
  9. package/dist/bin/oh-my-design.js +858 -0
  10. package/dist/bin/oh-my-design.js.map +1 -0
  11. package/dist/chunk-6YNSV3VY.js +35 -0
  12. package/dist/chunk-6YNSV3VY.js.map +1 -0
  13. package/dist/chunk-MHFYGZSO.js +337 -0
  14. package/dist/chunk-MHFYGZSO.js.map +1 -0
  15. package/dist/chunk-N2JG6N4Q.js +264 -0
  16. package/dist/chunk-N2JG6N4Q.js.map +1 -0
  17. package/dist/chunk-OOQQEUGX.js +46 -0
  18. package/dist/chunk-OOQQEUGX.js.map +1 -0
  19. package/dist/chunk-OR5DHENY.js +250 -0
  20. package/dist/chunk-OR5DHENY.js.map +1 -0
  21. package/dist/customizer-CM76752R.js +8 -0
  22. package/dist/customizer-CM76752R.js.map +1 -0
  23. package/dist/index.d.ts +559 -0
  24. package/dist/index.js +3113 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/init-STACB7E5.js +635 -0
  27. package/dist/init-STACB7E5.js.map +1 -0
  28. package/dist/install-skills-CM6VXFZJ.js +152 -0
  29. package/dist/install-skills-CM6VXFZJ.js.map +1 -0
  30. package/dist/learn-33LHKEJA.js +140 -0
  31. package/dist/learn-33LHKEJA.js.map +1 -0
  32. package/dist/reference-YMNAOXJQ.js +47 -0
  33. package/dist/reference-YMNAOXJQ.js.map +1 -0
  34. package/dist/reference-parser-TM3CJPNE.js +10 -0
  35. package/dist/reference-parser-TM3CJPNE.js.map +1 -0
  36. package/dist/remember-UAFA5B2O.js +78 -0
  37. package/dist/remember-UAFA5B2O.js.map +1 -0
  38. package/dist/sync-P7X4S2DK.js +404 -0
  39. package/dist/sync-P7X4S2DK.js.map +1 -0
  40. package/dist/templates/templates/design-md.hbs +44 -0
  41. package/dist/templates/templates/partials/agent-prompt-guide.hbs +28 -0
  42. package/dist/templates/templates/partials/color-palette.hbs +49 -0
  43. package/dist/templates/templates/partials/component-stylings.hbs +28 -0
  44. package/dist/templates/templates/partials/depth-elevation.hbs +31 -0
  45. package/dist/templates/templates/partials/dos-donts.hbs +13 -0
  46. package/dist/templates/templates/partials/layout.hbs +30 -0
  47. package/dist/templates/templates/partials/responsive.hbs +25 -0
  48. package/dist/templates/templates/partials/shadcn-tokens.hbs +64 -0
  49. package/dist/templates/templates/partials/typography.hbs +43 -0
  50. package/dist/templates/templates/partials/visual-theme.hbs +26 -0
  51. package/package.json +68 -0
  52. package/references/Claude-Design-Sys-Prompt.txt +421 -0
  53. package/references/airbnb/DESIGN.md +427 -0
  54. package/references/airbnb/README.md +23 -0
  55. package/references/airbnb/preview-dark.html +234 -0
  56. package/references/airbnb/preview.html +233 -0
  57. package/references/airtable/DESIGN.md +107 -0
  58. package/references/airtable/README.md +23 -0
  59. package/references/airtable/preview-dark.html +165 -0
  60. package/references/airtable/preview.html +164 -0
  61. package/references/apple/DESIGN.md +496 -0
  62. package/references/apple/README.md +24 -0
  63. package/references/apple/preview-dark.html +420 -0
  64. package/references/apple/preview.html +414 -0
  65. package/references/baemin/DESIGN.md +260 -0
  66. package/references/baemin/README.md +19 -0
  67. package/references/bmw/DESIGN.md +180 -0
  68. package/references/bmw/README.md +23 -0
  69. package/references/bmw/preview-dark.html +211 -0
  70. package/references/bmw/preview.html +210 -0
  71. package/references/cal/DESIGN.md +259 -0
  72. package/references/cal/README.md +23 -0
  73. package/references/cal/preview-dark.html +449 -0
  74. package/references/cal/preview.html +575 -0
  75. package/references/claude/DESIGN.md +455 -0
  76. package/references/claude/README.md +24 -0
  77. package/references/claude/preview-dark.html +803 -0
  78. package/references/claude/preview.html +826 -0
  79. package/references/clay/DESIGN.md +304 -0
  80. package/references/clay/README.md +23 -0
  81. package/references/clay/preview-dark.html +316 -0
  82. package/references/clay/preview.html +315 -0
  83. package/references/clickhouse/DESIGN.md +281 -0
  84. package/references/clickhouse/README.md +24 -0
  85. package/references/clickhouse/preview-dark.html +834 -0
  86. package/references/clickhouse/preview.html +786 -0
  87. package/references/cohere/DESIGN.md +266 -0
  88. package/references/cohere/README.md +24 -0
  89. package/references/cohere/preview-dark.html +803 -0
  90. package/references/cohere/preview.html +807 -0
  91. package/references/coinbase/DESIGN.md +129 -0
  92. package/references/coinbase/README.md +23 -0
  93. package/references/coinbase/preview-dark.html +164 -0
  94. package/references/coinbase/preview.html +163 -0
  95. package/references/composio/DESIGN.md +307 -0
  96. package/references/composio/README.md +24 -0
  97. package/references/composio/preview-dark.html +958 -0
  98. package/references/composio/preview.html +933 -0
  99. package/references/cursor/DESIGN.md +322 -0
  100. package/references/cursor/README.md +24 -0
  101. package/references/cursor/preview-dark.html +393 -0
  102. package/references/cursor/preview.html +383 -0
  103. package/references/dcard/DESIGN.md +302 -0
  104. package/references/dcard/README.md +12 -0
  105. package/references/dcard/_research/forum-1440px.png +0 -0
  106. package/references/dcard/_research.md +77 -0
  107. package/references/elevenlabs/DESIGN.md +265 -0
  108. package/references/elevenlabs/README.md +23 -0
  109. package/references/elevenlabs/preview-dark.html +252 -0
  110. package/references/elevenlabs/preview.html +251 -0
  111. package/references/expo/DESIGN.md +281 -0
  112. package/references/expo/README.md +24 -0
  113. package/references/expo/preview-dark.html +533 -0
  114. package/references/expo/preview.html +533 -0
  115. package/references/ferrari/DESIGN.md +314 -0
  116. package/references/ferrari/README.md +23 -0
  117. package/references/ferrari/preview-dark.html +1162 -0
  118. package/references/ferrari/preview.html +1122 -0
  119. package/references/figma/DESIGN.md +399 -0
  120. package/references/figma/README.md +24 -0
  121. package/references/figma/preview-dark.html +822 -0
  122. package/references/figma/preview.html +832 -0
  123. package/references/framer/DESIGN.md +246 -0
  124. package/references/framer/README.md +23 -0
  125. package/references/framer/preview-dark.html +902 -0
  126. package/references/framer/preview.html +883 -0
  127. package/references/freee/DESIGN.md +308 -0
  128. package/references/freee/README.md +12 -0
  129. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  130. package/references/freee/_research.md +77 -0
  131. package/references/hashicorp/DESIGN.md +278 -0
  132. package/references/hashicorp/README.md +24 -0
  133. package/references/hashicorp/preview-dark.html +1202 -0
  134. package/references/hashicorp/preview.html +1193 -0
  135. package/references/ibm/DESIGN.md +332 -0
  136. package/references/ibm/README.md +24 -0
  137. package/references/ibm/preview-dark.html +443 -0
  138. package/references/ibm/preview.html +428 -0
  139. package/references/intercom/DESIGN.md +146 -0
  140. package/references/intercom/README.md +23 -0
  141. package/references/intercom/preview-dark.html +185 -0
  142. package/references/intercom/preview.html +184 -0
  143. package/references/kakao/DESIGN.md +261 -0
  144. package/references/kakao/README.md +18 -0
  145. package/references/karrot/DESIGN.md +252 -0
  146. package/references/karrot/README.md +18 -0
  147. package/references/kraken/DESIGN.md +146 -0
  148. package/references/kraken/README.md +23 -0
  149. package/references/kraken/preview-dark.html +169 -0
  150. package/references/kraken/preview.html +168 -0
  151. package/references/lamborghini/DESIGN.md +288 -0
  152. package/references/lamborghini/README.md +23 -0
  153. package/references/lamborghini/preview-dark.html +303 -0
  154. package/references/lamborghini/preview.html +381 -0
  155. package/references/line/DESIGN.md +375 -0
  156. package/references/line/README.md +12 -0
  157. package/references/line/_research/home-1440px.png +0 -0
  158. package/references/line/_research.md +65 -0
  159. package/references/linear.app/DESIGN.md +526 -0
  160. package/references/linear.app/README.md +24 -0
  161. package/references/linear.app/preview-dark.html +383 -0
  162. package/references/linear.app/preview.html +373 -0
  163. package/references/lovable/DESIGN.md +298 -0
  164. package/references/lovable/README.md +24 -0
  165. package/references/lovable/preview-dark.html +349 -0
  166. package/references/lovable/preview.html +348 -0
  167. package/references/mercari/DESIGN.md +294 -0
  168. package/references/mercari/README.md +12 -0
  169. package/references/mercari/_research/home-1440px.png +0 -0
  170. package/references/mercari/_research.md +77 -0
  171. package/references/minimax/DESIGN.md +257 -0
  172. package/references/minimax/README.md +24 -0
  173. package/references/minimax/preview-dark.html +1262 -0
  174. package/references/minimax/preview.html +1248 -0
  175. package/references/mintlify/DESIGN.md +341 -0
  176. package/references/mintlify/README.md +24 -0
  177. package/references/mintlify/preview-dark.html +409 -0
  178. package/references/mintlify/preview.html +398 -0
  179. package/references/miro/DESIGN.md +108 -0
  180. package/references/miro/README.md +23 -0
  181. package/references/miro/preview-dark.html +174 -0
  182. package/references/miro/preview.html +173 -0
  183. package/references/mistral.ai/DESIGN.md +261 -0
  184. package/references/mistral.ai/README.md +24 -0
  185. package/references/mistral.ai/preview-dark.html +806 -0
  186. package/references/mistral.ai/preview.html +805 -0
  187. package/references/mongodb/DESIGN.md +266 -0
  188. package/references/mongodb/README.md +23 -0
  189. package/references/mongodb/preview-dark.html +260 -0
  190. package/references/mongodb/preview.html +259 -0
  191. package/references/notion/DESIGN.md +492 -0
  192. package/references/notion/README.md +24 -0
  193. package/references/notion/preview-dark.html +372 -0
  194. package/references/notion/preview.html +364 -0
  195. package/references/nvidia/DESIGN.md +308 -0
  196. package/references/nvidia/README.md +24 -0
  197. package/references/nvidia/preview-dark.html +374 -0
  198. package/references/nvidia/preview.html +366 -0
  199. package/references/ollama/DESIGN.md +267 -0
  200. package/references/ollama/README.md +24 -0
  201. package/references/ollama/preview-dark.html +678 -0
  202. package/references/ollama/preview.html +678 -0
  203. package/references/opencode.ai/DESIGN.md +295 -0
  204. package/references/opencode.ai/README.md +24 -0
  205. package/references/opencode.ai/preview-dark.html +366 -0
  206. package/references/opencode.ai/preview.html +357 -0
  207. package/references/pinkoi/DESIGN.md +309 -0
  208. package/references/pinkoi/README.md +12 -0
  209. package/references/pinkoi/_research/browse-1440px.png +0 -0
  210. package/references/pinkoi/_research.md +115 -0
  211. package/references/pinterest/DESIGN.md +230 -0
  212. package/references/pinterest/README.md +23 -0
  213. package/references/pinterest/preview-dark.html +233 -0
  214. package/references/pinterest/preview.html +232 -0
  215. package/references/posthog/DESIGN.md +256 -0
  216. package/references/posthog/README.md +23 -0
  217. package/references/posthog/preview-dark.html +699 -0
  218. package/references/posthog/preview.html +749 -0
  219. package/references/raycast/DESIGN.md +268 -0
  220. package/references/raycast/README.md +23 -0
  221. package/references/raycast/preview-dark.html +606 -0
  222. package/references/raycast/preview.html +688 -0
  223. package/references/renault/DESIGN.md +311 -0
  224. package/references/renault/README.md +23 -0
  225. package/references/renault/preview-dark.html +406 -0
  226. package/references/renault/preview.html +606 -0
  227. package/references/replicate/DESIGN.md +261 -0
  228. package/references/replicate/README.md +24 -0
  229. package/references/replicate/preview-dark.html +828 -0
  230. package/references/replicate/preview.html +831 -0
  231. package/references/resend/DESIGN.md +303 -0
  232. package/references/resend/README.md +23 -0
  233. package/references/resend/preview-dark.html +355 -0
  234. package/references/resend/preview.html +354 -0
  235. package/references/revolut/DESIGN.md +185 -0
  236. package/references/revolut/README.md +23 -0
  237. package/references/revolut/preview-dark.html +234 -0
  238. package/references/revolut/preview.html +233 -0
  239. package/references/runwayml/DESIGN.md +244 -0
  240. package/references/runwayml/README.md +24 -0
  241. package/references/runwayml/preview-dark.html +664 -0
  242. package/references/runwayml/preview.html +665 -0
  243. package/references/sanity/DESIGN.md +357 -0
  244. package/references/sanity/README.md +24 -0
  245. package/references/sanity/preview-dark.html +990 -0
  246. package/references/sanity/preview.html +1135 -0
  247. package/references/sentry/DESIGN.md +262 -0
  248. package/references/sentry/README.md +24 -0
  249. package/references/sentry/preview-dark.html +626 -0
  250. package/references/sentry/preview.html +951 -0
  251. package/references/spacex/DESIGN.md +205 -0
  252. package/references/spacex/README.md +23 -0
  253. package/references/spacex/preview-dark.html +221 -0
  254. package/references/spacex/preview.html +220 -0
  255. package/references/spotify/DESIGN.md +246 -0
  256. package/references/spotify/README.md +23 -0
  257. package/references/spotify/preview-dark.html +231 -0
  258. package/references/spotify/preview.html +230 -0
  259. package/references/stripe/DESIGN.md +473 -0
  260. package/references/stripe/README.md +24 -0
  261. package/references/stripe/preview-dark.html +428 -0
  262. package/references/stripe/preview.html +419 -0
  263. package/references/supabase/DESIGN.md +255 -0
  264. package/references/supabase/README.md +24 -0
  265. package/references/supabase/preview-dark.html +977 -0
  266. package/references/supabase/preview.html +955 -0
  267. package/references/superhuman/DESIGN.md +252 -0
  268. package/references/superhuman/README.md +23 -0
  269. package/references/superhuman/preview-dark.html +973 -0
  270. package/references/superhuman/preview.html +951 -0
  271. package/references/tesla/DESIGN.md +286 -0
  272. package/references/tesla/README.md +23 -0
  273. package/references/tesla/preview-dark.html +947 -0
  274. package/references/tesla/preview.html +925 -0
  275. package/references/together.ai/DESIGN.md +263 -0
  276. package/references/together.ai/README.md +24 -0
  277. package/references/together.ai/preview-dark.html +892 -0
  278. package/references/together.ai/preview.html +897 -0
  279. package/references/toss/DESIGN.md +387 -0
  280. package/references/toss/README.md +19 -0
  281. package/references/uber/DESIGN.md +295 -0
  282. package/references/uber/README.md +24 -0
  283. package/references/uber/preview-dark.html +1120 -0
  284. package/references/uber/preview.html +1119 -0
  285. package/references/vercel/DESIGN.md +456 -0
  286. package/references/vercel/README.md +24 -0
  287. package/references/vercel/preview-dark.html +368 -0
  288. package/references/vercel/preview.html +367 -0
  289. package/references/voltagent/DESIGN.md +323 -0
  290. package/references/voltagent/README.md +24 -0
  291. package/references/voltagent/preview-dark.html +487 -0
  292. package/references/voltagent/preview.html +766 -0
  293. package/references/warp/DESIGN.md +253 -0
  294. package/references/warp/README.md +23 -0
  295. package/references/warp/preview-dark.html +500 -0
  296. package/references/warp/preview.html +533 -0
  297. package/references/webflow/DESIGN.md +109 -0
  298. package/references/webflow/README.md +23 -0
  299. package/references/webflow/preview-dark.html +147 -0
  300. package/references/webflow/preview.html +146 -0
  301. package/references/wise/DESIGN.md +173 -0
  302. package/references/wise/README.md +23 -0
  303. package/references/wise/preview-dark.html +230 -0
  304. package/references/wise/preview.html +229 -0
  305. package/references/x.ai/DESIGN.md +267 -0
  306. package/references/x.ai/README.md +24 -0
  307. package/references/x.ai/preview-dark.html +356 -0
  308. package/references/x.ai/preview.html +407 -0
  309. package/references/zapier/DESIGN.md +328 -0
  310. package/references/zapier/README.md +24 -0
  311. package/references/zapier/preview-dark.html +380 -0
  312. package/references/zapier/preview.html +372 -0
  313. package/skills/omd-apply/SKILL.md +85 -0
  314. package/skills/omd-init/SKILL.md +167 -0
  315. package/skills/omd-learn/SKILL.md +81 -0
  316. package/skills/omd-remember/SKILL.md +44 -0
  317. package/skills/omd-sync/SKILL.md +38 -0
@@ -0,0 +1,295 @@
1
+ # Design System Inspiration of OpenCode
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ OpenCode's website embodies a terminal-native, monospace-first aesthetic that reflects its identity as an open source AI coding agent. The entire visual system is built on a stark dark-on-light contrast using a near-black background (`#201d1d`) with warm off-white text (`#fdfcfc`). This isn't a generic dark theme -- it's a warm, slightly reddish-brown dark that feels like a sophisticated terminal emulator rather than a cold IDE. The warm undertone in both the darks and lights (notice the subtle red channel in `#201d1d` -- rgb(32, 29, 29)) creates a cohesive, lived-in quality.
6
+
7
+ Berkeley Mono is the sole typeface, establishing an unapologetic monospace identity. Every element -- headings, body text, buttons, navigation -- shares this single font family, creating a unified "everything is code" philosophy. The heading at 38px bold with 1.50 line-height is generous and readable, while body text at 16px with weight 500 provides a slightly heavier-than-normal reading weight that enhances legibility on screen. The monospace grid naturally enforces alignment and rhythm across the layout.
8
+
9
+ The color system is deliberately minimal. The primary palette consists of just three functional tones: the warm near-black (`#201d1d`), a medium warm gray (`#9a9898`), and a bright off-white (`#fdfcfc`). Semantic colors borrow from the Apple HIG palette -- blue accent (`#007aff`), red danger (`#ff3b30`), green success (`#30d158`), orange warning (`#ff9f0a`) -- giving the interface familiar, trustworthy signal colors without adding brand complexity. Borders use a subtle warm transparency (`rgba(15, 0, 0, 0.12)`) that ties into the warm undertone of the entire system.
10
+
11
+ **Key Characteristics:**
12
+ - Berkeley Mono as the sole typeface -- monospace everywhere, no sans-serif or serif voices
13
+ - Warm near-black primary (`#201d1d`) with reddish-brown undertone, not pure black
14
+ - Off-white text (`#fdfcfc`) with warm tint, not pure white
15
+ - Minimal 4px border radius throughout -- sharp, utilitarian corners
16
+ - 8px base spacing system scaling up to 96px
17
+ - Apple HIG-inspired semantic colors (blue, red, green, orange)
18
+ - Transparent warm borders using `rgba(15, 0, 0, 0.12)`
19
+ - Email input with generous 20px padding and 6px radius -- the most generous component radius
20
+ - Single button variant: dark background, light text, tight vertical padding (4px 20px)
21
+ - Underlined links as default link style, reinforcing the text-centric identity
22
+
23
+ ### Do's and Don'ts
24
+
25
+ - **DO** use Berkeley Mono everywhere — headings, body, buttons, navigation, labels. The single-font system IS the brand.
26
+ - **DON'T** introduce a sans-serif or serif voice — even for "marketing" copy. Mixing voices breaks OpenCode's terminal-native identity.
27
+ - **DO** use warm dark `#201d1d` (rgb 32, 29, 29) as background — the subtle red undertone is intentional.
28
+ - **DON'T** use pure `#000000` or cool grays — they feel like generic dark themes, not OpenCode's lived-in terminal warmth.
29
+ - **DO** use warm off-white `#fdfcfc` for foreground text — pure white is too cold against the warm dark.
30
+ - **DO** use 4px border radius universally — sharp, utilitarian corners match the developer-tool aesthetic.
31
+ - **DON'T** use rounded or pill-shaped components — that's consumer/marketing language.
32
+ - **DO** apply Apple HIG semantic colors (blue `#007aff`, red `#ff3b30`, green `#30d158`, orange `#ff9f0a`) for status — they're trustworthy signals without adding brand complexity.
33
+ - **DON'T** invent custom semantic colors — the Apple palette is the convention developers expect.
34
+ - **DO** underline links by default — text-centric identity reinforces "everything is code."
35
+ - **DON'T** use color-only link styling without underline — accessibility AND identity benefit from the underline.
36
+
37
+ ## 2. Color Palette & Roles
38
+
39
+ ### Primary
40
+ - **OpenCode Dark** (`#201d1d`): Primary background, button fills, link text. A warm near-black with subtle reddish-brown warmth -- rgb(32, 29, 29).
41
+ - **OpenCode Light** (`#fdfcfc`): Primary text on dark surfaces, button text. A barely-warm off-white that avoids clinical pure white.
42
+ - **Mid Gray** (`#9a9898`): Secondary text, muted links. A neutral warm gray that bridges dark and light.
43
+
44
+ ### Secondary
45
+ - **Dark Surface** (`#302c2c`): Slightly lighter than primary dark, used for elevated surfaces and subtle differentiation.
46
+ - **Border Gray** (`#646262`): Stronger borders, outline rings on interactive elements.
47
+ - **Light Surface** (`#f1eeee`): Light mode surface, subtle background variation.
48
+
49
+ ### Accent
50
+ - **Accent Blue** (`#007aff`): Primary accent, links, interactive highlights. Apple system blue.
51
+ - **Accent Blue Hover** (`#0056b3`): Darker blue for hover states.
52
+ - **Accent Blue Active** (`#004085`): Deepest blue for pressed/active states.
53
+
54
+ ### Semantic
55
+ - **Danger Red** (`#ff3b30`): Error states, destructive actions. Apple system red.
56
+ - **Danger Hover** (`#d70015`): Darker red for hover on danger elements.
57
+ - **Danger Active** (`#a50011`): Deepest red for pressed danger states.
58
+ - **Success Green** (`#30d158`): Success states, positive feedback. Apple system green.
59
+ - **Warning Orange** (`#ff9f0a`): Warning states, caution signals. Apple system orange.
60
+ - **Warning Hover** (`#cc7f08`): Darker orange for hover on warning elements.
61
+ - **Warning Active** (`#995f06`): Deepest orange for pressed warning states.
62
+
63
+ ### Text Scale
64
+ - **Text Muted** (`#6e6e73`): Muted labels, disabled text, placeholder content.
65
+ - **Text Secondary** (`#424245`): Secondary text on light backgrounds, captions.
66
+
67
+ ### Border
68
+ - **Border Warm** (`rgba(15, 0, 0, 0.12)`): Primary border color, warm transparent black with red tint.
69
+ - **Border Tab** (`#9a9898`): Tab underline border, 2px solid bottom.
70
+ - **Border Outline** (`#646262`): 1px solid outline border for containers.
71
+
72
+ ## 3. Typography Rules
73
+
74
+ ### Font Family
75
+ - **Universal**: `Berkeley Mono`, with fallbacks: `IBM Plex Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace`
76
+
77
+ ### Hierarchy
78
+
79
+ | Role | Size | Weight | Line Height | Notes |
80
+ |------|------|--------|-------------|-------|
81
+ | Heading 1 | 38px (2.38rem) | 700 | 1.50 | Hero headlines, page titles |
82
+ | Heading 2 | 16px (1.00rem) | 700 | 1.50 | Section titles, bold emphasis |
83
+ | Body | 16px (1.00rem) | 400 | 1.50 | Standard body text, paragraphs |
84
+ | Body Medium | 16px (1.00rem) | 500 | 1.50 | Links, button text, nav items |
85
+ | Body Tight | 16px (1.00rem) | 500 | 1.00 (tight) | Compact labels, tab items |
86
+ | Caption | 14px (0.88rem) | 400 | 2.00 (relaxed) | Footnotes, metadata, small labels |
87
+
88
+ ### Principles
89
+ - **One font, one voice**: Berkeley Mono is used exclusively. There is no typographic variation between display, body, and code -- everything speaks in the same monospace register. Hierarchy is achieved through size and weight alone.
90
+ - **Weight as hierarchy**: 700 for headings, 500 for interactive/medium emphasis, 400 for body text. Three weight levels create the entire hierarchy.
91
+ - **Generous line-height**: 1.50 as the standard line-height gives text room to breathe within the monospace grid. The relaxed 2.00 line-height on captions creates clear visual separation.
92
+ - **Tight for interaction**: Interactive elements (tabs, compact labels) use 1.00 line-height for dense, clickable targets.
93
+
94
+ ## 4. Component Stylings
95
+
96
+ ### Buttons
97
+
98
+ **Primary (Dark Fill)**
99
+ - Background: `#201d1d` (OpenCode Dark)
100
+ - Text: `#fdfcfc` (OpenCode Light)
101
+ - Padding: 4px 20px
102
+ - Radius: 4px
103
+ - Font: 16px Berkeley Mono, weight 500, line-height 2.00 (relaxed)
104
+ - Outline: `rgb(253, 252, 252) none 0px`
105
+ - Use: Primary CTAs, main actions
106
+
107
+ ### Inputs
108
+
109
+ **Email Input**
110
+ - Background: `#f8f7f7` (light neutral)
111
+ - Text: `#201d1d`
112
+ - Border: `1px solid rgba(15, 0, 0, 0.12)`
113
+ - Padding: 20px
114
+ - Radius: 6px
115
+ - Font: Berkeley Mono, standard size
116
+ - Use: Form fields, email capture
117
+
118
+ ### Links
119
+
120
+ **Default Link**
121
+ - Color: `#201d1d`
122
+ - Decoration: underline 1px
123
+ - Font-weight: 500
124
+ - Use: Primary text links in body content
125
+
126
+ **Light Link**
127
+ - Color: `#fdfcfc`
128
+ - Decoration: none
129
+ - Use: Links on dark backgrounds, navigation
130
+
131
+ **Muted Link**
132
+ - Color: `#9a9898`
133
+ - Decoration: none
134
+ - Use: Footer links, secondary navigation
135
+
136
+ ### Tabs
137
+
138
+ **Tab Navigation**
139
+ - Border-bottom: `2px solid #9a9898` (active tab indicator)
140
+ - Font: 16px, weight 500, line-height 1.00
141
+ - Use: Section switching, content filtering
142
+
143
+ ### Navigation
144
+ - Clean horizontal layout with Berkeley Mono throughout
145
+ - Brand logotype left-aligned in monospace
146
+ - Links at 16px weight 500 with underline decoration
147
+ - Dark background matching page background
148
+ - No backdrop blur or transparency -- solid surfaces only
149
+
150
+ ### Image Treatment
151
+ - Terminal/code screenshots as hero imagery
152
+ - Dark terminal aesthetic with monospace type
153
+ - Minimal borders, content speaks for itself
154
+
155
+ ### Distinctive Components
156
+
157
+ **Terminal Hero**
158
+ - Full-width dark terminal window as hero element
159
+ - ASCII art / stylized logo within terminal frame
160
+ - Monospace command examples with syntax highlighting
161
+ - Reinforces the CLI-first identity of the product
162
+
163
+ **Feature List**
164
+ - Bulleted feature items with Berkeley Mono text
165
+ - Weight 500 for feature names, 400 for descriptions
166
+ - Tight vertical spacing between items
167
+ - No cards or borders -- pure text layout
168
+
169
+ **Email Capture**
170
+ - Light background input (`#f8f7f7`) contrasting dark page
171
+ - Generous 20px padding for comfortable typing
172
+ - 6px radius -- the roundest element in the system
173
+ - Newsletter/waitlist pattern
174
+
175
+ ## 5. Layout Principles
176
+
177
+ ### Spacing System
178
+ - Base unit: 8px
179
+ - Fine scale: 1px, 2px, 4px (sub-8px for borders and micro-adjustments)
180
+ - Standard scale: 8px, 12px, 16px, 20px, 24px
181
+ - Extended scale: 32px, 40px, 48px, 64px, 80px, 96px
182
+ - The system follows a clean 4/8px grid with consistent doubling
183
+
184
+ ### Grid & Container
185
+ - Max content width: approximately 800-900px (narrow, reading-optimized)
186
+ - Single-column layout as the primary pattern
187
+ - Centered content with generous horizontal margins
188
+ - Hero section: full-width dark terminal element
189
+ - Feature sections: single-column text blocks
190
+ - Footer: multi-column link grid
191
+
192
+ ### Whitespace Philosophy
193
+ - **Monospace rhythm**: The fixed-width nature of Berkeley Mono creates a natural vertical grid. Line-heights of 1.50 and 2.00 maintain consistent rhythm.
194
+ - **Narrow and focused**: Content is constrained to a narrow column, creating generous side margins that focus attention on the text.
195
+ - **Sections through spacing**: No decorative dividers. Sections are separated by generous vertical spacing (48-96px) rather than borders or background changes.
196
+
197
+ ### Border Radius Scale
198
+ - Micro (4px): Default for all elements -- buttons, containers, badges
199
+ - Input (6px): Form inputs get slightly more roundness
200
+ - The entire system uses just two radius values, reinforcing the utilitarian aesthetic
201
+
202
+ ## 6. Depth & Elevation
203
+
204
+ | Level | Treatment | Use |
205
+ |-------|-----------|-----|
206
+ | Flat (Level 0) | No shadow, no border | Default state for most elements |
207
+ | Border Subtle (Level 1) | `1px solid rgba(15, 0, 0, 0.12)` | Section dividers, input borders, horizontal rules |
208
+ | Border Tab (Level 2) | `2px solid #9a9898` bottom only | Active tab indicator |
209
+ | Border Outline (Level 3) | `1px solid #646262` | Container outlines, elevated elements |
210
+
211
+ **Shadow Philosophy**: OpenCode's depth system is intentionally flat. There are no box-shadows in the extracted tokens -- zero shadow values were detected. Depth is communicated exclusively through border treatments and background color shifts. This flatness is consistent with the terminal aesthetic: terminals don't have shadows, and neither does OpenCode. The three border levels (transparent warm, tab indicator, solid outline) create sufficient visual hierarchy without any elevation illusion.
212
+
213
+ ### Decorative Depth
214
+ - Background color shifts between `#201d1d` and `#302c2c` create subtle surface differentiation
215
+ - Transparent borders at 12% opacity provide barely-visible structure
216
+ - The warm reddish tint in border colors (`rgba(15, 0, 0, 0.12)`) ties borders to the overall warm dark palette
217
+ - No gradients, no blurs, no ambient effects -- pure flat terminal aesthetic
218
+
219
+ ## 7. Interaction & Motion
220
+
221
+ ### Hover States
222
+ - Links: color shift from default to accent blue (`#007aff`) or underline style change
223
+ - Buttons: subtle background lightening or border emphasis
224
+ - Accent blue provides a three-stage hover sequence: `#007aff` → `#0056b3` → `#004085` (default → hover → active)
225
+ - Danger red: `#ff3b30` → `#d70015` → `#a50011`
226
+ - Warning orange: `#ff9f0a` → `#cc7f08` → `#995f06`
227
+
228
+ ### Focus States
229
+ - Border-based focus: increased border opacity or solid border color
230
+ - No shadow-based focus rings -- consistent with the flat, no-shadow aesthetic
231
+ - Keyboard focus likely uses outline or border color shift to accent blue
232
+
233
+ ### Transitions
234
+ - Minimal transitions expected -- terminal-inspired interfaces favor instant state changes
235
+ - Color transitions: 100-150ms for subtle state feedback
236
+ - No scale, rotate, or complex transform animations
237
+
238
+ ## 8. Responsive Behavior
239
+
240
+ ### Breakpoints
241
+ | Name | Width | Key Changes |
242
+ |------|-------|-------------|
243
+ | Mobile | <640px | Single column, reduced padding, heading scales down |
244
+ | Tablet | 640-1024px | Content width expands, slight padding increase |
245
+ | Desktop | >1024px | Full content width (~800-900px centered), maximum whitespace |
246
+
247
+ ### Touch Targets
248
+ - Buttons with 4px 20px padding provide adequate horizontal touch area
249
+ - Input fields with 20px padding ensure comfortable mobile typing
250
+ - Tab items at 16px with tight line-height may need mobile adaptation
251
+
252
+ ### Collapsing Strategy
253
+ - Hero heading: 38px → 28px → 24px on smaller screens
254
+ - Navigation: horizontal links → hamburger/drawer on mobile
255
+ - Feature lists: maintain single-column, reduce horizontal padding
256
+ - Terminal hero: maintain full-width, reduce internal padding
257
+ - Footer columns: multi-column → stacked single column
258
+ - Section spacing: 96px → 64px → 48px on mobile
259
+
260
+ ### Image Behavior
261
+ - Terminal screenshots maintain aspect ratio and border treatment
262
+ - Full-width elements scale proportionally
263
+ - Monospace type maintains readability at all sizes due to fixed-width nature
264
+
265
+ ## 9. Agent Prompt Guide
266
+
267
+ ### Quick Color Reference
268
+ - Page background: `#201d1d` (warm near-black)
269
+ - Primary text: `#fdfcfc` (warm off-white)
270
+ - Secondary text: `#9a9898` (warm gray)
271
+ - Muted text: `#6e6e73`
272
+ - Accent: `#007aff` (blue)
273
+ - Danger: `#ff3b30` (red)
274
+ - Success: `#30d158` (green)
275
+ - Warning: `#ff9f0a` (orange)
276
+ - Button bg: `#201d1d`, button text: `#fdfcfc`
277
+ - Border: `rgba(15, 0, 0, 0.12)` (warm transparent)
278
+ - Input bg: `#f8f7f7`, input border: `rgba(15, 0, 0, 0.12)`
279
+
280
+ ### Example Component Prompts
281
+ - "Create a hero section on `#201d1d` warm dark background. Headline at 38px Berkeley Mono weight 700, line-height 1.50, color `#fdfcfc`. Subtitle at 16px weight 400, color `#9a9898`. Primary CTA button (`#201d1d` bg with `1px solid #646262` border, 4px radius, 4px 20px padding, `#fdfcfc` text at weight 500)."
282
+ - "Design a feature list: single-column on `#201d1d` background. Feature name at 16px Berkeley Mono weight 700, color `#fdfcfc`. Description at 16px weight 400, color `#9a9898`. No cards, no borders -- pure text with 16px vertical gap between items."
283
+ - "Build an email capture form: `#f8f7f7` background input, `1px solid rgba(15, 0, 0, 0.12)` border, 6px radius, 20px padding. Adjacent dark button (`#201d1d` bg, `#fdfcfc` text, 4px radius, 4px 20px padding). Berkeley Mono throughout."
284
+ - "Create navigation: sticky `#201d1d` background. 16px Berkeley Mono weight 500 for links, `#fdfcfc` text. Brand name left-aligned in monospace. Links with underline decoration. No blur, no transparency -- solid dark surface."
285
+ - "Design a footer: `#201d1d` background, multi-column link grid. Links at 16px Berkeley Mono weight 400, color `#9a9898`. Section headers at weight 700. Border-top `1px solid rgba(15, 0, 0, 0.12)` separator."
286
+
287
+ ### Iteration Guide
288
+ 1. Berkeley Mono is the only font -- never introduce a second typeface. Size and weight create all hierarchy.
289
+ 2. Keep surfaces flat: no shadows, no gradients, no blur effects. Use borders and background shifts only.
290
+ 3. The warm undertone matters: use `#201d1d` not `#000000`, use `#fdfcfc` not `#ffffff`. The reddish warmth is subtle but essential.
291
+ 4. Border radius is 4px everywhere except inputs (6px). Never use rounded pills or large radii.
292
+ 5. Semantic colors follow Apple HIG: `#007aff` blue, `#ff3b30` red, `#30d158` green, `#ff9f0a` orange. Each has hover and active darkened variants.
293
+ 6. Three-stage interaction: default → hover (darkened) → active (deeply darkened) for all semantic colors.
294
+ 7. Borders use `rgba(15, 0, 0, 0.12)` -- a warm transparent dark, not neutral gray. This ties borders to the warm palette.
295
+ 8. Spacing follows an 8px grid: 8, 16, 24, 32, 40, 48, 64, 80, 96px. Use 4px for fine adjustments only.
@@ -0,0 +1,24 @@
1
+ # OpenCode AI Inspired Design System
2
+
3
+ [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/opencode.ai/DESIGN.md) extracted from the public [OpenCode](https://opencode.ai/) website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
4
+
5
+ ## Files
6
+
7
+ | File | Description |
8
+ |------|-------------|
9
+ | `DESIGN.md` | Complete design system documentation (9 sections) |
10
+ | `preview.html` | Interactive design token catalog (light) |
11
+ | `preview-dark.html` | Interactive design token catalog (dark) |
12
+
13
+
14
+ Use [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/opencode.ai/DESIGN.md) to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the OpenCode AI design language.
15
+
16
+ ## Preview
17
+
18
+ A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
19
+
20
+ ### Dark Mode
21
+ ![OpenCode AI Design System — Dark Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/opencode.ai/preview-dark-screenshot.png)
22
+
23
+ ### Light Mode
24
+ ![OpenCode AI Design System — Light Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/opencode.ai/preview-screenshot.png)