@design-ai/cli 4.55.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 (529) hide show
  1. package/.claude-plugin/plugin.json +164 -0
  2. package/AGENTS.ko.md +126 -0
  3. package/AGENTS.md +182 -0
  4. package/CHANGELOG.md +6883 -0
  5. package/CLAUDE.md +39 -0
  6. package/LICENSE +21 -0
  7. package/README.ko.md +245 -0
  8. package/README.md +277 -0
  9. package/agents/README.md +14 -0
  10. package/agents/a11y-reviewer.md +121 -0
  11. package/agents/component-architect.md +57 -0
  12. package/agents/design-critic.md +46 -0
  13. package/agents/token-extractor.md +63 -0
  14. package/cli/bin/design-ai-mcp.mjs +6 -0
  15. package/cli/bin/design-ai.mjs +40 -0
  16. package/cli/commands/audit.mjs +111 -0
  17. package/cli/commands/check.mjs +226 -0
  18. package/cli/commands/doctor.mjs +141 -0
  19. package/cli/commands/examples.mjs +58 -0
  20. package/cli/commands/help.mjs +271 -0
  21. package/cli/commands/install.mjs +161 -0
  22. package/cli/commands/learn.mjs +1871 -0
  23. package/cli/commands/list.mjs +143 -0
  24. package/cli/commands/mcp.mjs +27 -0
  25. package/cli/commands/pack.mjs +211 -0
  26. package/cli/commands/prompt.mjs +199 -0
  27. package/cli/commands/route.mjs +247 -0
  28. package/cli/commands/search.mjs +60 -0
  29. package/cli/commands/show.mjs +52 -0
  30. package/cli/commands/site.mjs +558 -0
  31. package/cli/commands/status.mjs +161 -0
  32. package/cli/commands/uninstall.mjs +119 -0
  33. package/cli/commands/update.mjs +184 -0
  34. package/cli/commands/version.mjs +94 -0
  35. package/cli/commands/workspace.mjs +176 -0
  36. package/cli/lib/brief.mjs +52 -0
  37. package/cli/lib/check.mjs +642 -0
  38. package/cli/lib/dispatch.mjs +109 -0
  39. package/cli/lib/doctor.mjs +505 -0
  40. package/cli/lib/examples.mjs +258 -0
  41. package/cli/lib/exec.mjs +63 -0
  42. package/cli/lib/help-flags.mjs +5 -0
  43. package/cli/lib/learn.mjs +3694 -0
  44. package/cli/lib/log.mjs +47 -0
  45. package/cli/lib/mcp-server.mjs +426 -0
  46. package/cli/lib/output.mjs +101 -0
  47. package/cli/lib/pack.mjs +599 -0
  48. package/cli/lib/paths.mjs +63 -0
  49. package/cli/lib/prompt.mjs +603 -0
  50. package/cli/lib/route.mjs +740 -0
  51. package/cli/lib/search.mjs +158 -0
  52. package/cli/lib/show.mjs +161 -0
  53. package/cli/lib/signals.mjs +2337 -0
  54. package/cli/lib/site.mjs +6617 -0
  55. package/cli/lib/skill-proposals.mjs +2046 -0
  56. package/cli/lib/suggest.mjs +66 -0
  57. package/cli/lib/workspace.mjs +1056 -0
  58. package/commands/README.md +25 -0
  59. package/commands/component-spec.md +34 -0
  60. package/commands/conversational.md +44 -0
  61. package/commands/design-from-brief.md +141 -0
  62. package/commands/design-review.md +62 -0
  63. package/commands/document-from-brief.md +47 -0
  64. package/commands/extract-tokens.md +38 -0
  65. package/commands/game-ui.md +40 -0
  66. package/commands/illustration.md +37 -0
  67. package/commands/iterate.md +167 -0
  68. package/commands/motion-design.md +54 -0
  69. package/commands/palette-from-brand.md +50 -0
  70. package/commands/print.md +49 -0
  71. package/commands/slide-deck.md +46 -0
  72. package/commands/spatial.md +47 -0
  73. package/commands/stability-review.md +74 -0
  74. package/commands/video.md +42 -0
  75. package/commands/website-improvement.md +77 -0
  76. package/docs/AGENT-DEVELOPMENT.md +658 -0
  77. package/docs/AI-LEARNING.md +429 -0
  78. package/docs/AIDER-INTEGRATION.md +224 -0
  79. package/docs/ARCHITECTURE.ko.md +183 -0
  80. package/docs/ARCHITECTURE.md +105 -0
  81. package/docs/CODEX-INTEGRATION.md +311 -0
  82. package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
  83. package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
  84. package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
  85. package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
  86. package/docs/CONTRIBUTING.ko.md +203 -0
  87. package/docs/CONTRIBUTING.md +242 -0
  88. package/docs/CURSOR-INTEGRATION.md +220 -0
  89. package/docs/DISTRIBUTION.ko.md +248 -0
  90. package/docs/DISTRIBUTION.md +253 -0
  91. package/docs/DOGFOOD-FINDINGS.md +180 -0
  92. package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
  93. package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
  94. package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
  95. package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
  96. package/docs/FIGMA-INTEGRATION.md +222 -0
  97. package/docs/MCP-INTEGRATION.md +243 -0
  98. package/docs/MIGRATION-v4.md +121 -0
  99. package/docs/PLUGIN-PACKAGING.md +240 -0
  100. package/docs/PRODUCT-READINESS.md +66 -0
  101. package/docs/QUICKSTART.ko.md +178 -0
  102. package/docs/QUICKSTART.md +179 -0
  103. package/docs/RELEASE-CHECKLIST.md +292 -0
  104. package/docs/ROADMAP.md +19495 -0
  105. package/docs/SESSION-LOG.md +940 -0
  106. package/docs/TOKEN-SYNC.md +237 -0
  107. package/docs/USING.ko.md +206 -0
  108. package/docs/USING.md +218 -0
  109. package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
  110. package/docs/WEBSITE-IMPROVEMENT.md +89 -0
  111. package/docs/announcements/README.md +56 -0
  112. package/docs/announcements/dev-to-korea.md +206 -0
  113. package/docs/announcements/hashnode-post.ko.md +232 -0
  114. package/docs/announcements/okky-post.ko.md +158 -0
  115. package/docs/announcements/press-kit.md +101 -0
  116. package/docs/announcements/reddit-r-korea.md +196 -0
  117. package/docs/announcements/show-hn.md +114 -0
  118. package/docs/announcements/twitter-thread.md +255 -0
  119. package/docs/external-status.md +34 -0
  120. package/docs/integrations/aider-walkthrough.ko.md +275 -0
  121. package/docs/integrations/aider-walkthrough.md +274 -0
  122. package/docs/integrations/codex-walkthrough.ko.md +297 -0
  123. package/docs/integrations/codex-walkthrough.md +297 -0
  124. package/docs/integrations/cursor-walkthrough.ko.md +281 -0
  125. package/docs/integrations/cursor-walkthrough.md +284 -0
  126. package/docs/integrations/design-ai-mcp-server.md +169 -0
  127. package/docs/integrations/figma-mcp.md +149 -0
  128. package/docs/integrations/github-mcp.md +178 -0
  129. package/docs/integrations/linear-mcp.md +215 -0
  130. package/docs/integrations/notion-mcp.md +174 -0
  131. package/docs/integrations/sdk-walkthrough.ko.md +375 -0
  132. package/docs/integrations/sdk-walkthrough.md +375 -0
  133. package/docs/integrations/slack-mcp.md +208 -0
  134. package/docs/integrations/vscode-walkthrough.ko.md +202 -0
  135. package/docs/integrations/vscode-walkthrough.md +205 -0
  136. package/docs/requirements.txt +16 -0
  137. package/docs/site-overrides/extra.css +83 -0
  138. package/docs/site-overrides/favicon.svg +4 -0
  139. package/docs/site-overrides/logo.svg +10 -0
  140. package/docs/site-overrides/main.html +18 -0
  141. package/docs/website-console/app.js +2540 -0
  142. package/docs/website-console/index.html +24 -0
  143. package/docs/website-console/styles.css +975 -0
  144. package/examples/README.md +252 -0
  145. package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
  146. package/examples/component-accordion-actions.md +153 -0
  147. package/examples/component-accordion-details.md +147 -0
  148. package/examples/component-accordion-summary.md +180 -0
  149. package/examples/component-accordion.md +229 -0
  150. package/examples/component-account-card.md +284 -0
  151. package/examples/component-address-input.md +260 -0
  152. package/examples/component-affix.md +190 -0
  153. package/examples/component-alert-dialog.md +210 -0
  154. package/examples/component-alert-title.md +77 -0
  155. package/examples/component-alert.md +192 -0
  156. package/examples/component-amount-input.md +278 -0
  157. package/examples/component-anchor.md +198 -0
  158. package/examples/component-app-bar.md +249 -0
  159. package/examples/component-aspect-ratio.md +156 -0
  160. package/examples/component-auto-complete.md +199 -0
  161. package/examples/component-avatar-group.md +170 -0
  162. package/examples/component-avatar.md +191 -0
  163. package/examples/component-back-top.md +123 -0
  164. package/examples/component-backdrop.md +148 -0
  165. package/examples/component-badge.md +181 -0
  166. package/examples/component-banner.md +237 -0
  167. package/examples/component-biometric-gate.md +281 -0
  168. package/examples/component-blockquote.md +153 -0
  169. package/examples/component-border-beam.md +207 -0
  170. package/examples/component-bottom-navigation.md +226 -0
  171. package/examples/component-box.md +112 -0
  172. package/examples/component-breadcrumb.md +222 -0
  173. package/examples/component-button-base.md +190 -0
  174. package/examples/component-button-group.md +117 -0
  175. package/examples/component-button.md +213 -0
  176. package/examples/component-calendar.md +280 -0
  177. package/examples/component-callout.md +131 -0
  178. package/examples/component-card-actions.md +101 -0
  179. package/examples/component-card-content.md +90 -0
  180. package/examples/component-card-header.md +122 -0
  181. package/examples/component-card-media.md +79 -0
  182. package/examples/component-card.md +233 -0
  183. package/examples/component-carousel.md +266 -0
  184. package/examples/component-cascader.md +135 -0
  185. package/examples/component-category-picker.md +271 -0
  186. package/examples/component-chart.md +237 -0
  187. package/examples/component-chat-interface.md +399 -0
  188. package/examples/component-checkbox.md +149 -0
  189. package/examples/component-click-away-listener.md +87 -0
  190. package/examples/component-code.md +213 -0
  191. package/examples/component-collapsible.md +219 -0
  192. package/examples/component-color-picker.md +110 -0
  193. package/examples/component-combobox.md +267 -0
  194. package/examples/component-command.md +299 -0
  195. package/examples/component-config-provider.md +190 -0
  196. package/examples/component-context-menu.md +179 -0
  197. package/examples/component-css-baseline.md +148 -0
  198. package/examples/component-date-picker.md +249 -0
  199. package/examples/component-descriptions.md +242 -0
  200. package/examples/component-dialog-actions.md +111 -0
  201. package/examples/component-dialog-content-text.md +76 -0
  202. package/examples/component-dialog-content.md +105 -0
  203. package/examples/component-dialog-title.md +104 -0
  204. package/examples/component-dialog.md +176 -0
  205. package/examples/component-divider.md +182 -0
  206. package/examples/component-doc-page.md +217 -0
  207. package/examples/component-drawer.md +257 -0
  208. package/examples/component-dropdown.md +220 -0
  209. package/examples/component-email-layout.md +253 -0
  210. package/examples/component-empty-state.md +269 -0
  211. package/examples/component-empty.md +172 -0
  212. package/examples/component-fade.md +87 -0
  213. package/examples/component-feature-grid.md +201 -0
  214. package/examples/component-field.md +266 -0
  215. package/examples/component-filled-input.md +114 -0
  216. package/examples/component-flex.md +117 -0
  217. package/examples/component-float-button.md +214 -0
  218. package/examples/component-form-control-label.md +134 -0
  219. package/examples/component-form-control.md +113 -0
  220. package/examples/component-form-controls.md +251 -0
  221. package/examples/component-form-group.md +86 -0
  222. package/examples/component-form-helper-text.md +95 -0
  223. package/examples/component-form-label.md +98 -0
  224. package/examples/component-form.md +291 -0
  225. package/examples/component-game-hud.md +362 -0
  226. package/examples/component-game-menu.md +327 -0
  227. package/examples/component-grid.md +140 -0
  228. package/examples/component-grow.md +79 -0
  229. package/examples/component-hero-block.md +252 -0
  230. package/examples/component-hover-card.md +211 -0
  231. package/examples/component-icon-button.md +142 -0
  232. package/examples/component-icon.md +102 -0
  233. package/examples/component-illustration.md +280 -0
  234. package/examples/component-image-list.md +107 -0
  235. package/examples/component-image.md +282 -0
  236. package/examples/component-input-adornment.md +101 -0
  237. package/examples/component-input-base.md +134 -0
  238. package/examples/component-input-number.md +141 -0
  239. package/examples/component-input-otp.md +271 -0
  240. package/examples/component-input.md +213 -0
  241. package/examples/component-item.md +243 -0
  242. package/examples/component-kbd.md +197 -0
  243. package/examples/component-krw-amount.md +219 -0
  244. package/examples/component-label.md +118 -0
  245. package/examples/component-layout.md +217 -0
  246. package/examples/component-link.md +223 -0
  247. package/examples/component-list-item-avatar.md +72 -0
  248. package/examples/component-list-item-button.md +139 -0
  249. package/examples/component-list-item-icon.md +82 -0
  250. package/examples/component-list-item-text.md +98 -0
  251. package/examples/component-list-item.md +116 -0
  252. package/examples/component-list-subheader.md +70 -0
  253. package/examples/component-list.md +198 -0
  254. package/examples/component-loading-button.md +125 -0
  255. package/examples/component-loading-sequence.md +254 -0
  256. package/examples/component-lottie-player.md +279 -0
  257. package/examples/component-masonry.md +191 -0
  258. package/examples/component-mentions.md +189 -0
  259. package/examples/component-menu-item.md +102 -0
  260. package/examples/component-menu-list.md +98 -0
  261. package/examples/component-menu.md +139 -0
  262. package/examples/component-menubar.md +259 -0
  263. package/examples/component-message.md +162 -0
  264. package/examples/component-mobile-stepper.md +155 -0
  265. package/examples/component-modal.md +220 -0
  266. package/examples/component-navigation-menu.md +295 -0
  267. package/examples/component-notification.md +166 -0
  268. package/examples/component-otp-countdown.md +245 -0
  269. package/examples/component-outlined-input.md +145 -0
  270. package/examples/component-page-transition.md +281 -0
  271. package/examples/component-pagination.md +226 -0
  272. package/examples/component-paper.md +199 -0
  273. package/examples/component-pass-auth.md +265 -0
  274. package/examples/component-payment-brand-button.md +253 -0
  275. package/examples/component-payment-method-selector.md +272 -0
  276. package/examples/component-payment-receipt.md +277 -0
  277. package/examples/component-popconfirm.md +144 -0
  278. package/examples/component-popover.md +239 -0
  279. package/examples/component-popper.md +129 -0
  280. package/examples/component-pricing-cards.md +247 -0
  281. package/examples/component-progress.md +195 -0
  282. package/examples/component-qr-code.md +201 -0
  283. package/examples/component-radio.md +167 -0
  284. package/examples/component-rate.md +202 -0
  285. package/examples/component-resizable.md +163 -0
  286. package/examples/component-result.md +270 -0
  287. package/examples/component-scroll-area.md +199 -0
  288. package/examples/component-scroll-reveal.md +320 -0
  289. package/examples/component-segmented.md +178 -0
  290. package/examples/component-select.md +258 -0
  291. package/examples/component-separator.md +177 -0
  292. package/examples/component-sheet.md +277 -0
  293. package/examples/component-sidebar.md +257 -0
  294. package/examples/component-skeleton.md +178 -0
  295. package/examples/component-slide.md +89 -0
  296. package/examples/component-slider.md +208 -0
  297. package/examples/component-snackbar-content.md +92 -0
  298. package/examples/component-snackbar.md +121 -0
  299. package/examples/component-sonner.md +165 -0
  300. package/examples/component-space.md +125 -0
  301. package/examples/component-spatial-locomotion.md +373 -0
  302. package/examples/component-spatial-panel.md +330 -0
  303. package/examples/component-speed-dial-action.md +78 -0
  304. package/examples/component-speed-dial.md +177 -0
  305. package/examples/component-spin.md +173 -0
  306. package/examples/component-spinner.md +204 -0
  307. package/examples/component-splitter.md +210 -0
  308. package/examples/component-stack.md +130 -0
  309. package/examples/component-statistic.md +282 -0
  310. package/examples/component-step-button.md +157 -0
  311. package/examples/component-step-connector.md +157 -0
  312. package/examples/component-step-content.md +121 -0
  313. package/examples/component-step-icon.md +115 -0
  314. package/examples/component-step-label.md +101 -0
  315. package/examples/component-step.md +84 -0
  316. package/examples/component-steps.md +264 -0
  317. package/examples/component-stock-chart.md +251 -0
  318. package/examples/component-swipeable-drawer.md +149 -0
  319. package/examples/component-switch.md +99 -0
  320. package/examples/component-tab-scroll-button.md +180 -0
  321. package/examples/component-tab.md +120 -0
  322. package/examples/component-table-body.md +82 -0
  323. package/examples/component-table-cell.md +118 -0
  324. package/examples/component-table-container.md +75 -0
  325. package/examples/component-table-footer.md +72 -0
  326. package/examples/component-table-head.md +78 -0
  327. package/examples/component-table-pagination.md +137 -0
  328. package/examples/component-table-row.md +113 -0
  329. package/examples/component-table-sort-label.md +109 -0
  330. package/examples/component-table.md +202 -0
  331. package/examples/component-tabs.md +184 -0
  332. package/examples/component-tag-badge.md +309 -0
  333. package/examples/component-tag.md +102 -0
  334. package/examples/component-testimonial-carousel.md +218 -0
  335. package/examples/component-textarea-autosize.md +114 -0
  336. package/examples/component-textarea.md +173 -0
  337. package/examples/component-time-picker.md +205 -0
  338. package/examples/component-timeline.md +170 -0
  339. package/examples/component-toast.md +224 -0
  340. package/examples/component-toggle-button.md +129 -0
  341. package/examples/component-toggle.md +220 -0
  342. package/examples/component-toolbar.md +104 -0
  343. package/examples/component-tooltip.md +178 -0
  344. package/examples/component-tour.md +176 -0
  345. package/examples/component-transaction-list-item.md +243 -0
  346. package/examples/component-transfer.md +156 -0
  347. package/examples/component-tree-select.md +202 -0
  348. package/examples/component-tree.md +297 -0
  349. package/examples/component-typography.md +215 -0
  350. package/examples/component-upload.md +295 -0
  351. package/examples/component-video-hero.md +409 -0
  352. package/examples/component-video-player.md +340 -0
  353. package/examples/component-voice-input.md +408 -0
  354. package/examples/component-watermark.md +217 -0
  355. package/examples/component-zoom.md +92 -0
  356. package/examples/doc-explanation-example.md +196 -0
  357. package/examples/doc-how-to-example.md +205 -0
  358. package/examples/doc-tutorial-example.md +162 -0
  359. package/examples/dogfood-korean-fintech-system.md +433 -0
  360. package/examples/email-transactional-example.md +259 -0
  361. package/examples/palette-saas-violet.md +235 -0
  362. package/examples/print-business-card-spec.md +205 -0
  363. package/examples/print-packaging-spec.md +285 -0
  364. package/examples/report-example.md +228 -0
  365. package/examples/slide-deck-example.md +237 -0
  366. package/examples/website-improvement-report.md +128 -0
  367. package/examples/website-improvement-workspace.json +126 -0
  368. package/install.sh +189 -0
  369. package/knowledge/COVERAGE.md +740 -0
  370. package/knowledge/PRINCIPLES.md +108 -0
  371. package/knowledge/a11y/contrast.md +70 -0
  372. package/knowledge/a11y/keyboard-and-focus.md +108 -0
  373. package/knowledge/colors/color-theory.md +90 -0
  374. package/knowledge/colors/mui-palette-structure.md +105 -0
  375. package/knowledge/colors/palettes-by-product-type.md +876 -0
  376. package/knowledge/components/INDEX.md +231 -0
  377. package/knowledge/components/index.json +1470 -0
  378. package/knowledge/components/shadcn-registry.md +159 -0
  379. package/knowledge/conversational/ai-chat-interfaces.md +323 -0
  380. package/knowledge/conversational/chatbot-design.md +312 -0
  381. package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
  382. package/knowledge/conversational/korean-voice-conventions.md +281 -0
  383. package/knowledge/conversational/voice-ui-patterns.md +297 -0
  384. package/knowledge/design-tokens/ant-design.md +124 -0
  385. package/knowledge/design-tokens/material-3.md +235 -0
  386. package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
  387. package/knowledge/design-tokens/tailwind-v4.md +284 -0
  388. package/knowledge/game-ui/game-accessibility.md +317 -0
  389. package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
  390. package/knowledge/game-ui/hud-design.md +324 -0
  391. package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
  392. package/knowledge/game-ui/menu-systems.md +388 -0
  393. package/knowledge/i18n/korean-app-store-visual.md +223 -0
  394. package/knowledge/i18n/korean-document-style.md +301 -0
  395. package/knowledge/i18n/korean-payments.md +211 -0
  396. package/knowledge/i18n/korean-product-conventions.md +96 -0
  397. package/knowledge/i18n/korean-publishing.md +139 -0
  398. package/knowledge/i18n/korean-typography.md +123 -0
  399. package/knowledge/icons/curated-sets.md +225 -0
  400. package/knowledge/illustration/hero-illustrations.md +234 -0
  401. package/knowledge/illustration/illustration-systems.md +221 -0
  402. package/knowledge/illustration/mascot-design.md +208 -0
  403. package/knowledge/illustration/spot-illustrations.md +246 -0
  404. package/knowledge/illustration/svg-optimization.md +308 -0
  405. package/knowledge/layout/spacing-and-grid.md +119 -0
  406. package/knowledge/motion/app-loading-sequences.md +277 -0
  407. package/knowledge/motion/choreography-depth.md +297 -0
  408. package/knowledge/motion/marketing-motion.md +223 -0
  409. package/knowledge/motion/micro-interactions.md +266 -0
  410. package/knowledge/motion/motion-tools.md +281 -0
  411. package/knowledge/motion/principles.md +126 -0
  412. package/knowledge/patterns/auth-flow-design.md +316 -0
  413. package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
  414. package/knowledge/patterns/brand-identity.md +238 -0
  415. package/knowledge/patterns/brand-references.md +97 -0
  416. package/knowledge/patterns/chart-color-encoding.md +269 -0
  417. package/knowledge/patterns/chart-types.md +344 -0
  418. package/knowledge/patterns/dashboard-composition.md +299 -0
  419. package/knowledge/patterns/design-system-qa.md +356 -0
  420. package/knowledge/patterns/document-typography.md +248 -0
  421. package/knowledge/patterns/email-design.md +338 -0
  422. package/knowledge/patterns/empty-states.md +263 -0
  423. package/knowledge/patterns/error-states.md +318 -0
  424. package/knowledge/patterns/form-design.md +237 -0
  425. package/knowledge/patterns/information-architecture.md +341 -0
  426. package/knowledge/patterns/landing-hero-design.md +283 -0
  427. package/knowledge/patterns/landing-page-patterns.md +681 -0
  428. package/knowledge/patterns/list-and-feed.md +371 -0
  429. package/knowledge/patterns/mobile-navigation.md +278 -0
  430. package/knowledge/patterns/money-and-amount.md +301 -0
  431. package/knowledge/patterns/onboarding.md +300 -0
  432. package/knowledge/patterns/pricing-page-design.md +261 -0
  433. package/knowledge/patterns/realtime-data.md +280 -0
  434. package/knowledge/patterns/report-design.md +330 -0
  435. package/knowledge/patterns/search-ux.md +373 -0
  436. package/knowledge/patterns/settings-page.md +325 -0
  437. package/knowledge/patterns/slide-deck-design.md +316 -0
  438. package/knowledge/patterns/styles-catalog.md +2599 -0
  439. package/knowledge/patterns/technical-writing.md +306 -0
  440. package/knowledge/patterns/ui-reasoning.md +1853 -0
  441. package/knowledge/patterns/ux-guidelines.md +1454 -0
  442. package/knowledge/platforms/react-native.md +395 -0
  443. package/knowledge/print/brochures-and-flyers.md +276 -0
  444. package/knowledge/print/korean-print-conventions.md +284 -0
  445. package/knowledge/print/packaging.md +321 -0
  446. package/knowledge/print/print-fundamentals.md +238 -0
  447. package/knowledge/print/signage-and-posters.md +235 -0
  448. package/knowledge/print/stationery.md +262 -0
  449. package/knowledge/spatial/ar-patterns.md +253 -0
  450. package/knowledge/spatial/comfort-and-accessibility.md +245 -0
  451. package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
  452. package/knowledge/spatial/spatial-ui-elements.md +343 -0
  453. package/knowledge/spatial/vr-patterns.md +302 -0
  454. package/knowledge/typography/font-pairings.md +332 -0
  455. package/knowledge/typography/mui-type-scale.md +57 -0
  456. package/knowledge/typography/type-scale-fundamentals.md +105 -0
  457. package/knowledge/video/in-product-video.md +277 -0
  458. package/knowledge/video/korean-video-conventions.md +247 -0
  459. package/knowledge/video/marketing-video.md +258 -0
  460. package/knowledge/video/social-and-short-form.md +257 -0
  461. package/knowledge/video/video-fundamentals.md +296 -0
  462. package/package.json +106 -0
  463. package/skills/README.md +39 -0
  464. package/skills/color-palette/PLAYBOOK.md +175 -0
  465. package/skills/color-palette/SKILL.md +6 -0
  466. package/skills/color-palette/TEMPLATE.md +103 -0
  467. package/skills/component-spec-writer/PLAYBOOK.md +169 -0
  468. package/skills/component-spec-writer/SKILL.md +6 -0
  469. package/skills/component-spec-writer/TEMPLATE.md +115 -0
  470. package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
  471. package/skills/conversational-ui-designer/SKILL.md +6 -0
  472. package/skills/design-broadcast/PLAYBOOK.md +146 -0
  473. package/skills/design-broadcast/SKILL.md +6 -0
  474. package/skills/design-critique/PLAYBOOK.md +137 -0
  475. package/skills/design-critique/SKILL.md +6 -0
  476. package/skills/design-pr-review/PLAYBOOK.md +171 -0
  477. package/skills/design-pr-review/SKILL.md +6 -0
  478. package/skills/design-system-builder/PLAYBOOK.md +218 -0
  479. package/skills/design-system-builder/SKILL.md +6 -0
  480. package/skills/design-system-qa/PLAYBOOK.md +163 -0
  481. package/skills/design-system-qa/SKILL.md +6 -0
  482. package/skills/document-author/PLAYBOOK.md +167 -0
  483. package/skills/document-author/SKILL.md +6 -0
  484. package/skills/figma-token-sync/PLAYBOOK.md +149 -0
  485. package/skills/figma-token-sync/SKILL.md +6 -0
  486. package/skills/game-ui-designer/PLAYBOOK.md +209 -0
  487. package/skills/game-ui-designer/SKILL.md +6 -0
  488. package/skills/handoff-spec/PLAYBOOK.md +170 -0
  489. package/skills/handoff-spec/SKILL.md +6 -0
  490. package/skills/illustration-designer/PLAYBOOK.md +166 -0
  491. package/skills/illustration-designer/SKILL.md +6 -0
  492. package/skills/motion-designer/PLAYBOOK.md +223 -0
  493. package/skills/motion-designer/SKILL.md +6 -0
  494. package/skills/print-designer/PLAYBOOK.md +209 -0
  495. package/skills/print-designer/SKILL.md +6 -0
  496. package/skills/slide-deck-author/PLAYBOOK.md +198 -0
  497. package/skills/slide-deck-author/SKILL.md +6 -0
  498. package/skills/spatial-designer/PLAYBOOK.md +238 -0
  499. package/skills/spatial-designer/SKILL.md +6 -0
  500. package/skills/ux-audit/PLAYBOOK.md +142 -0
  501. package/skills/ux-audit/SKILL.md +6 -0
  502. package/skills/video-designer/PLAYBOOK.md +240 -0
  503. package/skills/video-designer/SKILL.md +6 -0
  504. package/skills/website-improvement/PLAYBOOK.md +118 -0
  505. package/skills/website-improvement/SKILL.md +6 -0
  506. package/skills/website-improvement/TEMPLATE.md +103 -0
  507. package/tools/audit/changelog-generate.py +176 -0
  508. package/tools/audit/check-coverage.py +483 -0
  509. package/tools/audit/doctor_assertions.py +256 -0
  510. package/tools/audit/example-qa.py +108 -0
  511. package/tools/audit/frontmatter-check.py +199 -0
  512. package/tools/audit/integration-check.py +95 -0
  513. package/tools/audit/korean-copy-check.py +161 -0
  514. package/tools/audit/link-check.py +146 -0
  515. package/tools/audit/local-ci.py +558 -0
  516. package/tools/audit/package-contents.py +723 -0
  517. package/tools/audit/package-smoke.py +22443 -0
  518. package/tools/audit/raw-hex-check.py +252 -0
  519. package/tools/audit/registry-smoke.py +8188 -0
  520. package/tools/audit/release-metadata.py +9832 -0
  521. package/tools/audit/run-all.py +351 -0
  522. package/tools/audit/smoke_assertions.py +12742 -0
  523. package/tools/audit/stability-review.py +332 -0
  524. package/tools/audit/stale-check.py +156 -0
  525. package/tools/migrations/add-version-frontmatter.py +132 -0
  526. package/tools/migrations/bump-last-updated.py +131 -0
  527. package/tools/migrations/promote-stability.py +172 -0
  528. package/tools/preview/README.md +58 -0
  529. package/tools/preview/render-tokens.py +454 -0
@@ -0,0 +1,312 @@
1
+ <!-- hand-written -->
2
+ ---
3
+ title: Korean gaming conventions (PC bang, mobile gacha, MMO, regulations)
4
+ applies_to: [game-ui, korean, kr-market, gacha, mmo]
5
+ version: 1.0.0
6
+ last_updated: 2026-05
7
+ stability: stable
8
+ ---
9
+
10
+ # Korean gaming conventions
11
+
12
+ Korean gaming has distinct UI conventions, regulatory requirements, monetization patterns, and cultural expectations. This file covers what's specific to the Korean game market.
13
+
14
+ Read [`game-ui-fundamentals.md`](game-ui-fundamentals.md) first.
15
+
16
+ ## Market overview
17
+
18
+ Korea is one of the world's most important game markets:
19
+ - **Mobile gacha + MMORPG** dominate revenue.
20
+ - **PC bang (PC방)** culture: PC cafés where games are played with hourly rates.
21
+ - **High ARPU** — Korean players spend more per user than most markets.
22
+ - **Whale-driven monetization** — top spenders fund most revenue.
23
+
24
+ ### Major Korean studios
25
+
26
+ | Studio | Notable games |
27
+ | --- | --- |
28
+ | **NEXON** | 메이플스토리, FIFA Online, KartRider, 던전앤파이터, 서든어택 |
29
+ | **NCSoft** | 리니지 / 리니지 M / 리니지 W, 길드워, 블레이드 & 소울, 아이온 |
30
+ | **Smilegate** | 크로스파이어, 로스트아크, 에픽세븐 |
31
+ | **Krafton** | 배틀그라운드 (PUBG), 칼리스토 프로토콜 |
32
+ | **Pearl Abyss** | 검은사막, 도깨비 |
33
+ | **Com2uS** | 서머너즈 워, 데스티니 차일드 |
34
+ | **Netmarble** | 세븐나이츠, 리니지 2 레볼루션, 마블 콘테스트 오브 챔피언스 |
35
+ | **Kakao Games** | 오딘:발할라 라이징, 우마무스메 (KR distribution) |
36
+
37
+ ## Regulatory framework
38
+
39
+ ### 게임산업진흥에관한법률 (Game Industry Promotion Act)
40
+
41
+ Korea regulates games heavily. Key rules:
42
+
43
+ #### 확률 표시 (probability disclosure)
44
+
45
+ **Mandatory**: gacha / loot box / random reward systems must disclose drop rates.
46
+
47
+ ```
48
+ [가챠 결과 화면 또는 상점 페이지]
49
+ ─────────────────────
50
+ SSR 캐릭터: 1.5%
51
+ SR 캐릭터: 8.5%
52
+ R 캐릭터: 90%
53
+ ```
54
+
55
+ Required:
56
+ - All probabilities listed.
57
+ - Updated after each balance change.
58
+ - Accessible from store / gacha screen.
59
+ - For ENHANCED guaranteed (pity / 천장 system): also disclosed.
60
+
61
+ Failure = KFTC (공정거래위원회) fine. Several Korean gaming companies have been fined heavily for missing / incorrect disclosure (NEXON, Smilegate notable cases).
62
+
63
+ #### 청소년이용시간제한 (Youth play-time restriction)
64
+
65
+ Historically (now mostly relaxed but still relevant):
66
+ - **Shutdown law (셧다운제)** — youth couldn't play between midnight and 6am. Repealed 2022 but historical context for older games.
67
+ - **선택적 셧다운제** — parental control; family can set limits.
68
+ - **확인 시스템** — game IDs link to real-name verification (실명인증 / 본인인증) — Korean games require this.
69
+
70
+ #### 등급 분류 (Game ratings)
71
+
72
+ Korean Game Rating Administration Committee (GRAC / 게임물관리위원회) rates all games:
73
+ - **전체이용가** (All ages)
74
+ - **12세 이용가** (12+)
75
+ - **15세 이용가** (15+)
76
+ - **청소년이용불가** (18+)
77
+
78
+ Mobile / PC games released in Korea must have GRAC rating. Affects what content can be displayed.
79
+
80
+ ### 본인인증 (real-name verification)
81
+
82
+ Korean games require player identity verification:
83
+ - **PASS** (mobile carrier authentication)
84
+ - **NICE / KCB** (credit bureau)
85
+ - **휴대폰 본인인증** (mobile phone)
86
+
87
+ For login screens / sign-up: typically deeper than Western games.
88
+
89
+ See [`knowledge/i18n/korean-payments.md`](../i18n/korean-payments.md) for 본인인증 details.
90
+
91
+ ## PC bang (PC방) culture
92
+
93
+ PC bangs are PC cafés — pay hourly to use a high-end PC. Critical to Korean PC gaming culture.
94
+
95
+ ### Implications for game UI
96
+
97
+ - **PC bang exclusive content / bonuses** — many games have benefits when played from PC bang IP.
98
+ - **Account login** is heavy (vs Western "press play to start").
99
+ - **Auto-detection of PC bang** — server-side; UI shows PC bang badge / XP boost.
100
+ - **Hourly session expectation** — long PvP / raid sessions; UI assumes 2-5 hour play windows.
101
+
102
+ ### Common Korean PC games
103
+
104
+ - **롤 (League of Legends)** — Korea is LoL-dominant.
105
+ - **오버워치 (Overwatch)** — major PC bang draw.
106
+ - **배틀그라운드 (PUBG)** — Krafton's flagship.
107
+ - **로스트아크 (Lost Ark)** — recent PC bang hit.
108
+ - **메이플스토리** — long-running 2D MMORPG.
109
+
110
+ ## Mobile gaming conventions
111
+
112
+ Mobile is the bigger market. Conventions:
113
+
114
+ ### Auto-battle (자동 전투)
115
+
116
+ Most Korean mobile RPGs offer auto-play:
117
+ - Toggle on; characters fight autonomously.
118
+ - Player still earns rewards.
119
+ - Reduces grind tedium.
120
+ - 2x / 4x speed options.
121
+
122
+ UI:
123
+ - **Auto button** prominent (often bottom-right).
124
+ - **Speed control** (1x, 2x, 4x).
125
+ - **Pause auto** mid-battle for player intervention.
126
+
127
+ Western games rarely have this; Korean / Asian mobile games default to it.
128
+
129
+ ### Daily login bonuses
130
+
131
+ Visible in main menu:
132
+
133
+ ```
134
+ 일일 출석체크
135
+ [Day 1 ✓] [Day 2 ✓] [Day 3 ▶ today] [Day 4 ▢] [Day 5 ▢]
136
+ [Day 6 ▢] [Day 7 ▢ — 보상]
137
+ ```
138
+
139
+ Player gets reward each day. Big reward at Day 7 / Day 30 / Day 100.
140
+
141
+ ### VIP / 출석
142
+
143
+ Tiered loyalty:
144
+ - **VIP 1-15 levels**.
145
+ - Each level requires accumulated spending.
146
+ - VIP perks: extra inventory, daily premium currency, exclusive cosmetics.
147
+
148
+ Visible UI badge for VIP tier.
149
+
150
+ ### Battle pass / season pass
151
+
152
+ Time-limited progress track:
153
+ - **Free track** + **Premium track** (purchased).
154
+ - Unlocks via gameplay.
155
+ - Resets each season (1-3 months).
156
+
157
+ Most major Korean mobile games have this 2024+.
158
+
159
+ ### Gacha (가챠)
160
+
161
+ Random pulls for characters / items:
162
+
163
+ ```
164
+ ┌─────────────────────────────────┐
165
+ │ [영웅 가챠] │
166
+ │ │
167
+ │ 💎 1000 = 1회 뽑기 │
168
+ │ 💎 9000 = 10회 뽑기 (10% 할인) │
169
+ │ │
170
+ │ 최근 SSR 보장: 0/100 — 100회 후 │
171
+ │ 100% SSR 보장 │
172
+ │ │
173
+ │ ▶ 확률 보기 │ ← legally required link
174
+ │ │
175
+ │ [1회 뽑기] [10회 뽑기] │
176
+ └─────────────────────────────────┘
177
+ ```
178
+
179
+ Required:
180
+ - Probability disclosure link.
181
+ - Pity counter (천장 progress).
182
+ - Currency cost.
183
+ - Limited-time event indicator.
184
+
185
+ ### Whale signaling
186
+
187
+ Korean mobile games signal whale status:
188
+ - **Costume / mount** exclusive to high spenders.
189
+ - **Server-wide announcement** ("[PlayerName] 님이 SSR 영웅 [Name]를 획득하셨습니다!").
190
+ - **Leaderboards** prominent.
191
+ - **Guild contributions** visible.
192
+
193
+ UI design supports both whales (showing off) and free players (motivation to spend).
194
+
195
+ ## Korean MMO UI conventions
196
+
197
+ Korean MMOs (Lineage, MapleStory, Lost Ark, BDO) share UI patterns:
198
+
199
+ ### Dense HUD
200
+
201
+ - 5-7 hotbars visible.
202
+ - Buff / debuff stacks of 10-20+.
203
+ - Multiple chat tabs (general / guild / party / whisper / system).
204
+ - Floating combat numbers always on.
205
+ - Mini-map detailed with quest markers.
206
+
207
+ Western players sometimes find "cluttered"; Korean players consider standard.
208
+
209
+ ### Heavy customization
210
+
211
+ - Hundreds of HUD options.
212
+ - UI scale per element.
213
+ - Color theme presets.
214
+ - Multiple keybind layouts.
215
+
216
+ ### Item labeling
217
+
218
+ - **Tier color** (common / uncommon / rare / epic / legendary / mythic).
219
+ - **+N enhancement** ("Iron Sword +12") — enhancement level visible everywhere.
220
+ - **Soulbound / 귀속** marker — items locked to character.
221
+ - **Tradable / 거래가능** marker.
222
+
223
+ ### PvP / siege UI
224
+
225
+ Korean MMOs traditionally have heavy PvP. Siege UI:
226
+ - **Castle / fortress timer**.
227
+ - **Faction / guild standings**.
228
+ - **Real-money bidding for siege participation** (some games).
229
+
230
+ ## Mobile gacha character UI
231
+
232
+ Character roster screens show:
233
+
234
+ ```
235
+ ┌──────────────────────────────────┐
236
+ │ [Tab filters: SSR / SR / Element]│
237
+ │ │
238
+ │ [Character card] [card] [card] │
239
+ │ [Character card] [card] [card] │
240
+ │ [Character card] [card] [card] │
241
+ │ │
242
+ │ Selected: │
243
+ │ ┌──────┐ │
244
+ │ │ │ Character name │
245
+ │ │ Img │ Lv 60 / SSR │
246
+ │ │ │ HP 12,400 / ATK 1,820 │
247
+ │ └──────┘ [Equip] [Level Up] [Awa]│
248
+ └──────────────────────────────────┘
249
+ ```
250
+
251
+ For each character:
252
+ - **Star rating** (1★ - 6★).
253
+ - **Element / class** icons.
254
+ - **Awakening / 각성** stage (post-level-cap upgrades).
255
+ - **Skill levels**.
256
+ - **Equipped gear**.
257
+ - **Affinity / 호감도** (relationship-style stat).
258
+
259
+ Korean gacha trends to higher complexity than Western (more layered upgrade systems).
260
+
261
+ ## Cross-platform Korean games
262
+
263
+ Many Korean games release on PC + mobile + console. UI must adapt:
264
+
265
+ - **Account sync** across platforms.
266
+ - **Cloud save** mandatory (mobile freed up but progress preserved).
267
+ - **Cross-play** if supported.
268
+ - **Cross-progression** (single character used everywhere).
269
+
270
+ UI signals current platform (PC bang badge, mobile data warnings, controller prompts on console).
271
+
272
+ ## Korean game typography
273
+
274
+ For Korean game UI:
275
+
276
+ | Use | Font |
277
+ | --- | --- |
278
+ | Logo | Custom calligraphy or stylized brand font |
279
+ | HUD numbers | Tabular numerals; condensed sans (Pretendard, NanumSquare) |
280
+ | Body text | Pretendard, NanumSquare, NEXON Lv1 / Lv2 (NEXON's free game-friendly font) |
281
+ | Display / titles | NEXON 두꺼비, 검은고딕, 본명조 |
282
+ | Combat numbers | Bold sans, white / yellow with dark outline |
283
+
284
+ NEXON Lv1 / Lv2 font: free, designed specifically for game UI, includes Latin + Hangul + numbers.
285
+
286
+ ## Audio in Korean games
287
+
288
+ - **Korean voice acting** mandatory for major games (Western imports get full Korean dub).
289
+ - **Voice options**: Korean / Japanese / English / Chinese (popular in MMOs).
290
+ - **Voice sample** in character screen (preview).
291
+ - **Cinematic dialogue** subtitled even if voice is Korean.
292
+
293
+ ## Don't
294
+
295
+ - Don't ship a game in Korea without 본인인증. Required for most genres.
296
+ - Don't skip 확률 표시 for gacha. KFTC fines + reputation damage.
297
+ - Don't release without GRAC rating.
298
+ - Don't apply Western mobile UI patterns to Korean players (less auto-battle, fewer login bonuses) — Korean players expect daily-login + auto-play.
299
+ - Don't use Latin-only fonts for game UI in Korean. Pretendard / NanumSquare / NEXON Lv handle Hangul + Latin together.
300
+ - Don't skip Korean voice acting for major releases. Players notice.
301
+ - Don't ignore PC bang detection. Free XP boosts in PC bangs are competitive table stakes.
302
+ - Don't treat all Korean players as one block. Mobile gacha audience differs from MMO audience differs from FPS audience.
303
+
304
+ ## Cross-reference
305
+
306
+ - [`knowledge/game-ui/game-ui-fundamentals.md`](game-ui-fundamentals.md) — categories
307
+ - [`knowledge/game-ui/hud-design.md`](hud-design.md) — HUD conventions
308
+ - [`knowledge/game-ui/menu-systems.md`](menu-systems.md) — menus
309
+ - [`knowledge/game-ui/game-accessibility.md`](game-accessibility.md) — a11y
310
+ - [`knowledge/i18n/korean-payments.md`](../i18n/korean-payments.md) — 본인인증, payments
311
+ - [`knowledge/i18n/korean-app-store-visual.md`](../i18n/korean-app-store-visual.md) — app store / store visuals
312
+ - [`knowledge/i18n/korean-typography.md`](../i18n/korean-typography.md) — Korean fonts
@@ -0,0 +1,388 @@
1
+ <!-- hand-written -->
2
+ ---
3
+ title: Menu systems (main menu, pause, inventory, settings, store)
4
+ applies_to: [game-ui, menus, navigation]
5
+ version: 1.0.0
6
+ last_updated: 2026-05
7
+ stability: stable
8
+ ---
9
+
10
+ # Menu systems
11
+
12
+ Menus in games are full-screen interfaces players navigate to (not glanced at like HUD). Different rules: density, depth, visual hierarchy.
13
+
14
+ Read [`game-ui-fundamentals.md`](game-ui-fundamentals.md) first.
15
+
16
+ ## Menu types
17
+
18
+ | Menu | When |
19
+ | --- | --- |
20
+ | **Main menu** | Game launch; before play |
21
+ | **Pause menu** | During gameplay; suspended state |
22
+ | **Inventory** | Open via key; manage items |
23
+ | **Character / stats** | Manage character build |
24
+ | **Settings** | Audio / video / control / a11y options |
25
+ | **Store** | Buy items / unlock content |
26
+ | **Social / friends** | Online play |
27
+ | **Leaderboards** | Compare with others |
28
+ | **Achievements** | Unlocked progress |
29
+ | **Tutorial / help** | Learn mechanics |
30
+
31
+ Each has conventions players expect.
32
+
33
+ ## Main menu
34
+
35
+ The first thing players see. Sets tone.
36
+
37
+ ### Common items
38
+
39
+ ```
40
+ ┌──────────────────────────┐
41
+ │ │
42
+ │ [GAME LOGO] │
43
+ │ │
44
+ │ │
45
+ │ ▶ Continue │ ← if save exists
46
+ │ New Game │
47
+ │ Load Game │
48
+ │ Multiplayer │ (if applicable)
49
+ │ Store │ (if applicable)
50
+ │ Settings │
51
+ │ Credits │
52
+ │ Quit │
53
+ │ │
54
+ │ │
55
+ │ [news / version info] │
56
+ └──────────────────────────┘
57
+ ```
58
+
59
+ ### Hierarchy
60
+
61
+ - **Continue / Play** is the most-used; top.
62
+ - **New Game** is rare (most sessions resume); below.
63
+ - **Settings** is necessary but not primary.
64
+ - **Quit** at bottom (lowest priority on desktop / console; sometimes hidden on mobile).
65
+
66
+ For mobile / always-online games: "Quit" is rarely shown (just close app); main menu often skipped entirely (auto-progress to lobby / character select).
67
+
68
+ ### Background
69
+
70
+ - **Cinematic**: animated background, ambient music. Premium feel.
71
+ - **Static**: single beautiful frame. Cheaper.
72
+ - **Live render**: in-game character on idle animation.
73
+ - **Procedural**: shifts each session.
74
+
75
+ For Korean MMOs: often shows the player's character with all gear visible (motivates investment).
76
+
77
+ ## Pause menu
78
+
79
+ ```
80
+ ┌──────────────────────────┐
81
+ │ │
82
+ │ PAUSED │
83
+ │ │
84
+ │ Resume │
85
+ │ Restart │
86
+ │ Settings │
87
+ │ Quit to main menu │
88
+ │ │
89
+ └──────────────────────────┘
90
+ ```
91
+
92
+ Or modern variant — show pause options + map / progress / inventory tabs:
93
+
94
+ ```
95
+ ┌──────────────────────────────────────┐
96
+ │ [Resume] [Map] [Inventory] [Settings]│
97
+ │ │
98
+ │ [active tab content] │
99
+ │ │
100
+ └──────────────────────────────────────┘
101
+ ```
102
+
103
+ Pause menu rules:
104
+ - **Pause is a single key** (Esc / Start / Menu button).
105
+ - **Confirmation for destructive actions** (Quit → "Are you sure? Unsaved progress will be lost.")
106
+ - **In multiplayer**: doesn't actually pause game; instead opens menu while game continues. Show this clearly.
107
+
108
+ ## Inventory
109
+
110
+ The most-iterated game menu. Many design patterns:
111
+
112
+ ### Grid
113
+
114
+ ```
115
+ ┌─────────────────────────────┐
116
+ │ [Item slot grid 8×6 ] │
117
+ │ [Tabs: Weapons | Armor | ] │
118
+ └─────────────────────────────┘
119
+ ```
120
+
121
+ Most common. Drag-and-drop on PC; tap on mobile.
122
+
123
+ ### List
124
+
125
+ ```
126
+ ┌─────────────────────────────┐
127
+ │ ▶ [icon] Iron Sword +5 ATK│
128
+ │ [icon] Wooden Bow +3 ATK│
129
+ │ [icon] Leather Armor +2 │
130
+ │ ... │
131
+ └─────────────────────────────┘
132
+ ```
133
+
134
+ For fewer items / mobile / simpler UX.
135
+
136
+ ### Tetris (Resident Evil 4 / Escape from Tarkov)
137
+
138
+ Items have shapes; rotate / pack into limited grid. Adds gameplay; expensive UI.
139
+
140
+ ### Stacked panel (Korean MMO style)
141
+
142
+ Multi-tab inventory:
143
+ - Main bag (primary stash).
144
+ - Crafting materials tab.
145
+ - Quest items tab.
146
+ - Consumables tab.
147
+ - Currency tab.
148
+ - Premium / paid items tab.
149
+
150
+ Each tab is its own grid. Tab switching is fast; common Korean MMO UX.
151
+
152
+ ### Item detail
153
+
154
+ Hover (PC) or tap (mobile) shows full item info:
155
+
156
+ ```
157
+ ┌──────────────────────┐
158
+ │ [item icon, large] │
159
+ │ │
160
+ │ Iron Sword │
161
+ │ Common Weapon │
162
+ │ │
163
+ │ + 5 Attack │
164
+ │ + 1 Crit Chance │
165
+ │ Durability: 40/40 │
166
+ │ │
167
+ │ "A simple iron blade │
168
+ │ forged in ..." │
169
+ │ │
170
+ │ [Equip] [Drop] [Sell]│
171
+ └──────────────────────┘
172
+ ```
173
+
174
+ For comparison (equip new vs current): show side-by-side.
175
+
176
+ ### Inventory rules
177
+
178
+ - **Sort options**: by type, by rarity, by recently acquired.
179
+ - **Search / filter**: as inventory grows.
180
+ - **Auto-equip / loadout**: save preset configurations.
181
+ - **Stack** identical items (potions × 5).
182
+ - **Limit stack size** (gameplay constraint, often 99 or 999).
183
+ - **Highlight new items** (unviewed badge).
184
+
185
+ For Korean MMOs: inventory is large (often 100+ slots). Sorting + filtering critical.
186
+
187
+ ## Settings menu
188
+
189
+ Sections (common):
190
+
191
+ | Section | Settings |
192
+ | --- | --- |
193
+ | **Video / Display** | Resolution, refresh, FOV, V-Sync, fullscreen mode, brightness, gamma |
194
+ | **Audio** | Master volume, music, SFX, voice chat, dialogue, subtitle volume |
195
+ | **Controls** | Remap keys / buttons, sensitivity, invert axis, deadzone |
196
+ | **Gameplay** | Difficulty, HUD options, tutorial toggles, language |
197
+ | **Network** | Region, NAT, ping limit |
198
+ | **Accessibility** | Subtitles, color-blind, screen reader, motion reduction, contrast |
199
+ | **Account** | Username, profile, link to social |
200
+ | **Credits / About** | Game info, version, legal |
201
+
202
+ ### Settings UX
203
+
204
+ - **Apply / Cancel**: changes preview but require confirm.
205
+ - **Reset to defaults**: per-section button.
206
+ - **Search**: large settings menus benefit from search ("subtitle" → finds it).
207
+ - **Tooltips / explanations**: especially for technical settings (anti-aliasing levels).
208
+
209
+ ### Korean MMO settings
210
+
211
+ Korean MMOs often have hundreds of settings:
212
+ - HUD scale per element.
213
+ - Combat number visibility.
214
+ - Specific notification toggles.
215
+ - Performance presets.
216
+ - Multiple input mappings (PC + controller + mobile-controller hybrid).
217
+
218
+ Search becomes essential.
219
+
220
+ ## Store / shop
221
+
222
+ For games with monetization:
223
+
224
+ ```
225
+ ┌──────────────────────────────────────────┐
226
+ │ [Tabs: Featured | Bundles | Cosmetics ] │
227
+ │ │
228
+ │ [Featured promotion banner] │
229
+ │ │
230
+ │ [Item card] [Item card] [Item card] │
231
+ │ [Item card] [Item card] [Item card] │
232
+ │ │
233
+ │ [Currency: 💎 1240] [Buy gems] │
234
+ └──────────────────────────────────────────┘
235
+ ```
236
+
237
+ Store UX:
238
+ - **Hero promotion** at top.
239
+ - **Currency balance** always visible.
240
+ - **Buy currency** path always 1-2 taps from anywhere in store.
241
+ - **Item card** shows: image, name, price (in real currency or premium currency).
242
+ - **Limited time** banners with countdown.
243
+ - **Confirmation** before purchase (especially expensive items).
244
+
245
+ ### Korean gacha store
246
+
247
+ Korean mobile gacha specifics:
248
+ - **확률 표시** (probability disclosure) — REQUIRED by 게임산업진흥에관한법률 (Game Industry Promotion Act).
249
+ - **누적 보상** (pity / cumulative rewards) — UI showing how many more pulls until guaranteed item.
250
+ - **이벤트 타이머** — limited-time banners with prominent countdown.
251
+ - **첫 결제 보상** (first-purchase bonuses).
252
+ - **VIP / 출석** — daily login + VIP tier rewards.
253
+
254
+ See [`korean-gaming-conventions.md`](korean-gaming-conventions.md) for regulatory details.
255
+
256
+ ## Quest / mission menu
257
+
258
+ ```
259
+ ┌──────────────────────────────────────┐
260
+ │ [Tabs: Active | Available | Done ] │
261
+ │ │
262
+ │ ▶ Defeat the dragon │
263
+ │ Talk to elder afterward │
264
+ │ ───────────── │
265
+ │ Reward: 500 gold, Sword │
266
+ │ [Track] [Abandon] │
267
+ │ │
268
+ │ Find 5 rare herbs │
269
+ │ 3/5 collected │
270
+ │ ... │
271
+ └──────────────────────────────────────┘
272
+ ```
273
+
274
+ Tracking: one quest can be "tracked" — its waypoint and HUD reminder show.
275
+
276
+ For story-heavy games: chronological / chapter-organized; player can replay completed.
277
+
278
+ ## Character / stats
279
+
280
+ ```
281
+ ┌──────────────────────────────────────┐
282
+ │ [Character render] │
283
+ │ Level 24 │
284
+ │ ─────────── │
285
+ │ HP 1450 INT 120 │
286
+ │ MP 540 WIS 85 │
287
+ │ STR 145 LUK 20 │
288
+ │ │
289
+ │ [Equipment slots] │
290
+ │ Weapon: [Iron Sword] │
291
+ │ Helmet: [empty] │
292
+ │ ... │
293
+ │ │
294
+ │ [Skill tree] │
295
+ └──────────────────────────────────────┘
296
+ ```
297
+
298
+ For RPGs / MMOs: very dense. Often multi-tab (Stats / Equipment / Skills / Talents / Loadouts).
299
+
300
+ ## Tutorial / help
301
+
302
+ Modern games avoid traditional tutorial menus; integrate teaching into gameplay. But some still have:
303
+ - **First-run tutorial** — initial sequence.
304
+ - **Help / how-to-play** — reference accessed from main menu.
305
+ - **Tooltips** — hover-triggered hints.
306
+ - **Codex / journal** — lore + game systems explained.
307
+
308
+ Allow skip.
309
+
310
+ ## Navigation patterns
311
+
312
+ ### PC mouse + keyboard
313
+
314
+ - Click to navigate.
315
+ - Tab / arrows for keyboard.
316
+ - Esc to back / close.
317
+ - Enter to confirm.
318
+
319
+ ### Console (controller)
320
+
321
+ - D-pad / left stick to navigate.
322
+ - A / X to confirm.
323
+ - B / O to back / cancel.
324
+ - Y / △ for context action (often).
325
+ - Triggers / shoulders for tab switching.
326
+ - Back button toggles overlay (map, inventory).
327
+
328
+ Show button prompts at all times: bottom of screen "[A] Confirm [B] Back".
329
+
330
+ ### Mobile (touch)
331
+
332
+ - Tap to select / activate.
333
+ - Long-press for context menu.
334
+ - Swipe between tabs.
335
+ - Pinch to zoom (if applicable, like world maps).
336
+ - Bottom-bar always thumb-reachable.
337
+
338
+ ## Transitions between menus
339
+
340
+ Smooth transitions reduce jarring:
341
+ - **Cross-fade** (200-300ms).
342
+ - **Slide** (left / right for tab nav, up / down for hierarchy).
343
+ - **Zoom** (entering submenu = zoom in).
344
+ - **Stack** (modals over current screen, dim background).
345
+
346
+ Don't transition longer than 400ms — feels slow when navigating quickly.
347
+
348
+ ## Modal interrupts
349
+
350
+ Some events demand attention even outside menus:
351
+ - **Achievement popup** — center of screen, dismissable.
352
+ - **Reward unlock** — celebratory, dismissable after viewing.
353
+ - **Login bonus** — daily, requires acknowledgment.
354
+ - **Network disconnection** — full overlay until reconnected or accepted.
355
+ - **Update available** — patch notes / download prompt.
356
+
357
+ Allow dismissing; don't trap player.
358
+
359
+ ## Korean MMO menu density
360
+
361
+ Korean MMOs tend to have many concurrent sub-windows on screen:
362
+
363
+ ```
364
+ [chat] [main game] [quest list]
365
+ [inventory] [skill]
366
+ [mini-map] [party] [auction]
367
+ ```
368
+
369
+ Players reposition / dock / hide. Customization is heavy. Western players can find this overwhelming; Korean players accept.
370
+
371
+ ## Don't
372
+
373
+ - Don't make settings menus 200 items deep without search.
374
+ - Don't put "Quit" before "Continue" in main menu.
375
+ - Don't skip confirmation on destructive actions.
376
+ - Don't disable "skip cinematic" — let players skip after first watch.
377
+ - Don't make inventories that take 30 seconds to navigate.
378
+ - Don't hide critical settings (subtitle toggle, color-blind) deep in menus.
379
+ - Don't break the back button (Esc, B button) — should always work.
380
+ - Don't auto-pop store on every launch.
381
+
382
+ ## Cross-reference
383
+
384
+ - [`knowledge/game-ui/game-ui-fundamentals.md`](game-ui-fundamentals.md) — categories
385
+ - [`knowledge/game-ui/hud-design.md`](hud-design.md) — HUD vs menu
386
+ - [`knowledge/game-ui/korean-gaming-conventions.md`](korean-gaming-conventions.md) — KR market
387
+ - [`knowledge/game-ui/game-accessibility.md`](game-accessibility.md) — settings / a11y
388
+ - [`examples/component-game-menu.md`](../../examples/component-game-menu.md) — menu spec