oh-my-design-cli 0.1.0 → 0.1.2

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 (205) hide show
  1. package/README.ko.md +3 -2
  2. package/README.md +3 -2
  3. package/dist/bin/oh-my-design.js +5 -5
  4. package/dist/bin/oh-my-design.js.map +1 -1
  5. package/dist/{init-STACB7E5.js → init-UMM4XIV5.js} +42 -2
  6. package/dist/init-UMM4XIV5.js.map +1 -0
  7. package/dist/{sync-P7X4S2DK.js → sync-FDYRKNFE.js} +16 -3
  8. package/dist/sync-FDYRKNFE.js.map +1 -0
  9. package/package.json +3 -3
  10. package/dist/init-STACB7E5.js.map +0 -1
  11. package/dist/sync-P7X4S2DK.js.map +0 -1
  12. package/references/Claude-Design-Sys-Prompt.txt +0 -421
  13. package/references/airbnb/README.md +0 -23
  14. package/references/airbnb/preview-dark.html +0 -234
  15. package/references/airbnb/preview.html +0 -233
  16. package/references/airtable/README.md +0 -23
  17. package/references/airtable/preview-dark.html +0 -165
  18. package/references/airtable/preview.html +0 -164
  19. package/references/apple/README.md +0 -24
  20. package/references/apple/preview-dark.html +0 -420
  21. package/references/apple/preview.html +0 -414
  22. package/references/baemin/README.md +0 -19
  23. package/references/bmw/README.md +0 -23
  24. package/references/bmw/preview-dark.html +0 -211
  25. package/references/bmw/preview.html +0 -210
  26. package/references/cal/README.md +0 -23
  27. package/references/cal/preview-dark.html +0 -449
  28. package/references/cal/preview.html +0 -575
  29. package/references/claude/README.md +0 -24
  30. package/references/claude/preview-dark.html +0 -803
  31. package/references/claude/preview.html +0 -826
  32. package/references/clay/README.md +0 -23
  33. package/references/clay/preview-dark.html +0 -316
  34. package/references/clay/preview.html +0 -315
  35. package/references/clickhouse/README.md +0 -24
  36. package/references/clickhouse/preview-dark.html +0 -834
  37. package/references/clickhouse/preview.html +0 -786
  38. package/references/cohere/README.md +0 -24
  39. package/references/cohere/preview-dark.html +0 -803
  40. package/references/cohere/preview.html +0 -807
  41. package/references/coinbase/README.md +0 -23
  42. package/references/coinbase/preview-dark.html +0 -164
  43. package/references/coinbase/preview.html +0 -163
  44. package/references/composio/README.md +0 -24
  45. package/references/composio/preview-dark.html +0 -958
  46. package/references/composio/preview.html +0 -933
  47. package/references/cursor/README.md +0 -24
  48. package/references/cursor/preview-dark.html +0 -393
  49. package/references/cursor/preview.html +0 -383
  50. package/references/dcard/README.md +0 -12
  51. package/references/dcard/_research/forum-1440px.png +0 -0
  52. package/references/dcard/_research.md +0 -77
  53. package/references/elevenlabs/README.md +0 -23
  54. package/references/elevenlabs/preview-dark.html +0 -252
  55. package/references/elevenlabs/preview.html +0 -251
  56. package/references/expo/README.md +0 -24
  57. package/references/expo/preview-dark.html +0 -533
  58. package/references/expo/preview.html +0 -533
  59. package/references/ferrari/README.md +0 -23
  60. package/references/ferrari/preview-dark.html +0 -1162
  61. package/references/ferrari/preview.html +0 -1122
  62. package/references/figma/README.md +0 -24
  63. package/references/figma/preview-dark.html +0 -822
  64. package/references/figma/preview.html +0 -832
  65. package/references/framer/README.md +0 -23
  66. package/references/framer/preview-dark.html +0 -902
  67. package/references/framer/preview.html +0 -883
  68. package/references/freee/README.md +0 -12
  69. package/references/freee/_research/vibes-storybook-1440px.png +0 -0
  70. package/references/freee/_research.md +0 -77
  71. package/references/hashicorp/README.md +0 -24
  72. package/references/hashicorp/preview-dark.html +0 -1202
  73. package/references/hashicorp/preview.html +0 -1193
  74. package/references/ibm/README.md +0 -24
  75. package/references/ibm/preview-dark.html +0 -443
  76. package/references/ibm/preview.html +0 -428
  77. package/references/intercom/README.md +0 -23
  78. package/references/intercom/preview-dark.html +0 -185
  79. package/references/intercom/preview.html +0 -184
  80. package/references/kakao/README.md +0 -18
  81. package/references/karrot/README.md +0 -18
  82. package/references/kraken/README.md +0 -23
  83. package/references/kraken/preview-dark.html +0 -169
  84. package/references/kraken/preview.html +0 -168
  85. package/references/lamborghini/README.md +0 -23
  86. package/references/lamborghini/preview-dark.html +0 -303
  87. package/references/lamborghini/preview.html +0 -381
  88. package/references/line/README.md +0 -12
  89. package/references/line/_research/home-1440px.png +0 -0
  90. package/references/line/_research.md +0 -65
  91. package/references/linear.app/README.md +0 -24
  92. package/references/linear.app/preview-dark.html +0 -383
  93. package/references/linear.app/preview.html +0 -373
  94. package/references/lovable/README.md +0 -24
  95. package/references/lovable/preview-dark.html +0 -349
  96. package/references/lovable/preview.html +0 -348
  97. package/references/mercari/README.md +0 -12
  98. package/references/mercari/_research/home-1440px.png +0 -0
  99. package/references/mercari/_research.md +0 -77
  100. package/references/minimax/README.md +0 -24
  101. package/references/minimax/preview-dark.html +0 -1262
  102. package/references/minimax/preview.html +0 -1248
  103. package/references/mintlify/README.md +0 -24
  104. package/references/mintlify/preview-dark.html +0 -409
  105. package/references/mintlify/preview.html +0 -398
  106. package/references/miro/README.md +0 -23
  107. package/references/miro/preview-dark.html +0 -174
  108. package/references/miro/preview.html +0 -173
  109. package/references/mistral.ai/README.md +0 -24
  110. package/references/mistral.ai/preview-dark.html +0 -806
  111. package/references/mistral.ai/preview.html +0 -805
  112. package/references/mongodb/README.md +0 -23
  113. package/references/mongodb/preview-dark.html +0 -260
  114. package/references/mongodb/preview.html +0 -259
  115. package/references/notion/README.md +0 -24
  116. package/references/notion/preview-dark.html +0 -372
  117. package/references/notion/preview.html +0 -364
  118. package/references/nvidia/README.md +0 -24
  119. package/references/nvidia/preview-dark.html +0 -374
  120. package/references/nvidia/preview.html +0 -366
  121. package/references/ollama/README.md +0 -24
  122. package/references/ollama/preview-dark.html +0 -678
  123. package/references/ollama/preview.html +0 -678
  124. package/references/opencode.ai/README.md +0 -24
  125. package/references/opencode.ai/preview-dark.html +0 -366
  126. package/references/opencode.ai/preview.html +0 -357
  127. package/references/pinkoi/README.md +0 -12
  128. package/references/pinkoi/_research/browse-1440px.png +0 -0
  129. package/references/pinkoi/_research.md +0 -115
  130. package/references/pinterest/README.md +0 -23
  131. package/references/pinterest/preview-dark.html +0 -233
  132. package/references/pinterest/preview.html +0 -232
  133. package/references/posthog/README.md +0 -23
  134. package/references/posthog/preview-dark.html +0 -699
  135. package/references/posthog/preview.html +0 -749
  136. package/references/raycast/README.md +0 -23
  137. package/references/raycast/preview-dark.html +0 -606
  138. package/references/raycast/preview.html +0 -688
  139. package/references/renault/README.md +0 -23
  140. package/references/renault/preview-dark.html +0 -406
  141. package/references/renault/preview.html +0 -606
  142. package/references/replicate/README.md +0 -24
  143. package/references/replicate/preview-dark.html +0 -828
  144. package/references/replicate/preview.html +0 -831
  145. package/references/resend/README.md +0 -23
  146. package/references/resend/preview-dark.html +0 -355
  147. package/references/resend/preview.html +0 -354
  148. package/references/revolut/README.md +0 -23
  149. package/references/revolut/preview-dark.html +0 -234
  150. package/references/revolut/preview.html +0 -233
  151. package/references/runwayml/README.md +0 -24
  152. package/references/runwayml/preview-dark.html +0 -664
  153. package/references/runwayml/preview.html +0 -665
  154. package/references/sanity/README.md +0 -24
  155. package/references/sanity/preview-dark.html +0 -990
  156. package/references/sanity/preview.html +0 -1135
  157. package/references/sentry/README.md +0 -24
  158. package/references/sentry/preview-dark.html +0 -626
  159. package/references/sentry/preview.html +0 -951
  160. package/references/spacex/README.md +0 -23
  161. package/references/spacex/preview-dark.html +0 -221
  162. package/references/spacex/preview.html +0 -220
  163. package/references/spotify/README.md +0 -23
  164. package/references/spotify/preview-dark.html +0 -231
  165. package/references/spotify/preview.html +0 -230
  166. package/references/stripe/README.md +0 -24
  167. package/references/stripe/preview-dark.html +0 -428
  168. package/references/stripe/preview.html +0 -419
  169. package/references/supabase/README.md +0 -24
  170. package/references/supabase/preview-dark.html +0 -977
  171. package/references/supabase/preview.html +0 -955
  172. package/references/superhuman/README.md +0 -23
  173. package/references/superhuman/preview-dark.html +0 -973
  174. package/references/superhuman/preview.html +0 -951
  175. package/references/tesla/README.md +0 -23
  176. package/references/tesla/preview-dark.html +0 -947
  177. package/references/tesla/preview.html +0 -925
  178. package/references/together.ai/README.md +0 -24
  179. package/references/together.ai/preview-dark.html +0 -892
  180. package/references/together.ai/preview.html +0 -897
  181. package/references/toss/README.md +0 -19
  182. package/references/uber/README.md +0 -24
  183. package/references/uber/preview-dark.html +0 -1120
  184. package/references/uber/preview.html +0 -1119
  185. package/references/vercel/README.md +0 -24
  186. package/references/vercel/preview-dark.html +0 -368
  187. package/references/vercel/preview.html +0 -367
  188. package/references/voltagent/README.md +0 -24
  189. package/references/voltagent/preview-dark.html +0 -487
  190. package/references/voltagent/preview.html +0 -766
  191. package/references/warp/README.md +0 -23
  192. package/references/warp/preview-dark.html +0 -500
  193. package/references/warp/preview.html +0 -533
  194. package/references/webflow/README.md +0 -23
  195. package/references/webflow/preview-dark.html +0 -147
  196. package/references/webflow/preview.html +0 -146
  197. package/references/wise/README.md +0 -23
  198. package/references/wise/preview-dark.html +0 -230
  199. package/references/wise/preview.html +0 -229
  200. package/references/x.ai/README.md +0 -24
  201. package/references/x.ai/preview-dark.html +0 -356
  202. package/references/x.ai/preview.html +0 -407
  203. package/references/zapier/README.md +0 -24
  204. package/references/zapier/preview-dark.html +0 -380
  205. package/references/zapier/preview.html +0 -372
@@ -1,357 +0,0 @@
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.0">
6
- <title>Design System Inspired by OpenCode.ai</title>
7
- <link rel="preconnect" href="https://fonts.googleapis.com">
8
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
- <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&display=swap" rel="stylesheet">
10
- <style>
11
- :root {
12
- --oc-dark: #201d1d;
13
- --oc-light: #fdfcfc;
14
- --oc-gray: #9a9898;
15
- --oc-dark-surface: #302c2c;
16
- --oc-border-gray: #646262;
17
- --oc-light-surface: #f1eeee;
18
- --oc-input-bg: #f8f7f7;
19
- --accent: #007aff;
20
- --accent-hover: #0056b3;
21
- --accent-active: #004085;
22
- --danger: #ff3b30;
23
- --danger-hover: #d70015;
24
- --danger-active: #a50011;
25
- --success: #30d158;
26
- --warning: #ff9f0a;
27
- --warning-hover: #cc7f08;
28
- --warning-active: #995f06;
29
- --text-primary: #201d1d;
30
- --text-secondary: #9a9898;
31
- --text-muted: #6e6e73;
32
- --text-caption: #424245;
33
- --border-warm: rgba(15, 0, 0, 0.12);
34
- --border-tab: #9a9898;
35
- --border-outline: #646262;
36
- --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
37
- }
38
- * { margin: 0; padding: 0; box-sizing: border-box; }
39
- body {
40
- background: var(--oc-light);
41
- color: var(--text-primary);
42
- font-family: var(--font-mono);
43
- font-size: 16px; font-weight: 400; line-height: 1.50;
44
- -webkit-font-smoothing: antialiased;
45
- }
46
-
47
- /* NAV */
48
- .nav {
49
- position: sticky; top: 0; z-index: 100;
50
- display: flex; align-items: center; justify-content: space-between;
51
- padding: 12px 32px;
52
- background: var(--oc-light);
53
- border-bottom: 1px solid var(--border-warm);
54
- }
55
- .nav-brand { font-size: 14px; font-weight: 700; color: var(--text-primary); text-decoration: none; }
56
- .nav-links { display: flex; gap: 24px; list-style: none; }
57
- .nav-links a { font-size: 14px; font-weight: 500; color: var(--text-secondary); text-decoration: none; transition: color 0.15s; }
58
- .nav-links a:hover { color: var(--accent); }
59
- .nav-cta {
60
- display: inline-block; background: var(--oc-dark); color: var(--oc-light);
61
- padding: 4px 20px; border-radius: 4px; font-size: 14px; font-weight: 500;
62
- text-decoration: none; font-family: var(--font-mono); transition: opacity 0.15s;
63
- }
64
- .nav-cta:hover { opacity: 0.85; }
65
-
66
- /* HERO */
67
- .hero { padding: 96px 32px 80px; text-align: center; }
68
- .hero h1 {
69
- font-size: 38px; font-weight: 700; line-height: 1.50;
70
- color: var(--text-primary); margin-bottom: 16px;
71
- }
72
- .hero p { font-size: 16px; font-weight: 400; line-height: 1.50; color: var(--text-secondary); max-width: 600px; margin: 0 auto 32px; }
73
- .hero-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
74
- .btn-primary {
75
- display: inline-block; background: var(--oc-dark); color: var(--oc-light);
76
- padding: 4px 20px; border-radius: 4px; border: none;
77
- font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
78
- text-decoration: none; cursor: pointer; transition: opacity 0.15s;
79
- }
80
- .btn-primary:hover { opacity: 0.85; }
81
- .btn-secondary {
82
- display: inline-block; background: transparent; color: var(--text-primary);
83
- padding: 4px 20px; border-radius: 4px; border: 1px solid var(--border-outline);
84
- font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
85
- text-decoration: none; cursor: pointer; transition: all 0.15s;
86
- }
87
- .btn-secondary:hover { border-color: var(--text-primary); }
88
- .btn-accent {
89
- display: inline-block; background: var(--accent); color: #ffffff;
90
- padding: 4px 20px; border-radius: 4px; border: none;
91
- font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
92
- text-decoration: none; cursor: pointer; transition: background 0.15s;
93
- }
94
- .btn-accent:hover { background: var(--accent-hover); }
95
- .btn-danger {
96
- display: inline-block; background: var(--danger); color: #ffffff;
97
- padding: 4px 20px; border-radius: 4px; border: none;
98
- font-family: var(--font-mono); font-size: 16px; font-weight: 500; line-height: 2.00;
99
- text-decoration: none; cursor: pointer; transition: background 0.15s;
100
- }
101
- .btn-danger:hover { background: var(--danger-hover); }
102
-
103
- /* SECTIONS */
104
- .section { padding: 64px 32px; max-width: 1000px; margin: 0 auto; }
105
- .section-label { font-size: 12px; font-weight: 500; color: var(--text-muted); text-transform: uppercase; margin-bottom: 8px; letter-spacing: 0.5px; }
106
- .section-title { font-size: 38px; font-weight: 700; line-height: 1.50; margin-bottom: 32px; }
107
- .section-divider { border: none; border-top: 1px solid var(--border-warm); margin: 0; }
108
-
109
- /* COLORS */
110
- .color-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 12px; margin-bottom: 24px; }
111
- .color-swatch { border-radius: 4px; overflow: hidden; border: 1px solid var(--border-warm); background: #ffffff; }
112
- .color-swatch-block { height: 72px; width: 100%; }
113
- .color-swatch-info { padding: 10px 12px; }
114
- .color-swatch-name { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
115
- .color-swatch-hex { font-size: 12px; color: var(--text-secondary); }
116
- .color-swatch-role { font-size: 11px; color: var(--text-muted); margin-top: 3px; }
117
- .color-group-label { font-size: 14px; font-weight: 700; color: var(--text-caption); margin: 24px 0 10px; }
118
-
119
- /* TYPOGRAPHY */
120
- .type-sample { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--border-warm); }
121
- .type-sample:last-child { border-bottom: none; }
122
- .type-meta { font-size: 12px; font-weight: 500; color: var(--text-muted); margin-top: 8px; }
123
-
124
- /* BUTTONS */
125
- .button-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
126
- .button-item { text-align: center; }
127
- .button-label { font-size: 12px; font-weight: 500; color: var(--text-muted); margin-top: 8px; }
128
-
129
- /* CARDS */
130
- .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
131
- .card { background: #ffffff; border-radius: 4px; padding: 24px; border: 1px solid var(--border-warm); transition: border-color 0.15s; }
132
- .card:hover { border-color: var(--border-outline); }
133
- .card h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
134
- .card p { font-size: 14px; color: var(--text-secondary); line-height: 1.50; }
135
- .card-badge { display: inline-block; font-size: 12px; font-weight: 500; padding: 2px 8px; border-radius: 4px; margin-bottom: 12px; }
136
-
137
- /* FORMS */
138
- .form-group { margin-bottom: 20px; max-width: 400px; }
139
- .form-label { display: block; font-size: 14px; font-weight: 500; color: var(--text-primary); margin-bottom: 6px; }
140
- .form-input {
141
- width: 100%; background: var(--oc-input-bg); color: var(--text-primary);
142
- border: 1px solid var(--border-warm); padding: 20px; border-radius: 6px;
143
- font-family: var(--font-mono); font-size: 14px; outline: none;
144
- transition: border-color 0.15s;
145
- }
146
- .form-input:focus { border-color: var(--accent); }
147
- .form-input--focus { border-color: var(--accent); }
148
- .form-input--error { border-color: var(--danger); }
149
- .form-state-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
150
-
151
- /* SPACING */
152
- .spacing-row { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
153
- .spacing-item { text-align: center; }
154
- .spacing-block { background: var(--oc-dark); border-radius: 2px; margin-bottom: 6px; height: 28px; }
155
- .spacing-value { font-size: 11px; font-weight: 500; color: var(--text-muted); }
156
-
157
- /* RADIUS */
158
- .radius-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
159
- .radius-item { text-align: center; }
160
- .radius-box { width: 64px; height: 64px; background: var(--oc-dark); margin-bottom: 6px; }
161
- .radius-label { font-size: 11px; font-weight: 500; color: var(--text-muted); }
162
- .radius-context { font-size: 10px; color: var(--text-muted); }
163
-
164
- /* ELEVATION */
165
- .elevation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
166
- .elevation-card { background: #ffffff; border-radius: 4px; padding: 20px; text-align: center; }
167
- .elevation-label { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
168
- .elevation-desc { font-size: 11px; color: var(--text-muted); }
169
-
170
- /* FOOTER */
171
- .footer { padding: 32px; text-align: center; border-top: 1px solid var(--border-warm); font-size: 14px; color: var(--text-secondary); }
172
- .footer a { color: var(--accent); text-decoration: underline; }
173
-
174
- @media (max-width: 768px) {
175
- .hero h1 { font-size: 28px; }
176
- .nav-links { display: none; }
177
- .section { padding: 48px 20px; }
178
- .section-title { font-size: 28px; }
179
- .card-grid { grid-template-columns: 1fr; }
180
- }
181
- </style>
182
- </head>
183
- <body>
184
-
185
- <nav class="nav">
186
- <span class="nav-brand">awesome-design-md</span>
187
- <ul class="nav-links">
188
- <li><a href="#colors">Colors</a></li>
189
- <li><a href="#typography">Typography</a></li>
190
- <li><a href="#buttons">Buttons</a></li>
191
- <li><a href="#cards">Cards</a></li>
192
- <li><a href="#forms">Forms</a></li>
193
- <li><a href="#spacing">Spacing</a></li>
194
- </ul>
195
- <a class="nav-cta" href="#">Get Started</a>
196
- </nav>
197
-
198
- <section class="hero">
199
- <h1>Design System<br>Inspired by OpenCode</h1>
200
- <p>A design token catalog generated from DESIGN.md. Every color, font, component, and spacing value -- visualized in monospace precision.</p>
201
- <div class="hero-buttons">
202
- <a class="btn-primary" href="#">Install OpenCode</a>
203
- <a class="btn-secondary" href="#">View on GitHub</a>
204
- </div>
205
- </section>
206
-
207
- <hr class="section-divider">
208
-
209
- <section class="section" id="colors">
210
- <div class="section-label">01 / Colors</div>
211
- <h2 class="section-title">Color Palette</h2>
212
-
213
- <div class="color-group-label">Primary</div>
214
- <div class="color-grid">
215
- <div class="color-swatch"><div class="color-swatch-block" style="background:#201d1d"></div><div class="color-swatch-info"><div class="color-swatch-name">OpenCode Dark</div><div class="color-swatch-hex">#201d1d</div><div class="color-swatch-role">Background, buttons</div></div></div>
216
- <div class="color-swatch"><div class="color-swatch-block" style="background:#fdfcfc"></div><div class="color-swatch-info"><div class="color-swatch-name">OpenCode Light</div><div class="color-swatch-hex">#fdfcfc</div><div class="color-swatch-role">Primary text</div></div></div>
217
- <div class="color-swatch"><div class="color-swatch-block" style="background:#9a9898"></div><div class="color-swatch-info"><div class="color-swatch-name">Mid Gray</div><div class="color-swatch-hex">#9a9898</div><div class="color-swatch-role">Secondary text</div></div></div>
218
- <div class="color-swatch"><div class="color-swatch-block" style="background:#302c2c"></div><div class="color-swatch-info"><div class="color-swatch-name">Dark Surface</div><div class="color-swatch-hex">#302c2c</div><div class="color-swatch-role">Elevated surface</div></div></div>
219
- </div>
220
-
221
- <div class="color-group-label">Surface & Border</div>
222
- <div class="color-grid">
223
- <div class="color-swatch"><div class="color-swatch-block" style="background:#f1eeee"></div><div class="color-swatch-info"><div class="color-swatch-name">Light Surface</div><div class="color-swatch-hex">#f1eeee</div><div class="color-swatch-role">Light background</div></div></div>
224
- <div class="color-swatch"><div class="color-swatch-block" style="background:#f8f7f7"></div><div class="color-swatch-info"><div class="color-swatch-name">Input BG</div><div class="color-swatch-hex">#f8f7f7</div><div class="color-swatch-role">Form inputs</div></div></div>
225
- <div class="color-swatch"><div class="color-swatch-block" style="background:#646262"></div><div class="color-swatch-info"><div class="color-swatch-name">Border Gray</div><div class="color-swatch-hex">#646262</div><div class="color-swatch-role">Outline borders</div></div></div>
226
- <div class="color-swatch"><div class="color-swatch-block" style="background:#6e6e73"></div><div class="color-swatch-info"><div class="color-swatch-name">Text Muted</div><div class="color-swatch-hex">#6e6e73</div><div class="color-swatch-role">Muted labels</div></div></div>
227
- </div>
228
-
229
- <div class="color-group-label">Accent</div>
230
- <div class="color-grid">
231
- <div class="color-swatch"><div class="color-swatch-block" style="background:#007aff"></div><div class="color-swatch-info"><div class="color-swatch-name">Accent Blue</div><div class="color-swatch-hex">#007aff</div><div class="color-swatch-role">Primary accent</div></div></div>
232
- <div class="color-swatch"><div class="color-swatch-block" style="background:#0056b3"></div><div class="color-swatch-info"><div class="color-swatch-name">Accent Hover</div><div class="color-swatch-hex">#0056b3</div><div class="color-swatch-role">Hover state</div></div></div>
233
- <div class="color-swatch"><div class="color-swatch-block" style="background:#004085"></div><div class="color-swatch-info"><div class="color-swatch-name">Accent Active</div><div class="color-swatch-hex">#004085</div><div class="color-swatch-role">Active state</div></div></div>
234
- </div>
235
-
236
- <div class="color-group-label">Semantic</div>
237
- <div class="color-grid">
238
- <div class="color-swatch"><div class="color-swatch-block" style="background:#ff3b30"></div><div class="color-swatch-info"><div class="color-swatch-name">Danger</div><div class="color-swatch-hex">#ff3b30</div><div class="color-swatch-role">Error, destructive</div></div></div>
239
- <div class="color-swatch"><div class="color-swatch-block" style="background:#30d158"></div><div class="color-swatch-info"><div class="color-swatch-name">Success</div><div class="color-swatch-hex">#30d158</div><div class="color-swatch-role">Success state</div></div></div>
240
- <div class="color-swatch"><div class="color-swatch-block" style="background:#ff9f0a"></div><div class="color-swatch-info"><div class="color-swatch-name">Warning</div><div class="color-swatch-hex">#ff9f0a</div><div class="color-swatch-role">Caution, alerts</div></div></div>
241
- <div class="color-swatch"><div class="color-swatch-block" style="background:#424245"></div><div class="color-swatch-info"><div class="color-swatch-name">Text Secondary</div><div class="color-swatch-hex">#424245</div><div class="color-swatch-role">Captions on light</div></div></div>
242
- </div>
243
- </section>
244
-
245
- <hr class="section-divider">
246
-
247
- <section class="section" id="typography">
248
- <div class="section-label">02 / Typography</div>
249
- <h2 class="section-title">Typography Scale</h2>
250
-
251
- <div class="type-sample"><div style="font-size:38px; font-weight:700; line-height:1.50;">Heading 1 -- Hero</div><div class="type-meta">Heading 1 -- 38px / 700 / 1.50 / Berkeley Mono</div></div>
252
- <div class="type-sample"><div style="font-size:16px; font-weight:700; line-height:1.50;">Heading 2 -- Section Title</div><div class="type-meta">Heading 2 -- 16px / 700 / 1.50 / Berkeley Mono</div></div>
253
- <div class="type-sample"><div style="font-size:16px; font-weight:500; line-height:1.50;">Body Medium -- Navigation links, interactive text, and button labels live here.</div><div class="type-meta">Body Medium -- 16px / 500 / 1.50 / Berkeley Mono</div></div>
254
- <div class="type-sample"><div style="font-size:16px; font-weight:400; line-height:1.50;">Body Regular -- Standard paragraph text for descriptions, documentation, and general content across the interface.</div><div class="type-meta">Body Regular -- 16px / 400 / 1.50 / Berkeley Mono</div></div>
255
- <div class="type-sample"><div style="font-size:16px; font-weight:500; line-height:1.00;">Body Tight -- Compact Labels</div><div class="type-meta">Body Tight -- 16px / 500 / 1.00 / Berkeley Mono</div></div>
256
- <div class="type-sample"><div style="font-size:14px; font-weight:400; line-height:2.00;">Caption -- Footnotes, metadata, and small supplementary text with relaxed line-height for readability.</div><div class="type-meta">Caption -- 14px / 400 / 2.00 / Berkeley Mono</div></div>
257
- <div class="type-sample"><div style="font-size:14px; font-weight:400; line-height:1.50; font-family:var(--font-mono);">$ opencode --help</div><div class="type-meta">Code -- 14px / 400 / 1.50 / Berkeley Mono (monospace)</div></div>
258
- </section>
259
-
260
- <hr class="section-divider">
261
-
262
- <section class="section" id="buttons">
263
- <div class="section-label">03 / Buttons</div>
264
- <h2 class="section-title">Button Variants</h2>
265
- <div class="button-row">
266
- <div class="button-item"><a class="btn-primary" href="#">Install OpenCode</a><div class="button-label">Primary Dark</div></div>
267
- <div class="button-item"><a class="btn-secondary" href="#">View on GitHub</a><div class="button-label">Secondary Outline</div></div>
268
- <div class="button-item"><a class="btn-accent" href="#">Learn More</a><div class="button-label">Accent Blue</div></div>
269
- <div class="button-item"><a class="btn-danger" href="#">Delete</a><div class="button-label">Danger</div></div>
270
- <div class="button-item"><span style="display:inline-block; background:var(--success); color:#ffffff; padding:4px 20px; border-radius:4px; font-size:16px; font-weight:500; font-family:var(--font-mono);">Success</span><div class="button-label">Success</div></div>
271
- <div class="button-item"><span style="display:inline-block; background:var(--warning); color:#ffffff; padding:4px 20px; border-radius:4px; font-size:16px; font-weight:500; font-family:var(--font-mono);">Warning</span><div class="button-label">Warning</div></div>
272
- </div>
273
- </section>
274
-
275
- <hr class="section-divider">
276
-
277
- <section class="section" id="cards">
278
- <div class="section-label">04 / Cards</div>
279
- <h2 class="section-title">Card Examples</h2>
280
- <div class="card-grid">
281
- <div class="card">
282
- <div class="card-badge" style="background:rgba(0,122,255,0.1); color:var(--accent);">AI Agent</div>
283
- <h3>Terminal-Native Coding</h3>
284
- <p>An open source AI coding agent that runs in your terminal. No IDE required -- just you, your code, and the command line.</p>
285
- </div>
286
- <div class="card" style="border-color: var(--border-outline);">
287
- <div class="card-badge" style="background:rgba(48,209,88,0.1); color:var(--success);">Open Source</div>
288
- <h3>Multi-Provider Support</h3>
289
- <p>Works with Anthropic, OpenAI, and other LLM providers. Choose the model that fits your workflow and budget.</p>
290
- </div>
291
- <div class="card">
292
- <div class="card-badge" style="background:rgba(255,159,10,0.1); color:var(--warning-hover);">CLI</div>
293
- <h3>Context-Aware Editing</h3>
294
- <p>Understands your entire codebase context. Make changes across multiple files with natural language instructions.</p>
295
- </div>
296
- </div>
297
- </section>
298
-
299
- <hr class="section-divider">
300
-
301
- <section class="section" id="forms">
302
- <div class="section-label">05 / Forms</div>
303
- <h2 class="section-title">Form Elements</h2>
304
- <div class="form-group"><label class="form-label">Email Address</label><input class="form-input" type="text" placeholder="you@example.com"><div class="form-state-label">Default (warm border, 20px padding)</div></div>
305
- <div class="form-group"><label class="form-label">API Key</label><input class="form-input form-input--focus" type="text" value="sk-ant-..."><div class="form-state-label">Focus (accent blue border)</div></div>
306
- <div class="form-group"><label class="form-label">Invalid Key</label><input class="form-input form-input--error" type="text" value="invalid-key-format"><div class="form-state-label">Error (danger red border)</div></div>
307
- </section>
308
-
309
- <hr class="section-divider">
310
-
311
- <section class="section" id="spacing">
312
- <div class="section-label">06 / Spacing</div>
313
- <h2 class="section-title">Spacing Scale</h2>
314
- <div class="spacing-row">
315
- <div class="spacing-item"><div class="spacing-block" style="width:1px"></div><div class="spacing-value">1</div></div>
316
- <div class="spacing-item"><div class="spacing-block" style="width:2px"></div><div class="spacing-value">2</div></div>
317
- <div class="spacing-item"><div class="spacing-block" style="width:4px"></div><div class="spacing-value">4</div></div>
318
- <div class="spacing-item"><div class="spacing-block" style="width:8px"></div><div class="spacing-value">8</div></div>
319
- <div class="spacing-item"><div class="spacing-block" style="width:12px"></div><div class="spacing-value">12</div></div>
320
- <div class="spacing-item"><div class="spacing-block" style="width:16px"></div><div class="spacing-value">16</div></div>
321
- <div class="spacing-item"><div class="spacing-block" style="width:20px"></div><div class="spacing-value">20</div></div>
322
- <div class="spacing-item"><div class="spacing-block" style="width:24px"></div><div class="spacing-value">24</div></div>
323
- <div class="spacing-item"><div class="spacing-block" style="width:32px"></div><div class="spacing-value">32</div></div>
324
- <div class="spacing-item"><div class="spacing-block" style="width:40px"></div><div class="spacing-value">40</div></div>
325
- <div class="spacing-item"><div class="spacing-block" style="width:48px"></div><div class="spacing-value">48</div></div>
326
- <div class="spacing-item"><div class="spacing-block" style="width:64px"></div><div class="spacing-value">64</div></div>
327
- </div>
328
- </section>
329
-
330
- <hr class="section-divider">
331
-
332
- <section class="section" id="radius">
333
- <div class="section-label">07 / Radius</div>
334
- <h2 class="section-title">Border Radius Scale</h2>
335
- <div class="radius-row">
336
- <div class="radius-item"><div class="radius-box" style="border-radius:4px"></div><div class="radius-label">4px</div><div class="radius-context">Default (buttons, cards)</div></div>
337
- <div class="radius-item"><div class="radius-box" style="border-radius:6px"></div><div class="radius-label">6px</div><div class="radius-context">Inputs</div></div>
338
- </div>
339
- </section>
340
-
341
- <hr class="section-divider">
342
-
343
- <section class="section" id="elevation">
344
- <div class="section-label">08 / Elevation</div>
345
- <h2 class="section-title">Elevation &amp; Depth</h2>
346
- <div class="elevation-grid">
347
- <div class="elevation-card" style="border: none; background: var(--oc-light-surface);"><div class="elevation-label">Level 0: Flat</div><div class="elevation-desc">No border, no shadow</div></div>
348
- <div class="elevation-card" style="border: 1px solid var(--border-warm);"><div class="elevation-label">Level 1: Subtle</div><div class="elevation-desc">1px rgba(15,0,0,0.12)</div></div>
349
- <div class="elevation-card" style="border-bottom: 2px solid var(--border-tab);"><div class="elevation-label">Level 2: Tab</div><div class="elevation-desc">2px solid #9a9898</div></div>
350
- <div class="elevation-card" style="border: 1px solid var(--border-outline);"><div class="elevation-label">Level 3: Outline</div><div class="elevation-desc">1px solid #646262</div></div>
351
- </div>
352
- </section>
353
-
354
- <footer class="footer">Maintained by <a href="https://github.com/VoltAgent/voltagent" target="_blank" rel="noopener noreferrer" style="text-decoration:none;"><img src="https://github.com/VoltAgent.png?size=32" alt="VoltAgent" width="14" height="14" style="border-radius:3px;vertical-align:-2px;margin-right:3px;">VoltAgent</a> team</footer>
355
-
356
- </body>
357
- </html>
@@ -1,12 +0,0 @@
1
- # Pinkoi Inspired Design System
2
-
3
- [DESIGN.md](./DESIGN.md) extracted from the public [Pinkoi](https://en.pinkoi.com) website. Pinkoi does not publish an official design system or brand kit, so this reference is **reverse-engineered from the live production CSS** as of 2026-04-17. Colors, fonts, button variants, and shadow recipes are extracted directly from Pinkoi's CSS bundles served via `cdn02.pinkoi.com`. See [_research.md](./_research.md) for source detail and confidence per item.
4
-
5
- ## Files
6
-
7
- | File | Description |
8
- |------|-------------|
9
- | `DESIGN.md` | Complete design system documentation (9 sections) |
10
- | `_research.md` | Sources used, extraction methodology, and confidence per item |
11
-
12
- Use [DESIGN.md](./DESIGN.md) as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Pinkoi design language — Asia's cross-border design marketplace with bold-700 typography, locale-aware font stacks, conservative 4px radii, and the signature skeuomorphic colored button shadows.
@@ -1,115 +0,0 @@
1
- # Research Sources for Pinkoi
2
-
3
- 추출 일자: 2026-04-17
4
- 스킬: `omd:add-reference` (5-tier methodology)
5
- 입력 URL: `https://en.pinkoi.com`
6
-
7
- ## Tier 1 — Official Design System
8
-
9
- **Status: NOT FOUND**
10
-
11
- Checked patterns (HEAD requests + content verification):
12
- - `https://pinkoi.design` — DNS not resolving
13
- - `https://design.pinkoi.com` — DNS not resolving
14
- - `https://pinkoi.com/design`, `/design-system`, `/styleguide`, `/brand` — All return 200 due to SPA catch-all routing, but content is the homepage (no DS docs)
15
- - `https://en.pinkoi.com/about/brand` — redirects to /about, brand storytelling page only
16
-
17
- GitHub search: no official `pinkoi/*` org. All repos are third-party scrapers, clones, or unrelated. No public design tokens repository.
18
-
19
- WebSearch (`"Pinkoi" "design system" site:pinkoi.com`): no DS documentation surfaces.
20
-
21
- ## Tier 2 — Brand / Press Kit
22
-
23
- **Status: NOT FOUND**
24
-
25
- `/about` page contains company storytelling, mission ("Design the way you are"), milestones (founded Taipei 2011, expanded to JP/HK/Bangkok). No color codes, font specs, logo guidelines, or token files.
26
-
27
- ## Tier 3 — Engineering / Design Blog
28
-
29
- **Status: REFERENCED for context, no DS-specific articles**
30
-
31
- - `medium.com/pinkoi-engineering` — publication exists, but archive listing (verified via WebFetch) shows no design-system, design-tokens, Storybook, or component-library articles. Topics covered: Pinzap e-commerce, design patterns (software), Android, Jetpack Compose, Python CSV, Socket.IO, team efficiency.
32
- - General references to internal DS work appeared in tech career talks, but no public token publication.
33
-
34
- ## Tier 4 — Live Site Recon
35
-
36
- **Status: PRIMARY SOURCE for this reference (Tier 1-3 yielded nothing tokenizable)**
37
-
38
- Pages inspected:
39
- - `https://en.pinkoi.com` (English homepage)
40
-
41
- CSS bundles fetched directly from CDN (`cdn02.pinkoi.com/media/dist/`):
42
- - `core-53a12ed32ae4ca90fb40.css` (193 KB) — primary tokens, button system, components
43
- - `utilities-393a3cafa4749e418720.css` (13 KB) — utility classes
44
- - `react-common-modules-51d0e94fa5fc0b1616a1.css` (6 KB) — shared React components
45
- - `postinit-04a59acb1b98b69099c4.css` (64 KB) — late-loaded styles
46
-
47
- Extraction method: `curl` + `grep` for `font-family`, hex colors, `border-radius`, `box-shadow`, `font-size`, `font-weight`, `padding`, media queries, button class definitions.
48
-
49
- ### Extracted Artifacts (high confidence)
50
- - **Color palette** — hex frequency analysis across 4 CSS bundles (top 30 captured), full neutral scale derived
51
- - **Semantic button variants** — `.m-br-button--{primary,secondary,danger,purchase,green,login,*-plain}` confirmed with full state matrices (hover/active/visited)
52
- - **Skeuomorphic button shadow recipe** — directly extracted from production CSS
53
- - **Locale font stacks** — 5 distinct stacks confirmed (default, TC, SC, JP, TH)
54
- - **Border-radius scale** — frequency: 4px (21x), 2px (18x), 50% (15x), 5px (11x), 3-10px (rare)
55
- - **Font-weight distribution** — 700 (37x), 400 (16x), 500 (12x), 600 (2x) → bold-heavy verdict
56
- - **Card grid system** — `.m-card-product` class confirms 6-column layout (`calc(16.66667% - 12px)`)
57
- - **Breakpoints** — 767/768, 1037, 1200, 1248 (from media queries)
58
-
59
- ## Confidence
60
-
61
- ### High Confidence (extracted from production CSS, exact values)
62
- - All hex colors in §2 Color Palette
63
- - Button variants and state matrices in §4
64
- - Skeuomorphic shadow recipes in §6
65
- - Locale font stacks in §3
66
- - Border-radius and font-weight scales
67
- - Breakpoints in §8
68
-
69
- ### Medium Confidence (inferred from extracted patterns + general e-commerce conventions)
70
- - Z-index hierarchy in §6 (logical inference, not directly extracted)
71
- - "Coral reserved for purchase" rule in §7 (inferred from semantic variant naming `--purchase`, not stated by Pinkoi)
72
- - Image hover/swap behavior in §8 (typical e-commerce pattern, not verified)
73
- - Touch target sizing — extracted padding values, but no explicit accessibility guideline confirmed
74
-
75
- ### Low / Inferred (verify if used in production)
76
- - "Bold-heavy is the brand's voice" framing in §1 — derived from CSS frequency, not from official brand voice docs
77
- - Promotional red (`#e63349`) vs danger red (`#d72136`) distinction — both exist in CSS but the "sale tag" use case is inferred
78
-
79
- ## Notes
80
- - Pinkoi's design system is **internal-only**, with no public documentation. This reference is reverse-engineered from the live English site as of 2026-04-17.
81
- - Site serves locale-specific subdomains (`en.`, `jp.`, `tw.`, `hk.`, `th.`). CSS bundles are shared across locales — extracted tokens apply universally.
82
- - No dark mode detected in core CSS bundles.
83
- - Brand identity refresh dated 2019 (logo file `pinkoi_logo_2019.svg`) — current system reflects post-refresh design language.
84
- - This reference may drift if Pinkoi ships a CSS rewrite. Recommend re-running `omd:add-reference https://en.pinkoi.com` annually.
85
-
86
- ## Playwright MCP Verification (2026-04-17, after Self-Review)
87
-
88
- After fixing the 3 errors via Self-Review (using only static CSS extraction), Playwright MCP was installed and used to verify computed styles on the live site at 1440px viewport. **All major claims confirmed:**
89
-
90
- - Body: `rgb(255,255,255)` bg, `rgb(57,57,62)` text (`#39393e`), Helvetica Neue stack ✓
91
- - Headings: H1/H2/H3 all weight 700 ✓
92
- - Heading colors: H1 `#39393e`, secondary H2 `#66666a`, accent H2 `#2cac97` ✓ — confirms semantic color usage
93
- - `--purchase` button base bg: `rgb(241,108,93)` = `#f16c5d` ✓ (matches corrected value)
94
- - `.m-card-product` confirmed exists; cards have transparent bg, no border, no radius, no shadow ✓
95
- - Nav links: 13px weight 400 `#39393e` ✓
96
- - Link color: `rgb(46,144,183)` = `#2e90b7` ✓
97
-
98
- **Additional insight discovered via Playwright (added to §3):**
99
- Pinkoi's heading hierarchy is **weight-driven, not size-driven**. Most headings render at 14–16px (same as body) and rely on weight 700 + color shifts for hierarchy. This is the opposite of SaaS convention (32–48px headlines). Reflects commerce-density priority.
100
-
101
- Screenshot saved: `_research/browse-1440px.png` (full-page at 1440px on `/browse`).
102
-
103
- ## Self-Review Corrections (2026-04-17, post-initial-draft)
104
-
105
- The first DESIGN.md draft contained 3 substantive errors caught during browser-verification self-review. All fixed in the current file:
106
-
107
- 1. **Button base/hover/active colors were swapped.** Initial draft listed hover values as the "primary" base color. Correct mapping (verified from full CSS rules):
108
- - `--primary` base `#10567b`, hover `#064162`, active `#003354`
109
- - `--purchase` base `#f16c5d`, hover `#e56051`, active `#da5648`
110
- - `--green` base `#2cac97`, hover `#289c8a`
111
- - `--danger` base `#e63349`, hover `#d72136`, active `#c41428`
112
-
113
- 2. **Skeuomorphic shadows misattributed to the primary button system.** They actually appear only on legacy `.m-button-{pink,gray,green,unfav}` classes (favorite hearts, follow-shop type CTAs). The modern `.m-br-button--*` system is **flat with `1px solid <same-as-bg>` borders** and no shadow. §1, §6, §7, §9 rewritten accordingly.
114
-
115
- 3. **`#e63349` was framed as "promotional sale red".** It is actually the **error/danger red** — used in form validation (label, textarea border, input icon, error note), required-field asterisk (`.s-required:after`), `--danger` button base, `.g-info.g-warn` text, and Weibo button bg. There is no separate "sale color" in the CSS — discount badges (`.card-discount-badge`) use shape (asymmetric `border-radius: 2px 0 2px 0`) and shadow, not a dedicated red.
@@ -1,23 +0,0 @@
1
- # Pinterest Inspired Design System
2
-
3
- [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/pinterest/DESIGN.md) extracted from the public [Pinterest](https://pinterest.com/) 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
- Use [DESIGN.md](https://github.com/VoltAgent/awesome-design-md/blob/main/design-md/pinterest/DESIGN.md) to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Pinterest design language.
14
-
15
- ## Preview
16
-
17
- A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
18
-
19
- ### Dark Mode
20
- ![Pinterest Design System — Dark Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/pinterest/preview-dark-screenshot.png)
21
-
22
- ### Light Mode
23
- ![Pinterest Design System — Light Mode](https://pub-2e4ecbcbc9b24e7b93f1a6ab5b2bc71f.r2.dev/designs/pinterest/preview-screenshot.png)