oh-my-design-cli 1.8.7 → 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 (247) 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 +1995 -38
  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/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. 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