oh-my-design-cli 1.8.6 → 1.9.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 (275) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +2761 -85
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -4,11 +4,11 @@ name: KRDS
4
4
  country: KR
5
5
  category: government
6
6
  homepage: "https://www.krds.go.kr/html/site/index.html"
7
- primary_color: "#000000"
7
+ primary_color: "#256ef4"
8
8
  logo:
9
9
  type: favicon
10
10
  slug: "https://www.krds.go.kr/resources/img/guide/favicon_192.png"
11
- verified: "2026-05-15"
11
+ verified: "2026-07-11"
12
12
  omd: "0.1"
13
13
  ds:
14
14
  name: KRDS — Korea Republic Design System
@@ -16,9 +16,230 @@ ds:
16
16
  type: system
17
17
  description: "행정안전부 주관 범정부 통합 디자인 시스템. Government Blue #256EF4, Pretendard GOV, WCAG/KWCAG 2.2 a11y-first tokens and components."
18
18
  og_image: "https://www.krds.go.kr/resources/img/guide/KRDS_Open_Graph.png"
19
+ verification_v2:
20
+ schema: 2
21
+ checked: "2026-07-11"
22
+ surfaces:
23
+ - { id: home, kind: design-system, url: "https://www.krds.go.kr/html/site/index.html", inspected: "2026-07-11" }
24
+ - { id: typography, kind: design-system, url: "https://www.krds.go.kr/html/site/style/style_03.html", inspected: "2026-07-11" }
25
+ - { id: colors, kind: design-system, url: "https://www.krds.go.kr/html/site/style/style_02.html", inspected: "2026-07-11" }
26
+ - { id: buttons, kind: design-system, url: "https://www.krds.go.kr/html/site/component/component_05_02.html", inspected: "2026-07-11" }
27
+ - { id: text-input, kind: design-system, url: "https://www.krds.go.kr/html/site/component/component_09_03.html", inspected: "2026-07-11" }
28
+ - { id: select, kind: design-system, url: "https://www.krds.go.kr/html/site/component/component_06_03.html", inspected: "2026-07-11" }
29
+ - { id: modal, kind: design-system, url: "https://www.krds.go.kr/html/site/component/component_04_05.html", inspected: "2026-07-11" }
30
+ - { id: badges, kind: design-system, url: "https://www.krds.go.kr/html/site/component/component_04_06.html", inspected: "2026-07-11" }
31
+ - { id: layout, kind: design-system, url: "https://www.krds.go.kr/html/site/style/style_05.html", inspected: "2026-05-08" }
32
+ - { id: tag, kind: design-system, url: "https://www.krds.go.kr/html/site/component/component_06_04.html", inspected: "2026-05-08" }
33
+ sources:
34
+ - { id: home-live, kind: product-surface, url: "https://www.krds.go.kr/html/site/index.html", captured: "2026-07-11" }
35
+ - { id: type-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/style/style_03.html", captured: "2026-07-11" }
36
+ - { id: colors-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/style/style_02.html", captured: "2026-07-11" }
37
+ - { id: button-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/component/component_05_02.html", captured: "2026-07-11" }
38
+ - { id: input-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/component/component_09_03.html", captured: "2026-07-11" }
39
+ - { id: select-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/component/component_06_03.html", captured: "2026-07-11" }
40
+ - { id: modal-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/component/component_04_05.html", captured: "2026-07-11" }
41
+ - { id: badge-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/component/component_04_06.html", captured: "2026-07-11" }
42
+ - { id: layout-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/style/style_05.html", captured: "2026-05-08" }
43
+ - { id: tag-doc, kind: official-doc, url: "https://www.krds.go.kr/html/site/component/component_06_04.html", captured: "2026-05-08" }
44
+ claims:
45
+ "tokens.colors.body": &color_doc { surface_id: colors, source_id: colors-doc, method: official-doc, captured: "2026-07-11" }
46
+ "tokens.colors.border-strong": *color_doc
47
+ "tokens.colors.brand": *color_doc
48
+ "tokens.colors.canvas": *color_doc
49
+ "tokens.colors.danger": *color_doc
50
+ "tokens.colors.foreground": *color_doc
51
+ "tokens.colors.hairline": *color_doc
52
+ "tokens.colors.information": *color_doc
53
+ "tokens.colors.muted": *color_doc
54
+ "tokens.colors.on-primary": *color_doc
55
+ "tokens.colors.point": *color_doc
56
+ "tokens.colors.primary": *color_doc
57
+ "tokens.colors.primary-deep": *color_doc
58
+ "tokens.colors.primary-hover": *color_doc
59
+ "tokens.colors.secondary": *color_doc
60
+ "tokens.colors.success": *color_doc
61
+ "tokens.colors.surface": *color_doc
62
+ "tokens.colors.surface-primary": *color_doc
63
+ "tokens.colors.warning": *color_doc
64
+ "tokens.components.badge-danger.bg": &badge_doc { surface_id: badges, source_id: badge-doc, method: official-doc, captured: "2026-07-11" }
65
+ "tokens.components.badge-danger.fg": *badge_doc
66
+ "tokens.components.badge-danger.font": *badge_doc
67
+ "tokens.components.badge-danger.height": *badge_doc
68
+ "tokens.components.badge-danger.padding": *badge_doc
69
+ "tokens.components.badge-danger.radius": *badge_doc
70
+ "tokens.components.badge-danger.type": *badge_doc
71
+ "tokens.components.badge-danger.use": *badge_doc
72
+ "tokens.components.badge-point.bg": *badge_doc
73
+ "tokens.components.badge-point.fg": *badge_doc
74
+ "tokens.components.badge-point.font": *badge_doc
75
+ "tokens.components.badge-point.height": *badge_doc
76
+ "tokens.components.badge-point.padding": *badge_doc
77
+ "tokens.components.badge-point.radius": *badge_doc
78
+ "tokens.components.badge-point.type": *badge_doc
79
+ "tokens.components.badge-point.use": *badge_doc
80
+ "tokens.components.badge-primary.bg": *badge_doc
81
+ "tokens.components.badge-primary.border": *badge_doc
82
+ "tokens.components.badge-primary.fg": *badge_doc
83
+ "tokens.components.badge-primary.font": *badge_doc
84
+ "tokens.components.badge-primary.height": *badge_doc
85
+ "tokens.components.badge-primary.padding": *badge_doc
86
+ "tokens.components.badge-primary.radius": *badge_doc
87
+ "tokens.components.badge-primary.type": *badge_doc
88
+ "tokens.components.badge-primary.use": *badge_doc
89
+ "tokens.components.badge-success.bg": *badge_doc
90
+ "tokens.components.badge-success.fg": *badge_doc
91
+ "tokens.components.badge-success.font": *badge_doc
92
+ "tokens.components.badge-success.height": *badge_doc
93
+ "tokens.components.badge-success.padding": *badge_doc
94
+ "tokens.components.badge-success.radius": *badge_doc
95
+ "tokens.components.badge-success.type": *badge_doc
96
+ "tokens.components.badge-success.use": *badge_doc
97
+ "tokens.components.badge-warning.bg": *badge_doc
98
+ "tokens.components.badge-warning.fg": *badge_doc
99
+ "tokens.components.badge-warning.font": *badge_doc
100
+ "tokens.components.badge-warning.height": *badge_doc
101
+ "tokens.components.badge-warning.padding": *badge_doc
102
+ "tokens.components.badge-warning.radius": *badge_doc
103
+ "tokens.components.badge-warning.type": *badge_doc
104
+ "tokens.components.badge-warning.use": *badge_doc
105
+ "tokens.components.badge-tag.active": &tag_doc { surface_id: tag, source_id: tag-doc, method: official-doc, captured: "2026-05-08" }
106
+ "tokens.components.badge-tag.bg": *tag_doc
107
+ "tokens.components.badge-tag.border": *tag_doc
108
+ "tokens.components.badge-tag.fg": *tag_doc
109
+ "tokens.components.badge-tag.font": *tag_doc
110
+ "tokens.components.badge-tag.padding": *tag_doc
111
+ "tokens.components.badge-tag.radius": *tag_doc
112
+ "tokens.components.badge-tag.type": *tag_doc
113
+ "tokens.components.badge-tag.use": *tag_doc
114
+ "tokens.components.button-primary.active": &button_doc { surface_id: buttons, source_id: button-doc, method: official-doc, captured: "2026-07-11" }
115
+ "tokens.components.button-primary.bg": *button_doc
116
+ "tokens.components.button-primary.border": *button_doc
117
+ "tokens.components.button-primary.disabled": *button_doc
118
+ "tokens.components.button-primary.fg": *button_doc
119
+ "tokens.components.button-primary.font": *button_doc
120
+ "tokens.components.button-primary.height": *button_doc
121
+ "tokens.components.button-primary.hover": *button_doc
122
+ "tokens.components.button-primary.padding": *button_doc
123
+ "tokens.components.button-primary.radius": *button_doc
124
+ "tokens.components.button-primary.type": *button_doc
125
+ "tokens.components.button-primary.use": *button_doc
126
+ "tokens.components.button-secondary.bg": *button_doc
127
+ "tokens.components.button-secondary.border": *button_doc
128
+ "tokens.components.button-secondary.fg": *button_doc
129
+ "tokens.components.button-secondary.font": *button_doc
130
+ "tokens.components.button-secondary.height": *button_doc
131
+ "tokens.components.button-secondary.padding": *button_doc
132
+ "tokens.components.button-secondary.radius": *button_doc
133
+ "tokens.components.button-secondary.states": *button_doc
134
+ "tokens.components.button-secondary.type": *button_doc
135
+ "tokens.components.button-secondary.use": *button_doc
136
+ "tokens.components.button-tertiary.bg": *button_doc
137
+ "tokens.components.button-tertiary.border": *button_doc
138
+ "tokens.components.button-tertiary.fg": *button_doc
139
+ "tokens.components.button-tertiary.font": *button_doc
140
+ "tokens.components.button-tertiary.height": *button_doc
141
+ "tokens.components.button-tertiary.hover": *button_doc
142
+ "tokens.components.button-tertiary.padding": *button_doc
143
+ "tokens.components.button-tertiary.radius": *button_doc
144
+ "tokens.components.button-tertiary.type": *button_doc
145
+ "tokens.components.button-tertiary.use": *button_doc
146
+ "tokens.shadow.focus": *button_doc
147
+ "tokens.components.dialog.bg": &modal_doc { surface_id: modal, source_id: modal-doc, method: official-doc, captured: "2026-07-11" }
148
+ "tokens.components.dialog.fg": *modal_doc
149
+ "tokens.components.dialog.padding": *modal_doc
150
+ "tokens.components.dialog.radius": *modal_doc
151
+ "tokens.components.dialog.shadow": *modal_doc
152
+ "tokens.components.dialog.type": *modal_doc
153
+ "tokens.components.dialog.use": *modal_doc
154
+ "tokens.shadow.modal": *modal_doc
155
+ "tokens.components.input-text.bg": &input_doc { surface_id: text-input, source_id: input-doc, method: official-doc, captured: "2026-07-11" }
156
+ "tokens.components.input-text.border": *input_doc
157
+ "tokens.components.input-text.disabled": *input_doc
158
+ "tokens.components.input-text.fg": *input_doc
159
+ "tokens.components.input-text.focus": *input_doc
160
+ "tokens.components.input-text.font": *input_doc
161
+ "tokens.components.input-text.height": *input_doc
162
+ "tokens.components.input-text.padding": *input_doc
163
+ "tokens.components.input-text.radius": *input_doc
164
+ "tokens.components.input-text.states": *input_doc
165
+ "tokens.components.input-text.type": *input_doc
166
+ "tokens.components.input-text.use": *input_doc
167
+ "tokens.components.select.bg": &select_doc { surface_id: select, source_id: select-doc, method: official-doc, captured: "2026-07-11" }
168
+ "tokens.components.select.border": *select_doc
169
+ "tokens.components.select.disabled": *select_doc
170
+ "tokens.components.select.fg": *select_doc
171
+ "tokens.components.select.font": *select_doc
172
+ "tokens.components.select.height": *select_doc
173
+ "tokens.components.select.padding": *select_doc
174
+ "tokens.components.select.radius": *select_doc
175
+ "tokens.components.select.states": *select_doc
176
+ "tokens.components.select.type": *select_doc
177
+ "tokens.components.select.use": *select_doc
178
+ "tokens.rounded.full": &layout_doc { surface_id: layout, source_id: layout-doc, method: official-doc, captured: "2026-05-08" }
179
+ "tokens.rounded.lg": *layout_doc
180
+ "tokens.rounded.md": *layout_doc
181
+ "tokens.rounded.sm": *layout_doc
182
+ "tokens.spacing.base": *layout_doc
183
+ "tokens.spacing.lg": *layout_doc
184
+ "tokens.spacing.md": *layout_doc
185
+ "tokens.spacing.sm": *layout_doc
186
+ "tokens.spacing.xl": *layout_doc
187
+ "tokens.spacing.xs": *layout_doc
188
+ "tokens.spacing.xxl": *layout_doc
189
+ "tokens.typography.body-large.lineHeight": &type_doc { surface_id: typography, source_id: type-doc, method: official-doc, captured: "2026-07-11" }
190
+ "tokens.typography.body-large.size": *type_doc
191
+ "tokens.typography.body-large.use": *type_doc
192
+ "tokens.typography.body-large.weight": *type_doc
193
+ "tokens.typography.body-medium.lineHeight": *type_doc
194
+ "tokens.typography.body-medium.size": *type_doc
195
+ "tokens.typography.body-medium.use": *type_doc
196
+ "tokens.typography.body-medium.weight": *type_doc
197
+ "tokens.typography.body-small.lineHeight": *type_doc
198
+ "tokens.typography.body-small.size": *type_doc
199
+ "tokens.typography.body-small.use": *type_doc
200
+ "tokens.typography.body-small.weight": *type_doc
201
+ "tokens.typography.body-xsmall.lineHeight": *type_doc
202
+ "tokens.typography.body-xsmall.size": *type_doc
203
+ "tokens.typography.body-xsmall.use": *type_doc
204
+ "tokens.typography.body-xsmall.weight": *type_doc
205
+ "tokens.typography.display-large.lineHeight": *type_doc
206
+ "tokens.typography.display-large.size": *type_doc
207
+ "tokens.typography.display-large.tracking": *type_doc
208
+ "tokens.typography.display-large.use": *type_doc
209
+ "tokens.typography.display-large.weight": *type_doc
210
+ "tokens.typography.display-small.lineHeight": *type_doc
211
+ "tokens.typography.display-small.size": *type_doc
212
+ "tokens.typography.display-small.tracking": *type_doc
213
+ "tokens.typography.display-small.use": *type_doc
214
+ "tokens.typography.display-small.weight": *type_doc
215
+ "tokens.typography.family.sans": *type_doc
216
+ "tokens.typography.heading-large.lineHeight": *type_doc
217
+ "tokens.typography.heading-large.size": *type_doc
218
+ "tokens.typography.heading-large.tracking": *type_doc
219
+ "tokens.typography.heading-large.use": *type_doc
220
+ "tokens.typography.heading-large.weight": *type_doc
221
+ "tokens.typography.heading-medium.lineHeight": *type_doc
222
+ "tokens.typography.heading-medium.size": *type_doc
223
+ "tokens.typography.heading-medium.use": *type_doc
224
+ "tokens.typography.heading-medium.weight": *type_doc
225
+ "tokens.typography.heading-small.lineHeight": *type_doc
226
+ "tokens.typography.heading-small.size": *type_doc
227
+ "tokens.typography.heading-small.use": *type_doc
228
+ "tokens.typography.heading-small.weight": *type_doc
229
+ "tokens.typography.heading-xlarge.lineHeight": *type_doc
230
+ "tokens.typography.heading-xlarge.size": *type_doc
231
+ "tokens.typography.heading-xlarge.tracking": *type_doc
232
+ "tokens.typography.heading-xlarge.use": *type_doc
233
+ "tokens.typography.heading-xlarge.weight": *type_doc
234
+ "tokens.typography.heading-xsmall.lineHeight": *type_doc
235
+ "tokens.typography.heading-xsmall.size": *type_doc
236
+ "tokens.typography.heading-xsmall.use": *type_doc
237
+ "tokens.typography.heading-xsmall.weight": *type_doc
238
+ conflicts: []
19
239
  tokens:
20
- source: prose-derived
21
- extracted: "2026-06-09"
240
+ source: reconciled
241
+ extracted: "2026-07-11"
242
+ note: "Canonical tokens are limited to official KRDS pages with current live capture or still-fresh 2026-05 official-document evidence. Unreverified card, toggle, tab, toast, and floating-button candidates remain prose-only and are not exposed as machine tokens."
22
243
  colors:
23
244
  primary: "#256ef4"
24
245
  primary-hover: "#0b50d0"
@@ -40,7 +261,7 @@ tokens:
40
261
  success: "#228738"
41
262
  information: "#0b78cb"
42
263
  typography:
43
- family: { sans: "Pretendard GOV", mono: "SF Mono" }
264
+ family: { sans: "Pretendard GOV" }
44
265
  display-large: { size: 60, weight: 700, lineHeight: 1.5, tracking: "1px", use: "Marketing/banner display (no body use)" }
45
266
  display-small: { size: 36, weight: 700, lineHeight: 1.5, tracking: "1px", use: "Small display banner" }
46
267
  heading-xlarge: { size: 40, weight: 700, lineHeight: 1.5, tracking: "1px", use: "H1 page/section top title (28px mobile)" }
@@ -60,16 +281,10 @@ tokens:
60
281
  components_harvested: true
61
282
  components:
62
283
  button-primary: { type: button, bg: "#256ef4", fg: "#ffffff", border: "1px solid #256ef4", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", hover: "#0b50d0", active: "#083891", disabled: "bg #cdd1d5 fg #6d7882", use: "Core action 신청하기/확인 (1 per screen)" }
63
- button-secondary: { type: button, bg: "#ecf2fe", fg: "#0b50d0", border: "1px solid #256ef4", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", use: "Secondary action 자세히 보기/이전 단계" }
284
+ button-secondary: { type: button, bg: "#ecf2fe", fg: "#0b50d0", border: "1px solid #256ef4", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", states: "default; shared 4px focus halo and aria-disabled behavior", use: "Secondary action 자세히 보기/이전 단계" }
64
285
  button-tertiary: { type: button, bg: "transparent", fg: "#1e2124", border: "1px solid #58616a", radius: "6px", padding: "0 16px", height: "48px", font: "17px / 400", hover: "#f4f5f6", use: "Cancel/reset 취소/초기화/닫기" }
65
- button-floating: { type: button, bg: "#256ef4", fg: "#ffffff", radius: "1000px", shadow: "weak box-shadow", use: "Bottom-right floating action 맨 위로/챗봇" }
66
286
  input-text: { type: input, bg: "#ffffff", fg: "#464c53", border: "1px solid #58616a", radius: "8px", padding: "0 16px", height: "56px", font: "19px / 400", focus: "0 0 0 4px #256ef4 halo", disabled: "bg #cdd1d5 fg #6d7882 border #b1b8be", states: "error border 2px solid #de3412", use: "Standard text input (large default)" }
67
287
  select: { type: input, bg: "#ffffff", fg: "#1e2124", border: "1px solid #58616a", radius: "6px", padding: "0 48px 0 16px", height: "56px", font: "19px / 400", disabled: "bg #cdd1d5 border #b1b8be", states: "error border 2px solid #ab2b36", use: "Native select with chevron" }
68
- toggle-checkbox: { type: toggle, bg: "#ffffff", border: "1px solid #58616a", radius: "4px", active: "bg #256ef4 + white check icon", use: "Multi-select checkbox" }
69
- toggle-switch: { type: toggle, bg: "#b1b8be", fg: "#ffffff", radius: "1000px", active: "#256ef4 track, white thumb right", disabled: "bg #cdd1d5", use: "On/off toggle switch" }
70
- card: { type: card, bg: "#ffffff", border: "1px solid #b1b8be", radius: "8px", padding: "24px", shadow: "none", use: "Standard content panel, border-defined" }
71
- card-info: { type: card, bg: "#ecf2fe", fg: "#1e2124", radius: "8px", padding: "16px 24px", use: "Info/help panel 안내·도움말" }
72
- card-critical: { type: card, bg: "#de3412", fg: "#ffffff", radius: "0", use: "Full-bleed urgent notice banner top of page" }
73
288
  dialog: { type: dialog, bg: "#ffffff", fg: "#1e2124", radius: "12px", padding: "40px", shadow: "0 0.2rem 0 0 rgba(0,0,0,0.1), 0 0.4rem 0.8rem 0 rgba(0,0,0,0.1)", use: "Modal dialog, backdrop fade 0->0.5 black, min-height 264px" }
74
289
  badge-primary: { type: badge, bg: "#256ef4", fg: "#ffffff", border: "1px solid #256ef4", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Content classification, action emphasis" }
75
290
  badge-point: { type: badge, bg: "#d63d4a", fg: "#ffffff", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Emphasis/new/important (red point)" }
@@ -77,15 +292,13 @@ tokens:
77
292
  badge-danger: { type: badge, bg: "#de3412", fg: "#ffffff", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Error / rejected" }
78
293
  badge-warning: { type: badge, bg: "#ffb114", fg: "#1e2124", radius: "4px", padding: "0 8px", height: "24px", font: "15px / 400", use: "Caution (black text on warning bg)" }
79
294
  badge-tag: { type: badge, bg: "#ffffff", fg: "#1e2124", border: "1px solid #cdd1d5", radius: "1000px", padding: "8px 10px", font: "15px / 400", active: "bg #ecf2fe fg #0b50d0 border #256ef4", use: "Selectable filter chip with delete button" }
80
- tab-horizontal: { type: tab, bg: "transparent", fg: "#464c53", font: "17px / 400", active: "fg #256ef4 700 + 2px bottom border #256ef4", use: "In-page section switch, keyboard L/R nav" }
81
- toast: { type: toast, bg: "#1e2124", fg: "#ffffff", radius: "8px", padding: "16px", use: "Center/bottom card, 3s auto-dismiss" }
82
295
  ---
83
296
 
84
297
  # Design System Inspiration of KRDS (대한민국 정부 디자인 시스템)
85
298
 
86
299
  ## 1. Visual Theme & Atmosphere
87
300
 
88
- KRDS는 대한민국 행정·공공기관 웹·앱이 공유하는 정부 표준 디자인 시스템입니다. 화면은 마케팅 브랜드가 아니라 **공공 서비스의 도구**처럼 보이도록 설계되었습니다 — 순백 배경(`#ffffff`) 위에 거의 검정에 가까운 본문(`#1E2124`), 그리고 신뢰감을 주는 정부 블루(`#256EF4`)가 단 하나의 강조색으로 작동합니다. 강조색은 그래픽 장식이 아니라 행위(action), 즉 "신청", "확인", "다음 단계"가 있는 자리에만 나타납니다. 영역 분리는 그림자가 아니라 **얇은 회색 보더**(`#58616A` 1px / `#B1B8BE` 1px / `#CDD1D5` 1px)와 **8px 라운드**로 처리되어, 시각적 무게가 일관되게 가라앉아 있습니다.
301
+ KRDS는 대한민국 행정·공공기관 웹·앱이 공유하는 정부 표준 디자인 시스템입니다. 화면은 마케팅 브랜드가 아니라 **공공 서비스의 도구**처럼 보이도록 설계되었습니다 — 순백 배경(`#ffffff`) 위에 거의 검정에 가까운 본문(`#1E2124`), 그리고 신뢰감을 주는 정부 블루(`#256EF4`)가 단 하나의 강조색으로 작동합니다. 강조색은 그래픽 장식이 아니라 행위(action), 즉 "신청", "확인", "다음 단계"가 있는 자리에만 나타납니다. 영역 분리는 그림자가 아니라 **얇은 회색 보더**(`#58616A` 1px / `#B1B8BE` 1px / `#CDD1D5` 1px)와 **8px 라운드**로 처리되어, 시각적 무게가 일관되게 가라앉아 있습니다. 이 절제는 기관별 취향보다 시민의 예측 가능성과 접근성을 먼저 두는 공공 제품의 정체성입니다.
89
302
 
90
303
  이 시스템은 "디지털 정부서비스 UI/UX 가이드라인"을 표준 토큰·컴포넌트로 정착시킨 것으로, 행정안전부(MOIS)가 2024년 4월에 공식 배포했습니다 ([행정안전부 보도자료](https://www.mois.go.kr/frt/bbs/type010/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000008&nttId=115144)). 분위기를 한 줄로 요약하면 **"읽기 쉽고, 예측 가능하며, 접근성을 우선하는 공공 유틸리티"**입니다. 화려한 일러스트, 그라데이션, 톤다운된 마케팅 영문 카피, 과장된 모션은 의도적으로 배제되어 있습니다.
91
304
 
@@ -214,6 +427,18 @@ KRDS 컬러 팔레트는 명도 단계 간 차이를 **WCAG 대비율과 직접
214
427
 
215
428
  ## 3. Typography Rules
216
429
 
430
+ ### Font evidence boundary
431
+
432
+ | Evidence class | Resolution |
433
+ |---|---|
434
+ | Official product-use | KRDS 공식 typography foundation이 `Pretendard GOV`를 기본 서체로 지정합니다. |
435
+ | Live surface-use | `krds.go.kr`의 수집된 10개 surface에서 loaded/high-confidence 사용을 확인했습니다. |
436
+ | Official distributed asset | KRDS가 공식 웹폰트와 구현 자산을 공개합니다. |
437
+ | Declared-only | 기관 확장용 고딕 계열 예시는 현재 KRDS 기본 제품 사용으로 승격하지 않습니다. |
438
+ | Unresolved | 개별 도입 기관의 자체 서체는 해당 기관 surface를 별도로 검증하기 전에는 미확정입니다. |
439
+
440
+ Specimen availability is separate from family truth: 공식 자산을 로드할 수 있을 때만 실제 specimen을 렌더합니다.
441
+
217
442
  ### Font Family
218
443
  - **Primary**: `"Pretendard GOV", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif`
219
444
  - **설계 원칙**: KRDS 전용 빌드인 **Pretendard GOV**는 라이선스가 명확하고(오픈 폰트), 한글·라틴·기호의 메트릭이 균일하여 정부 문서에서 자주 발생하는 혼용 표기(예: "민원 24", "행정 API")가 정렬·자간 어긋남 없이 표현됩니다. 라이브 페이지에서 `--krds-font-family-base: Pretendard GOV`로 확인됨.
@@ -1052,9 +1277,10 @@ Rebuild diff vs prior pass:
1052
1277
 
1053
1278
  ---
1054
1279
 
1055
- **Verified:** 2026-05-08 (deep re-verification 10 pages inspected)
1056
- **Tier 1 sources:** 10 live pages on www.krds.go.kr index + 3 style pages (color/typography/layout) + 6 component pages (buttons/inputs/select/tag/modal/badge). 588 `--krds-color-*` tokens enumerated, full radius/padding/size-height/transition token sets extracted.
1057
- **Tier 2 sources:** getdesign.md/krds no record / styles.refero.design no record. KRDS 자체가 정부 발행 canonical token catalog.
1280
+ **Verified:** 2026-07-11 (8-surface live recapture + still-fresh layout/tag official evidence)
1281
+ **Tier 1 sources:** https://www.krds.go.kr/html/site/index.html · https://www.krds.go.kr/html/site/style/style_02.html · https://www.krds.go.kr/html/site/style/style_03.html · https://www.krds.go.kr/html/site/style/style_05.html · https://www.krds.go.kr/html/site/component/component_05_02.html · https://www.krds.go.kr/html/site/component/component_09_03.html · https://www.krds.go.kr/html/site/component/component_06_03.html · https://www.krds.go.kr/html/site/component/component_06_04.html · https://www.krds.go.kr/html/site/component/component_04_05.html · https://www.krds.go.kr/html/site/component/component_04_06.html
1282
+ **Tier 2 sources:** https://getdesign.md/krds (rendered `No designs found`) · https://styles.refero.design/?q=KRDS (no rendered `/style/` result in available path)
1058
1283
  **Tier 3 (Philosophy):** 행정안전부 보도자료, 대한민국 정책브리핑, Design Compass(KR/EN), TPGi(KWCAG·장차법), AAAtraq(2025 a11y 동향), GOV.UK / USWDS / Singapore GDS 비교 좌표.
1059
1284
  **Style ref:** `yeogiotte` (한국 공공·민간 정중한 한국어 톤 참조), `karrot` (한국 voice 형식 참조).
1060
- **Conflicts unresolved:** none. KRDS는 단일 정부 발행 시스템이므로 부처별 변형 / 외부 aggregator 충돌 없음.
1285
+ 미재수집 컴포넌트는 conflict로 덮지 않고 machine token에서 제외했다.
1286
+ **Conflicts unresolved:** none