@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,284 @@
1
+ <!-- hand-written -->
2
+ ---
3
+ title: Tailwind CSS v4 default theme reference
4
+ applies_to: [tailwindcss, oklch, design-tokens, web]
5
+ version: 1.0.0
6
+ last_updated: 2026-05
7
+ stability: stable
8
+ ---
9
+
10
+ # Tailwind CSS v4 default theme
11
+
12
+ Tailwind v4 ships an OKLCH-based default theme that's the most commonly used token set in modern web product UIs. Worth knowing as a reference, even if you customize.
13
+
14
+ ## Theme syntax
15
+
16
+ Tailwind v4 uses CSS-native `@theme` declarations:
17
+
18
+ ```css
19
+ @import "tailwindcss";
20
+
21
+ @theme {
22
+ --color-primary-500: oklch(0.606 0.250 292.717);
23
+ --spacing: 0.25rem;
24
+ --font-sans: 'Inter', sans-serif;
25
+ /* ... */
26
+ }
27
+ ```
28
+
29
+ Variables become utility classes automatically (`bg-primary-500`, `p-4`, `font-sans`).
30
+
31
+ ## Color scale (the hero feature)
32
+
33
+ Tailwind v4's default colors are OKLCH-derived. **Each scale is perceptually uniform** — step from 100 to 200 is visually the same magnitude as 800 to 900. This is the headline change from v3.
34
+
35
+ ### Color families
36
+
37
+ 22 default color families × 11 steps each = 242 default colors. Listed below in OKLCH rotation order:
38
+
39
+ ```
40
+ red, orange, amber, yellow, lime, green, emerald, teal, cyan,
41
+ sky, blue, indigo, violet, purple, fuchsia, pink, rose,
42
+ slate, gray, zinc, neutral, stone
43
+ ```
44
+
45
+ The first 17 are chromatic; the last 5 are neutral grays with subtle hue tints.
46
+
47
+ ### Steps (per family)
48
+
49
+ `50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950`
50
+
51
+ ### Lightness mapping (consistent across families)
52
+
53
+ | Step | Approximate OKLCH `L` |
54
+ | --- | --- |
55
+ | 50 | 0.96–0.98 |
56
+ | 100 | 0.93–0.95 |
57
+ | 200 | 0.87–0.90 |
58
+ | 300 | 0.78–0.82 |
59
+ | 400 | 0.65–0.72 |
60
+ | 500 | 0.55–0.62 |
61
+ | 600 | 0.49–0.55 |
62
+ | 700 | 0.42–0.49 |
63
+ | 800 | 0.36–0.43 |
64
+ | 900 | 0.30–0.38 |
65
+ | 950 | 0.18–0.28 |
66
+
67
+ **Step 600 hits ~4.5:1 on white** for most chromatic colors — this is the canonical "primary brand" anchor. Step 500 hits ~3:1 (UI-sized only).
68
+
69
+ ### Sample family — violet
70
+
71
+ ```css
72
+ @theme {
73
+ --color-violet-50: oklch(0.969 0.016 293.756); /* #F5F3FF */
74
+ --color-violet-100: oklch(0.943 0.029 294.588); /* #EDE9FE */
75
+ --color-violet-200: oklch(0.894 0.057 293.283); /* #DDD6FE */
76
+ --color-violet-300: oklch(0.811 0.111 293.571); /* #C4B5FD */
77
+ --color-violet-400: oklch(0.702 0.183 293.541); /* #A78BFA */
78
+ --color-violet-500: oklch(0.606 0.250 292.717); /* #8B5CF6 */
79
+ --color-violet-600: oklch(0.541 0.281 293.009); /* #7C3AED */
80
+ --color-violet-700: oklch(0.491 0.270 292.581); /* #6D28D9 */
81
+ --color-violet-800: oklch(0.432 0.232 292.759); /* #5B21B6 */
82
+ --color-violet-900: oklch(0.381 0.176 293.745); /* #4C1D95 */
83
+ --color-violet-950: oklch(0.283 0.141 291.089); /* #2E1065 */
84
+ }
85
+ ```
86
+
87
+ ## Spacing
88
+
89
+ Tailwind v4 default uses a single `--spacing` base, with utilities scaling it:
90
+
91
+ ```css
92
+ @theme {
93
+ --spacing: 0.25rem; /* 4px (assuming 16px root) */
94
+ }
95
+ ```
96
+
97
+ | Class | Value |
98
+ | --- | --- |
99
+ | `p-1` | 4px |
100
+ | `p-2` | 8px |
101
+ | `p-3` | 12px |
102
+ | `p-4` | 16px |
103
+ | `p-5` | 20px |
104
+ | `p-6` | 24px |
105
+ | `p-8` | 32px |
106
+ | `p-10` | 40px |
107
+ | `p-12` | 48px |
108
+ | `p-16` | 64px |
109
+ | `p-20` | 80px |
110
+ | `p-24` | 96px |
111
+
112
+ Aligns with our 4-base scale per [`layout/spacing-and-grid.md`](../layout/spacing-and-grid.md).
113
+
114
+ ## Typography
115
+
116
+ ```css
117
+ @theme {
118
+ --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
119
+ --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
120
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
121
+ }
122
+ ```
123
+
124
+ System-font stacks are the default — performant, no FOUT.
125
+
126
+ ### Type scale
127
+
128
+ | Class | Size | Line height |
129
+ | --- | --- | --- |
130
+ | `text-xs` | 12px | 16px (1.33) |
131
+ | `text-sm` | 14px | 20px (1.43) |
132
+ | `text-base` | 16px | 24px (1.5) |
133
+ | `text-lg` | 18px | 28px (1.56) |
134
+ | `text-xl` | 20px | 28px (1.4) |
135
+ | `text-2xl` | 24px | 32px (1.33) |
136
+ | `text-3xl` | 30px | 36px (1.2) |
137
+ | `text-4xl` | 36px | 40px (1.11) |
138
+ | `text-5xl` | 48px | 1 |
139
+ | `text-6xl` | 60px | 1 |
140
+ | `text-7xl` | 72px | 1 |
141
+ | `text-8xl` | 96px | 1 |
142
+ | `text-9xl` | 128px | 1 |
143
+
144
+ Note: large sizes (`5xl+`) drop to `line-height: 1` (display use). Body sizes have generous leading.
145
+
146
+ ### Weights
147
+
148
+ `font-thin` 100 / `font-extralight` 200 / `font-light` 300 / `font-normal` 400 / `font-medium` 500 / `font-semibold` 600 / `font-bold` 700 / `font-extrabold` 800 / `font-black` 900.
149
+
150
+ ## Breakpoints
151
+
152
+ ```css
153
+ @theme {
154
+ --breakpoint-sm: 40rem; /* 640px */
155
+ --breakpoint-md: 48rem; /* 768px */
156
+ --breakpoint-lg: 64rem; /* 1024px */
157
+ --breakpoint-xl: 80rem; /* 1280px */
158
+ --breakpoint-2xl: 96rem; /* 1536px */
159
+ }
160
+ ```
161
+
162
+ Mobile-first: utilities apply at all sizes by default; `md:bg-blue-500` applies at ≥ 768px.
163
+
164
+ ## Border radius
165
+
166
+ | Class | Value |
167
+ | --- | --- |
168
+ | `rounded-none` | 0 |
169
+ | `rounded-sm` | 0.125rem (2px) |
170
+ | `rounded` | 0.25rem (4px) |
171
+ | `rounded-md` | 0.375rem (6px) |
172
+ | `rounded-lg` | 0.5rem (8px) |
173
+ | `rounded-xl` | 0.75rem (12px) |
174
+ | `rounded-2xl` | 1rem (16px) |
175
+ | `rounded-3xl` | 1.5rem (24px) |
176
+ | `rounded-full` | 9999px |
177
+
178
+ ## Shadows
179
+
180
+ ```
181
+ shadow-2xs / shadow-xs / shadow-sm / shadow /
182
+ shadow-md / shadow-lg / shadow-xl / shadow-2xl /
183
+ shadow-inner / shadow-none
184
+ ```
185
+
186
+ Default values use `rgb(0 0 0 / x)` with varying offset and blur.
187
+
188
+ ## Transitions
189
+
190
+ | Class | Properties |
191
+ | --- | --- |
192
+ | `transition` | most common (color, bg, border, opacity, shadow, transform, filter, backdrop-filter) |
193
+ | `transition-all` | everything (avoid in production) |
194
+ | `transition-colors` | color-only |
195
+ | `transition-opacity` | opacity-only |
196
+ | `transition-shadow` | shadow-only |
197
+ | `transition-transform` | transform-only |
198
+
199
+ Default duration `150ms`, ease `cubic-bezier(0.4, 0, 0.2, 1)`.
200
+
201
+ | Class | Duration |
202
+ | --- | --- |
203
+ | `duration-75` | 75ms |
204
+ | `duration-100` | 100ms |
205
+ | `duration-150` | 150ms |
206
+ | `duration-200` | 200ms |
207
+ | `duration-300` | 300ms |
208
+ | `duration-500` | 500ms |
209
+ | `duration-700` | 700ms |
210
+ | `duration-1000` | 1000ms |
211
+
212
+ Consistent with [`motion/principles.md`](../motion/principles.md) duration tiers.
213
+
214
+ ## Z-index scale
215
+
216
+ `z-0`, `z-10`, `z-20`, `z-30`, `z-40`, `z-50`, `z-auto`.
217
+
218
+ For component systems with modals/popovers/tooltips: extend with semantic z-tokens (`--z-modal`, `--z-popover`, etc.) above this default.
219
+
220
+ ## Dark mode
221
+
222
+ Tailwind v4 supports two strategies:
223
+
224
+ ### Media query (default)
225
+
226
+ ```css
227
+ .dark\:bg-slate-900 { ... }
228
+ ```
229
+
230
+ Applied via `@media (prefers-color-scheme: dark)`.
231
+
232
+ ### Class-based (most product apps)
233
+
234
+ ```css
235
+ @variant dark (&:where(.dark, .dark *));
236
+ ```
237
+
238
+ Then `<html class="dark">` toggles dark mode globally.
239
+
240
+ ### Token override
241
+
242
+ ```css
243
+ @theme {
244
+ --color-bg: oklch(1 0 0); /* white */
245
+ }
246
+
247
+ @layer base {
248
+ .dark {
249
+ --color-bg: oklch(0.18 0 0); /* near-black */
250
+ }
251
+ }
252
+ ```
253
+
254
+ ## How to customize
255
+
256
+ To make Tailwind v4 yours:
257
+
258
+ 1. Override `@theme` with your brand tokens.
259
+ 2. Add semantic aliases:
260
+ ```css
261
+ @theme {
262
+ --color-primary-default: var(--color-violet-600);
263
+ --color-primary-hover: var(--color-violet-700);
264
+ }
265
+ ```
266
+ 3. Drop unused color families if bundle size matters (Tailwind tree-shakes; minimal concern).
267
+
268
+ ## When NOT to use Tailwind v4 defaults
269
+
270
+ - **Brand has very specific palette**: replace the chromatic families with your brand ramps.
271
+ - **Korean fintech needing red=up convention**: replace `--color-money-positive` / `--color-money-negative` semantically; keep primary scale.
272
+ - **Material Design alignment**: use Material 3 tokens instead — see [`material-3.md`](material-3.md).
273
+ - **Apps where `oklch()` browser support matters** (older browsers): provide hex fallbacks via PostCSS plugin or extract hex equivalents.
274
+
275
+ ## Worked example using Tailwind v4
276
+
277
+ See [`examples/palette-saas-violet.md`](../../examples/palette-saas-violet.md) for a complete palette generated from Tailwind v4 violet ramps.
278
+
279
+ ## Cross-reference
280
+
281
+ - [`knowledge/colors/color-theory.md`](../colors/color-theory.md) — OKLCH rationale, ramp construction
282
+ - [`knowledge/design-tokens/material-3.md`](material-3.md) — alternative HCT-based token system
283
+ - [`knowledge/design-tokens/ant-design.md`](ant-design.md) — alternative seed-token system
284
+ - [Tailwind CSS v4 docs](https://tailwindcss.com/docs/theme)
@@ -0,0 +1,317 @@
1
+ <!-- hand-written -->
2
+ ---
3
+ title: Game accessibility (subtitles, color-blind, remap, motor, cognitive)
4
+ applies_to: [game-ui, accessibility, a11y]
5
+ version: 1.0.0
6
+ last_updated: 2026-05
7
+ stability: stable
8
+ ---
9
+
10
+ # Game accessibility
11
+
12
+ Games are entertainment for everyone. ~15% of the global population has some disability; for games specifically, the impact areas are vision, hearing, motor, and cognitive.
13
+
14
+ Modern AAA games (The Last of Us Part II, Forza Horizon, God of War Ragnarök) have raised the bar dramatically. Korean games are catching up, but still trail Western.
15
+
16
+ ## The four axes
17
+
18
+ ### 1. Vision
19
+
20
+ - **Low vision**: small text, low contrast.
21
+ - **Color blindness**: red-green most common.
22
+ - **Total blindness**: rare in games; some screen-reader-supported games exist.
23
+
24
+ ### 2. Hearing
25
+
26
+ - **Deaf / hard-of-hearing**: missing audio cues, missing dialogue.
27
+ - **Sound sensitivity**: loud, sudden sounds.
28
+
29
+ ### 3. Motor / physical
30
+
31
+ - **Limited dexterity**: rapid button presses, complex combos.
32
+ - **Single-hand**: many games assume two hands on controller.
33
+ - **Cognitive impact on motor**: tremor, RSI.
34
+
35
+ ### 4. Cognitive
36
+
37
+ - **Reading speed**: subtitle pace.
38
+ - **Attention / focus**: complex HUDs.
39
+ - **Memory**: long sequences without notes.
40
+ - **Reaction time**: time-pressured mechanics.
41
+
42
+ ## Universal options menu (the new standard)
43
+
44
+ Modern games surface accessibility options prominently. Often a separate top-level menu (not buried under "Options").
45
+
46
+ ```
47
+ ┌──────────────────────────────────┐
48
+ │ Accessibility │
49
+ │ ─────────── │
50
+ │ │
51
+ │ Display │
52
+ │ • Subtitles [On] │
53
+ │ • Subtitle size [Med] │
54
+ │ • Subtitle background [On] │
55
+ │ • Color-blind mode [Off] │
56
+ │ • High contrast [Off] │
57
+ │ • Brightness [50%] │
58
+ │ • Reduce motion [Off] │
59
+ │ │
60
+ │ Audio │
61
+ │ • Visual sound indicators [Off]│
62
+ │ • Music volume [80%] │
63
+ │ • Voice volume [100%] │
64
+ │ │
65
+ │ Controls │
66
+ │ • Remap buttons ▶ │
67
+ │ • Toggle hold-to-press [On] │
68
+ │ • Auto-aim [Off] │
69
+ │ │
70
+ │ Difficulty │
71
+ │ • Combat difficulty [Normal]│
72
+ │ • Puzzle hints [On] │
73
+ │ • Story mode [Off]│
74
+ └──────────────────────────────────┘
75
+ ```
76
+
77
+ ## Subtitles + closed captions
78
+
79
+ Subtitles: dialogue. Closed captions: dialogue + audio cues ("[footsteps approaching]").
80
+
81
+ | Setting | Default | Options |
82
+ | --- | --- | --- |
83
+ | **On / off** | On | binary |
84
+ | **Size** | Medium | Small / Med / Large / X-Large |
85
+ | **Background** | Semi-transparent | None / Light / Dark / Black |
86
+ | **Color** | White | White / Yellow / Custom |
87
+ | **Speaker name** | On | binary |
88
+ | **Sound effect cues** | Off | binary |
89
+
90
+ For Korean games:
91
+ - 자막 default ON (high default expectation).
92
+ - Pretendard / NanumSquare; readable at distance.
93
+ - Color contrast WCAG AA minimum.
94
+
95
+ ### Speaker labels
96
+
97
+ ```
98
+ [Character name]: 안녕하세요!
99
+ ```
100
+
101
+ Or color-coded per speaker:
102
+ ```
103
+ [Hero — blue]: ...
104
+ [Villain — red]: ...
105
+ ```
106
+
107
+ ## Color-blind modes
108
+
109
+ Three main types:
110
+ - **Protanopia / Protanomaly**: red-blind / weak.
111
+ - **Deuteranopia / Deuteranomaly**: green-blind / weak.
112
+ - **Tritanopia / Tritanomaly**: blue-yellow blind.
113
+
114
+ Most common: red-green (deuteranopia ~6% of men).
115
+
116
+ ### Approaches
117
+
118
+ | Approach | Pros | Cons |
119
+ | --- | --- | --- |
120
+ | **Color-blind preset filters** | Easy toggle | Affects whole game appearance |
121
+ | **Color-blind-aware design from start** | No filter needed | More design work upfront |
122
+ | **Custom color picker** | Player tunes individually | More complex UX |
123
+
124
+ Best practice: **don't rely on color alone**. Reinforce with shape, pattern, position, or text:
125
+
126
+ ```
127
+ Red enemy: [shape: skull icon] + red color
128
+ Green ally: [shape: shield icon] + green color
129
+ ```
130
+
131
+ Then color-blind filter is a backup, not the only way.
132
+
133
+ For Korean MMO context:
134
+ - Many enemies / allies use color exclusively. Modernize with shape redundancy.
135
+ - Damage type icons (fire / ice / lightning) help.
136
+
137
+ ## Motor accessibility
138
+
139
+ ### Remappable controls
140
+
141
+ EVERY button must be remappable. No exceptions.
142
+
143
+ ### Toggle vs hold
144
+
145
+ For sustained actions (sprint, aim down sights):
146
+ - **Hold** is default (intuitive).
147
+ - **Toggle** option (less finger strain).
148
+
149
+ ```
150
+ Sprint: [Hold to sprint] / [Toggle sprint]
151
+ ```
152
+
153
+ ### Auto-aim / aim assist
154
+
155
+ - **Off / Low / Medium / High** levels.
156
+ - Helps reduced-dexterity players.
157
+ - Competitive games may disable in PvP for fairness.
158
+
159
+ ### Reduce QTE (quick-time events)
160
+
161
+ For QTEs (rapid button presses):
162
+ - **Hold instead of press repeatedly** option.
163
+ - **Auto-complete** option.
164
+ - **Disable** option (may skip cinematic).
165
+
166
+ ### Difficulty options
167
+
168
+ Common tiers:
169
+ - **Story mode** — minimal challenge; focus on narrative.
170
+ - **Easy** — forgiving.
171
+ - **Normal** — default.
172
+ - **Hard** — challenging.
173
+ - **Expert / Nightmare** — punishing.
174
+
175
+ Difficulty should be changeable mid-game. Don't lock players into a choice from main menu.
176
+
177
+ ## Cognitive accessibility
178
+
179
+ ### HUD options
180
+
181
+ - **HUD on / off** toggle.
182
+ - **Element-level toggles** (hide compass but show health).
183
+ - **HUD scale** (50%-200%).
184
+ - **Damage number visibility**.
185
+
186
+ ### Hint systems
187
+
188
+ For puzzles:
189
+ - **Auto-hint after N seconds**.
190
+ - **Manual hint button**.
191
+ - **Walkthrough mode** (full solve).
192
+
193
+ Don't lock progression behind cognitively-difficult puzzle.
194
+
195
+ ### Tutorial
196
+
197
+ - **Skip tutorial** (after first time).
198
+ - **Replay tutorial** (open via menu).
199
+ - **Tooltips toggle**.
200
+
201
+ ### Save anywhere / save often
202
+
203
+ Don't require players to play 30+ minutes between saves. Allow:
204
+ - **Manual save anywhere**.
205
+ - **Auto-save frequently**.
206
+ - **Cloud save** for cross-device.
207
+
208
+ ## Hearing accessibility
209
+
210
+ ### Visual sound indicators
211
+
212
+ Show direction-of-sound for important audio cues:
213
+
214
+ ```
215
+ [player center]
216
+ ↗ footsteps (faint)
217
+ ← gunshot (loud)
218
+ ```
219
+
220
+ Direction + intensity visualization. Critical for FPS deaf players.
221
+
222
+ ### Subtitled SFX
223
+
224
+ Closed captions extend to:
225
+
226
+ ```
227
+ [door creaking]
228
+ [distant explosion]
229
+ [heart beating fast]
230
+ ```
231
+
232
+ Less common; Last of Us Part II does this well.
233
+
234
+ ### Audio sliders
235
+
236
+ Per-channel:
237
+ - Master.
238
+ - Music.
239
+ - Dialogue.
240
+ - SFX.
241
+ - Ambient.
242
+ - Voice chat (multiplayer).
243
+
244
+ Player can mute music, keep dialogue audible.
245
+
246
+ ## Motion sickness / reduced motion
247
+
248
+ - **Camera shake** off / reduced.
249
+ - **Field of view** adjustable (wider FOV = less nausea for some).
250
+ - **Motion blur** off.
251
+ - **Chromatic aberration** off.
252
+ - **Head bob** off.
253
+ - **Vignette** off.
254
+
255
+ For VR specifically: comfort options critical (teleport vs smooth locomotion, reduced peripheral vision).
256
+
257
+ ## Color contrast in game UI
258
+
259
+ WCAG-aligned guidelines:
260
+ - **Body text**: 4.5:1 contrast against background.
261
+ - **Large text** (18pt+): 3:1.
262
+ - **HUD numbers**: 4.5:1 minimum.
263
+ - **Subtitles**: 7:1 (higher because over moving backgrounds).
264
+
265
+ Use a contrast checker. Don't ship with low-contrast UI.
266
+
267
+ ## Korean game accessibility
268
+
269
+ Korean games have historically had less accessibility focus. Catching up:
270
+ - 자막 toggles standard.
271
+ - Color-blind options increasingly common.
272
+ - Auto-battle helps motor-impaired (functional accessibility).
273
+ - Localized subtitles (Korean / Japanese / Chinese / English).
274
+
275
+ Areas where Korean games often lag:
276
+ - Screen reader support (rare).
277
+ - Visual sound indicators (rare).
278
+ - Comprehensive remap (some games).
279
+
280
+ Korean players with disabilities increasingly demand parity. Catching up to Western standards is a 2024+ trend.
281
+
282
+ ## Testing for accessibility
283
+
284
+ Recommended:
285
+ - **Test with players with disabilities**. AbleGamers, Special Effect provide consulting.
286
+ - **Color-blind simulation tools** (Sim Daltonism, Color Oracle).
287
+ - **Play with mute** (subtitle test).
288
+ - **Play with one hand** (motor test).
289
+ - **Play at low resolution / blurred** (vision test).
290
+
291
+ ## Resources
292
+
293
+ - **AbleGamers** — accessibility consulting + community.
294
+ - **Special Effect** — UK-based gaming accessibility.
295
+ - **Game Accessibility Guidelines** (gameaccessibilityguidelines.com) — comprehensive checklist.
296
+ - **CVAA** — US Communications and Video Accessibility Act; affects some online gaming.
297
+ - **EU EAA** — EU Accessibility Act; mobile games included from 2025.
298
+
299
+ ## Don't
300
+
301
+ - Don't bury accessibility in submenus. Top-level menu.
302
+ - Don't lock difficulty.
303
+ - Don't make accessibility opt-in for everything. Some defaults should be on (subtitles).
304
+ - Don't rely only on color for crucial info.
305
+ - Don't make remapping require an external tool.
306
+ - Don't skip QTE accessibility.
307
+ - Don't make tutorials non-skippable.
308
+ - Don't ignore Korean players with disabilities. Same demands, same standards.
309
+
310
+ ## Cross-reference
311
+
312
+ - [`knowledge/game-ui/game-ui-fundamentals.md`](game-ui-fundamentals.md) — fundamentals
313
+ - [`knowledge/game-ui/hud-design.md`](hud-design.md) — HUD a11y
314
+ - [`knowledge/game-ui/menu-systems.md`](menu-systems.md) — settings menu
315
+ - [`knowledge/game-ui/korean-gaming-conventions.md`](korean-gaming-conventions.md) — KR market
316
+ - [`knowledge/a11y/contrast.md`](../a11y/contrast.md) — color contrast standards
317
+ - [`knowledge/a11y/keyboard-and-focus.md`](../a11y/keyboard-and-focus.md) — keyboard / focus