moai-adk 0.35.1__py3-none-any.whl

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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (502) hide show
  1. moai_adk/__init__.py +10 -0
  2. moai_adk/__main__.py +199 -0
  3. moai_adk/cli/__init__.py +6 -0
  4. moai_adk/cli/commands/__init__.py +17 -0
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +272 -0
  7. moai_adk/cli/commands/init.py +372 -0
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +104 -0
  10. moai_adk/cli/commands/update.py +2686 -0
  11. moai_adk/cli/main.py +13 -0
  12. moai_adk/cli/prompts/__init__.py +5 -0
  13. moai_adk/cli/prompts/init_prompts.py +219 -0
  14. moai_adk/cli/spec_status.py +263 -0
  15. moai_adk/cli/ui/__init__.py +44 -0
  16. moai_adk/cli/ui/progress.py +422 -0
  17. moai_adk/cli/ui/prompts.py +389 -0
  18. moai_adk/cli/ui/theme.py +129 -0
  19. moai_adk/cli/worktree/__init__.py +27 -0
  20. moai_adk/cli/worktree/__main__.py +31 -0
  21. moai_adk/cli/worktree/cli.py +683 -0
  22. moai_adk/cli/worktree/exceptions.py +89 -0
  23. moai_adk/cli/worktree/manager.py +493 -0
  24. moai_adk/cli/worktree/models.py +65 -0
  25. moai_adk/cli/worktree/registry.py +422 -0
  26. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  27. moai_adk/core/__init__.py +1 -0
  28. moai_adk/core/analysis/__init__.py +9 -0
  29. moai_adk/core/analysis/session_analyzer.py +400 -0
  30. moai_adk/core/claude_integration.py +393 -0
  31. moai_adk/core/command_helpers.py +270 -0
  32. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  33. moai_adk/core/config/__init__.py +19 -0
  34. moai_adk/core/config/auto_spec_config.py +340 -0
  35. moai_adk/core/config/migration.py +244 -0
  36. moai_adk/core/config/unified.py +436 -0
  37. moai_adk/core/context_manager.py +273 -0
  38. moai_adk/core/diagnostics/__init__.py +19 -0
  39. moai_adk/core/diagnostics/slash_commands.py +159 -0
  40. moai_adk/core/enterprise_features.py +1404 -0
  41. moai_adk/core/error_recovery_system.py +1902 -0
  42. moai_adk/core/event_driven_hook_system.py +1371 -0
  43. moai_adk/core/git/__init__.py +31 -0
  44. moai_adk/core/git/branch.py +25 -0
  45. moai_adk/core/git/branch_manager.py +129 -0
  46. moai_adk/core/git/checkpoint.py +134 -0
  47. moai_adk/core/git/commit.py +67 -0
  48. moai_adk/core/git/conflict_detector.py +413 -0
  49. moai_adk/core/git/event_detector.py +79 -0
  50. moai_adk/core/git/manager.py +216 -0
  51. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  52. moai_adk/core/input_validation_middleware.py +1006 -0
  53. moai_adk/core/integration/__init__.py +22 -0
  54. moai_adk/core/integration/engine.py +157 -0
  55. moai_adk/core/integration/integration_tester.py +226 -0
  56. moai_adk/core/integration/models.py +88 -0
  57. moai_adk/core/integration/utils.py +211 -0
  58. moai_adk/core/issue_creator.py +305 -0
  59. moai_adk/core/jit_context_loader.py +956 -0
  60. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  61. moai_adk/core/language_config.py +202 -0
  62. moai_adk/core/language_config_resolver.py +572 -0
  63. moai_adk/core/language_validator.py +543 -0
  64. moai_adk/core/mcp/setup.py +116 -0
  65. moai_adk/core/merge/__init__.py +9 -0
  66. moai_adk/core/merge/analyzer.py +605 -0
  67. moai_adk/core/migration/__init__.py +18 -0
  68. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  69. moai_adk/core/migration/backup_manager.py +277 -0
  70. moai_adk/core/migration/custom_element_scanner.py +358 -0
  71. moai_adk/core/migration/file_migrator.py +209 -0
  72. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  73. moai_adk/core/migration/selective_restorer.py +470 -0
  74. moai_adk/core/migration/template_utils.py +74 -0
  75. moai_adk/core/migration/user_selection_ui.py +338 -0
  76. moai_adk/core/migration/version_detector.py +139 -0
  77. moai_adk/core/migration/version_migrator.py +228 -0
  78. moai_adk/core/performance/__init__.py +6 -0
  79. moai_adk/core/performance/cache_system.py +316 -0
  80. moai_adk/core/performance/parallel_processor.py +116 -0
  81. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  82. moai_adk/core/project/__init__.py +1 -0
  83. moai_adk/core/project/backup_utils.py +70 -0
  84. moai_adk/core/project/checker.py +300 -0
  85. moai_adk/core/project/detector.py +293 -0
  86. moai_adk/core/project/initializer.py +387 -0
  87. moai_adk/core/project/phase_executor.py +716 -0
  88. moai_adk/core/project/validator.py +139 -0
  89. moai_adk/core/quality/__init__.py +6 -0
  90. moai_adk/core/quality/trust_checker.py +377 -0
  91. moai_adk/core/quality/validators/__init__.py +6 -0
  92. moai_adk/core/quality/validators/base_validator.py +19 -0
  93. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  94. moai_adk/core/robust_json_parser.py +611 -0
  95. moai_adk/core/rollback_manager.py +918 -0
  96. moai_adk/core/session_manager.py +651 -0
  97. moai_adk/core/skill_loading_system.py +579 -0
  98. moai_adk/core/spec/confidence_scoring.py +680 -0
  99. moai_adk/core/spec/ears_template_engine.py +1247 -0
  100. moai_adk/core/spec/quality_validator.py +687 -0
  101. moai_adk/core/spec_status_manager.py +478 -0
  102. moai_adk/core/template/__init__.py +7 -0
  103. moai_adk/core/template/backup.py +174 -0
  104. moai_adk/core/template/config.py +191 -0
  105. moai_adk/core/template/languages.py +43 -0
  106. moai_adk/core/template/merger.py +233 -0
  107. moai_adk/core/template/processor.py +1200 -0
  108. moai_adk/core/template_engine.py +310 -0
  109. moai_adk/core/template_variable_synchronizer.py +417 -0
  110. moai_adk/core/unified_permission_manager.py +745 -0
  111. moai_adk/core/user_behavior_analytics.py +851 -0
  112. moai_adk/core/version_sync.py +429 -0
  113. moai_adk/foundation/__init__.py +56 -0
  114. moai_adk/foundation/backend.py +1027 -0
  115. moai_adk/foundation/database.py +1115 -0
  116. moai_adk/foundation/devops.py +1585 -0
  117. moai_adk/foundation/ears.py +431 -0
  118. moai_adk/foundation/frontend.py +870 -0
  119. moai_adk/foundation/git/commit_templates.py +557 -0
  120. moai_adk/foundation/git.py +376 -0
  121. moai_adk/foundation/langs.py +484 -0
  122. moai_adk/foundation/ml_ops.py +1162 -0
  123. moai_adk/foundation/testing.py +1524 -0
  124. moai_adk/foundation/trust/trust_principles.py +676 -0
  125. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  126. moai_adk/project/__init__.py +0 -0
  127. moai_adk/project/configuration.py +1084 -0
  128. moai_adk/project/documentation.py +566 -0
  129. moai_adk/project/schema.py +447 -0
  130. moai_adk/statusline/__init__.py +38 -0
  131. moai_adk/statusline/alfred_detector.py +105 -0
  132. moai_adk/statusline/config.py +376 -0
  133. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  134. moai_adk/statusline/git_collector.py +190 -0
  135. moai_adk/statusline/main.py +322 -0
  136. moai_adk/statusline/metrics_tracker.py +78 -0
  137. moai_adk/statusline/renderer.py +343 -0
  138. moai_adk/statusline/update_checker.py +129 -0
  139. moai_adk/statusline/version_reader.py +741 -0
  140. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
  141. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  142. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  143. moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
  144. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  145. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  146. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  147. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  148. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  149. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  150. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  151. moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
  152. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  153. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  154. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  155. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  156. moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
  157. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  158. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  159. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  160. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  161. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  164. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  165. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  166. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  167. moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
  168. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  169. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  170. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  171. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  172. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  173. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  185. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  186. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  187. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  188. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  189. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
  190. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  191. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  192. moai_adk/templates/.claude/settings.json +172 -0
  193. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
  194. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  195. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  196. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  200. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  201. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  202. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  203. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  204. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  205. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
  206. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  207. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  210. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  211. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  212. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  213. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  214. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  215. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
  216. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  217. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  221. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  222. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  223. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  224. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  230. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  231. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  232. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  233. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  280. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  281. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  282. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  283. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  284. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
  285. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
  286. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  287. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  288. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  289. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  290. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
  291. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  292. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  293. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
  294. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  295. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
  297. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  298. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
  304. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
  305. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
  306. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  307. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  308. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
  309. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  310. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  311. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
  312. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  313. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  314. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
  315. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  316. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  318. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  319. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  320. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  321. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  331. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  332. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  333. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  334. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  338. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  339. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  340. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  341. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  342. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  343. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  344. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  345. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  346. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
  347. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  348. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  349. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  350. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  351. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  352. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  353. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  354. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  355. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  356. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  357. moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
  358. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
  359. moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
  360. moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
  361. moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
  362. moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
  363. moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
  364. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
  365. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
  366. moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
  367. moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
  368. moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
  369. moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
  370. moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
  371. moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
  372. moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
  373. moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
  374. moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
  375. moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
  376. moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
  377. moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
  378. moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
  379. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
  380. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
  381. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
  382. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
  383. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
  384. moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
  385. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
  386. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
  387. moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
  388. moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
  389. moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
  390. moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
  391. moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  433. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  458. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  459. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  460. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  461. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  462. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  463. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  464. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  465. moai_adk/templates/.git-hooks/pre-commit +128 -0
  466. moai_adk/templates/.git-hooks/pre-push +365 -0
  467. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  468. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  469. moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
  470. moai_adk/templates/.gitignore +222 -0
  471. moai_adk/templates/.mcp.json +13 -0
  472. moai_adk/templates/.moai/config/config.yaml +58 -0
  473. moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
  474. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  475. moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
  476. moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
  477. moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
  478. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
  479. moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
  480. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  481. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  482. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  483. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  484. moai_adk/templates/.moai/config/sections/system.yaml +24 -0
  485. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  486. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  487. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  488. moai_adk/templates/CLAUDE.md +642 -0
  489. moai_adk/utils/__init__.py +30 -0
  490. moai_adk/utils/banner.py +38 -0
  491. moai_adk/utils/common.py +294 -0
  492. moai_adk/utils/link_validator.py +241 -0
  493. moai_adk/utils/logger.py +147 -0
  494. moai_adk/utils/safe_file_reader.py +206 -0
  495. moai_adk/utils/timeout.py +160 -0
  496. moai_adk/utils/toon_utils.py +256 -0
  497. moai_adk/version.py +22 -0
  498. moai_adk-0.35.1.dist-info/METADATA +3018 -0
  499. moai_adk-0.35.1.dist-info/RECORD +502 -0
  500. moai_adk-0.35.1.dist-info/WHEEL +4 -0
  501. moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
  502. moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,394 @@
1
+ # Advanced shadcn/ui Component Patterns
2
+
3
+ ## Architecture Patterns
4
+
5
+ ### Complex Component Composition
6
+
7
+ shadcn/ui excels at composing complex UI from simple, reusable components. The architecture follows a composition-over-inheritance approach.
8
+
9
+ Pattern: Compound Components
10
+
11
+ ```typescript
12
+ // Compound component pattern with shadcn/ui
13
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
14
+ import { Button } from "@/components/ui/button"
15
+ import { Input } from "@/components/ui/input"
16
+ import React, { createContext, useContext } from "react"
17
+
18
+ // Create a context for form state
19
+ interface FormContextType {
20
+ data: Record<string, any>
21
+ setData: (key: string, value: any) => void
22
+ errors: Record<string, string>
23
+ }
24
+
25
+ const FormContext = createContext<FormContextType | undefined>(undefined)
26
+
27
+ export function Form({ children, onSubmit }: { children: React.ReactNode; onSubmit: (data: any) => void }) {
28
+ const [data, setData] = React.useState({})
29
+ const [errors, setErrors] = React.useState({})
30
+
31
+ return (
32
+ <FormContext.Provider value={{ data, setData: (k, v) => setData(prev => ({ ...prev, [k]: v })), errors }}>
33
+ <form
34
+ onSubmit={(e) => {
35
+ e.preventDefault()
36
+ onSubmit(data)
37
+ }}
38
+ >
39
+ {children}
40
+ </form>
41
+ </FormContext.Provider>
42
+ )
43
+ }
44
+
45
+ export function FormField({ label, name, type = "text" }: { label: string; name: string; type?: string }) {
46
+ const context = useContext(FormContext)
47
+ if (!context) throw new Error("FormField must be used inside Form")
48
+
49
+ return (
50
+ <div className="mb-4">
51
+ <label htmlFor={name} className="block text-sm font-medium mb-1">
52
+ {label}
53
+ </label>
54
+ <Input
55
+ id={name}
56
+ type={type}
57
+ value={context.data[name] || ""}
58
+ onChange={(e) => context.setData(name, e.target.value)}
59
+ />
60
+ </div>
61
+ )
62
+ }
63
+
64
+ // Usage
65
+ export function MyForm() {
66
+ return (
67
+ <Form onSubmit={(data) => console.log(data)}>
68
+ <Card>
69
+ <CardHeader>
70
+ <CardTitle>Contact Form</CardTitle>
71
+ <CardDescription>Enter your details</CardDescription>
72
+ </CardHeader>
73
+ <CardContent>
74
+ <FormField label="Name" name="name" />
75
+ <FormField label="Email" name="email" type="email" />
76
+ <Button type="submit">Submit</Button>
77
+ </CardContent>
78
+ </Card>
79
+ </Form>
80
+ )
81
+ }
82
+ ```
83
+
84
+ ### Design Token Integration
85
+
86
+ shadcn/ui uses CSS variables for theming. Components automatically adapt to theme changes.
87
+
88
+ Pattern: Theme-Aware Components
89
+
90
+ ```typescript
91
+ // Using design tokens in custom components
92
+ export function StatusBadge({ status }: { status: "success" | "error" | "warning" }) {
93
+ const statusConfig = {
94
+ success: "bg-green-500/20 text-green-700 dark:text-green-400",
95
+ error: "bg-red-500/20 text-red-700 dark:text-red-400",
96
+ warning: "bg-yellow-500/20 text-yellow-700 dark:text-yellow-400",
97
+ }
98
+
99
+ return (
100
+ <span className={`px-3 py-1 rounded-md text-sm font-medium ${statusConfig[status]}`}>
101
+ {status.charAt(0).toUpperCase() + status.slice(1)}
102
+ </span>
103
+ )
104
+ }
105
+
106
+ // Theme switching with context
107
+ import { useEffect, useState } from "react"
108
+
109
+ export function ThemeSwitcher() {
110
+ const [theme, setTheme] = useState("light")
111
+
112
+ useEffect(() => {
113
+ const html = document.documentElement
114
+ if (theme === "dark") {
115
+ html.classList.add("dark")
116
+ } else {
117
+ html.classList.remove("dark")
118
+ }
119
+ }, [theme])
120
+
121
+ return (
122
+ <Button
123
+ variant="outline"
124
+ onClick={() => setTheme(theme === "light" ? "dark" : "light")}
125
+ >
126
+ {theme === "light" ? "" : ""}
127
+ </Button>
128
+ )
129
+ }
130
+ ```
131
+
132
+ ## Advanced Component Patterns
133
+
134
+ ### Form Composition with Validation
135
+
136
+ shadcn/ui Button, Input, and Form components integrate well with validation libraries like react-hook-form.
137
+
138
+ ```typescript
139
+ import { useForm } from "react-hook-form"
140
+ import { Button } from "@/components/ui/button"
141
+ import { Input } from "@/components/ui/input"
142
+
143
+ interface FormData {
144
+ username: string
145
+ email: string
146
+ }
147
+
148
+ export function AdvancedForm() {
149
+ const { register, handleSubmit, formState: { errors } } = useForm<FormData>({
150
+ defaultValues: { username: "", email: "" }
151
+ })
152
+
153
+ const onSubmit = (data: FormData) => {
154
+ console.log("Form submitted:", data)
155
+ }
156
+
157
+ return (
158
+ <form onSubmit={handleSubmit(onSubmit)} className="space-y-4">
159
+ <div>
160
+ <Input
161
+ {...register("username", { required: "Username is required" })}
162
+ placeholder="Enter username"
163
+ />
164
+ {errors.username && <p className="text-red-500 text-sm">{errors.username.message}</p>}
165
+ </div>
166
+
167
+ <div>
168
+ <Input
169
+ {...register("email", { required: "Email is required", pattern: { value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i, message: "Invalid email" } })}
170
+ placeholder="Enter email"
171
+ type="email"
172
+ />
173
+ {errors.email && <p className="text-red-500 text-sm">{errors.email.message}</p>}
174
+ </div>
175
+
176
+ <Button type="submit">Submit</Button>
177
+ </form>
178
+ )
179
+ }
180
+ ```
181
+
182
+ ### Complex Data Table with Sorting and Filtering
183
+
184
+ ```typescript
185
+ import { DataTable } from "@/components/ui/data-table"
186
+ import { Button } from "@/components/ui/button"
187
+ import { useReactTable, getCoreRowModel, getSortedRowModel, getFilteredRowModel } from "@tanstack/react-table"
188
+
189
+ export function UserDataTable({ users }: { users: User[] }) {
190
+ const [sorting, setSorting] = React.useState([])
191
+ const [columnFilters, setColumnFilters] = React.useState([])
192
+
193
+ const table = useReactTable({
194
+ data: users,
195
+ columns: [
196
+ {
197
+ accessorKey: "name",
198
+ header: "Name",
199
+ },
200
+ {
201
+ accessorKey: "email",
202
+ header: "Email",
203
+ },
204
+ ],
205
+ getCoreRowModel: getCoreRowModel(),
206
+ getSortedRowModel: getSortedRowModel(),
207
+ getFilteredRowModel: getFilteredRowModel(),
208
+ state: {
209
+ sorting,
210
+ columnFilters,
211
+ },
212
+ onSortingChange: setSorting,
213
+ onColumnFiltersChange: setColumnFilters,
214
+ })
215
+
216
+ return (
217
+ <div>
218
+ <Button onClick={() => setColumnFilters([{ id: "name", value: "john" }])}>
219
+ Filter by John
220
+ </Button>
221
+ <DataTable table={table} />
222
+ </div>
223
+ )
224
+ }
225
+ ```
226
+
227
+ ## Component Composition Strategies
228
+
229
+ ### Building Component Trees
230
+
231
+ shadcn/ui components can be nested and composed to create complex layouts.
232
+
233
+ Strategy: Hierarchical Component Structure
234
+
235
+ ```typescript
236
+ // Parent wrapper component
237
+ export function DashboardLayout({ children }: { children: React.ReactNode }) {
238
+ return (
239
+ <div className="grid grid-cols-4 gap-4 p-6">
240
+ <aside className="col-span-1">
241
+ <Navigation />
242
+ </aside>
243
+ <main className="col-span-3">
244
+ {children}
245
+ </main>
246
+ </div>
247
+ )
248
+ }
249
+
250
+ // Navigation subcomponent
251
+ function Navigation() {
252
+ return (
253
+ <nav className="space-y-2">
254
+ <Button variant="ghost" className="w-full justify-start">Dashboard</Button>
255
+ <Button variant="ghost" className="w-full justify-start">Settings</Button>
256
+ <Button variant="ghost" className="w-full justify-start">Profile</Button>
257
+ </nav>
258
+ )
259
+ }
260
+
261
+ // Usage
262
+ export function Dashboard() {
263
+ return (
264
+ <DashboardLayout>
265
+ <Card>
266
+ <CardHeader>
267
+ <CardTitle>Welcome</CardTitle>
268
+ </CardHeader>
269
+ <CardContent>
270
+ Dashboard content here
271
+ </CardContent>
272
+ </Card>
273
+ </DashboardLayout>
274
+ )
275
+ }
276
+ ```
277
+
278
+ ## Design System Scaling
279
+
280
+ ### Managing Component Variants
281
+
282
+ shadcn/ui components support variants for different use cases.
283
+
284
+ Pattern: Variant Management
285
+
286
+ ```typescript
287
+ // Using Button variants for consistent interface
288
+ export function ActionButtons() {
289
+ return (
290
+ <div className="flex gap-2">
291
+ <Button variant="default">Primary Action</Button>
292
+ <Button variant="secondary">Secondary Action</Button>
293
+ <Button variant="outline">Outline Action</Button>
294
+ <Button variant="destructive">Delete</Button>
295
+ <Button variant="ghost">Ghost Action</Button>
296
+ </div>
297
+ )
298
+ }
299
+
300
+ // Creating custom size variants
301
+ export function SizedButtons() {
302
+ return (
303
+ <div className="flex gap-2 items-center">
304
+ <Button size="sm">Small</Button>
305
+ <Button size="default">Default</Button>
306
+ <Button size="lg">Large</Button>
307
+ </div>
308
+ )
309
+ }
310
+ ```
311
+
312
+ ## Responsive Design Patterns
313
+
314
+ ### Mobile-First Approach with Tailwind
315
+
316
+ shadcn/ui uses Tailwind CSS which supports responsive breakpoints.
317
+
318
+ ```typescript
319
+ export function ResponsiveCard() {
320
+ return (
321
+ <Card className="w-full sm:max-w-sm md:max-w-md lg:max-w-lg">
322
+ <CardHeader className="p-4 sm:p-6">
323
+ <CardTitle className="text-lg sm:text-xl md:text-2xl">
324
+ Responsive Card
325
+ </CardTitle>
326
+ </CardHeader>
327
+ <CardContent className="p-4 sm:p-6">
328
+ <p className="text-sm sm:text-base md:text-lg">
329
+ Content adapts to screen size
330
+ </p>
331
+ </CardContent>
332
+ </Card>
333
+ )
334
+ }
335
+ ```
336
+
337
+ ## Performance Patterns
338
+
339
+ ### Memoization and Lazy Loading
340
+
341
+ shadcn/ui components benefit from React.memo for preventing unnecessary re-renders.
342
+
343
+ ```typescript
344
+ import React from "react"
345
+ import { Card, CardContent } from "@/components/ui/card"
346
+
347
+ interface UserCardProps {
348
+ user: User
349
+ }
350
+
351
+ export const UserCard = React.memo(function UserCard({ user }: UserCardProps) {
352
+ return (
353
+ <Card>
354
+ <CardContent>
355
+ <p>{user.name}</p>
356
+ <p className="text-gray-500">{user.email}</p>
357
+ </CardContent>
358
+ </Card>
359
+ )
360
+ })
361
+ ```
362
+
363
+ ## Accessibility Standards
364
+
365
+ ### ARIA Integration
366
+
367
+ shadcn/ui components come with built-in accessibility features.
368
+
369
+ ```typescript
370
+ export function AccessibleDialog() {
371
+ const [open, setOpen] = React.useState(false)
372
+
373
+ return (
374
+ <>
375
+ <Button onClick={() => setOpen(true)} aria-label="Open dialog">
376
+ Open
377
+ </Button>
378
+ {open && (
379
+ <div role="dialog" aria-labelledby="dialog-title" aria-modal="true">
380
+ <h2 id="dialog-title">Dialog Title</h2>
381
+ <p>Dialog content here</p>
382
+ <Button onClick={() => setOpen(false)}>Close</Button>
383
+ </div>
384
+ )}
385
+ </>
386
+ )
387
+ }
388
+ ```
389
+
390
+ ---
391
+
392
+ Version: 4.0.0
393
+ Last Updated: 2025-11-22
394
+ Status: Production Ready
@@ -0,0 +1,278 @@
1
+ # shadcn/ui Performance Optimization
2
+
3
+ ## Bundle Size Optimization
4
+
5
+ ### Code Splitting Strategy
6
+
7
+ Pattern: Lazy Loading Components
8
+
9
+ ```typescript
10
+ import React from "react"
11
+
12
+ // Lazy load heavy components
13
+ const DataTableComponent = React.lazy(() =>
14
+ import("@/components/data-table").then(mod => ({ default: mod.DataTable }))
15
+ )
16
+
17
+ export function Dashboard() {
18
+ return (
19
+ <React.Suspense fallback={<p>Loading...</p>}>
20
+ <DataTableComponent />
21
+ </React.Suspense>
22
+ )
23
+ }
24
+ ```
25
+
26
+ ### CSS File Size Optimization
27
+
28
+ shadcn/ui uses Tailwind CSS. Optimize CSS output by:
29
+
30
+ 1. Purging unused styles in `tailwind.config.ts`:
31
+
32
+ ```typescript
33
+ export default {
34
+ content: [
35
+ "./app//*.{js,ts,jsx,tsx}",
36
+ "./components//*.{js,ts,jsx,tsx}",
37
+ ],
38
+ // Only include styles used in templates
39
+ }
40
+ ```
41
+
42
+ 2. Tree-shaking unused components - Import only what you need:
43
+
44
+ ```typescript
45
+ // GOOD: Import specific components
46
+ import { Button } from "@/components/ui/button"
47
+ import { Card } from "@/components/ui/card"
48
+
49
+ // AVOID: Importing entire component library
50
+ import * as UI from "@/components/ui"
51
+ ```
52
+
53
+ ### Component Import Optimization
54
+
55
+ ```typescript
56
+ // Optimized imports
57
+ import { Button } from "@/components/ui/button"
58
+ import { Input } from "@/components/ui/input"
59
+
60
+ function Form() {
61
+ return (
62
+ <>
63
+ <Input placeholder="Name" />
64
+ <Button>Submit</Button>
65
+ </>
66
+ )
67
+ }
68
+ ```
69
+
70
+ ## Rendering Optimization
71
+
72
+ ### React.memo for Components
73
+
74
+ ```typescript
75
+ import React from "react"
76
+ import { Card } from "@/components/ui/card"
77
+
78
+ interface ItemProps {
79
+ id: string
80
+ title: string
81
+ description: string
82
+ }
83
+
84
+ // Prevent re-renders when props haven't changed
85
+ export const ListItem = React.memo(function ListItem({ id, title, description }: ItemProps) {
86
+ return (
87
+ <Card className="p-4">
88
+ <h3>{title}</h3>
89
+ <p>{description}</p>
90
+ </Card>
91
+ )
92
+ }, (prevProps, nextProps) => {
93
+ // Custom comparison
94
+ return prevProps.id === nextProps.id &&
95
+ prevProps.title === nextProps.title &&
96
+ prevProps.description === nextProps.description
97
+ })
98
+ ```
99
+
100
+ ### useMemo for Expensive Computations
101
+
102
+ ```typescript
103
+ import React, { useMemo } from "react"
104
+ import { Button } from "@/components/ui/button"
105
+
106
+ interface DataTableProps {
107
+ rows: any[]
108
+ filter: string
109
+ }
110
+
111
+ export function DataTable({ rows, filter }: DataTableProps) {
112
+ // Memoize filtered results
113
+ const filteredRows = useMemo(() => {
114
+ return rows.filter(row => row.name.includes(filter))
115
+ }, [rows, filter])
116
+
117
+ return (
118
+ <div>
119
+ {filteredRows.map(row => (
120
+ <div key={row.id}>{row.name}</div>
121
+ ))}
122
+ </div>
123
+ )
124
+ }
125
+ ```
126
+
127
+ ### useCallback for Event Handlers
128
+
129
+ ```typescript
130
+ import React, { useCallback } from "react"
131
+ import { Button } from "@/components/ui/button"
132
+
133
+ export function Form() {
134
+ const handleSubmit = useCallback((e: React.FormEvent) => {
135
+ e.preventDefault()
136
+ // Expensive operation
137
+ }, [])
138
+
139
+ return (
140
+ <form onSubmit={handleSubmit}>
141
+ <Button type="submit">Submit</Button>
142
+ </form>
143
+ )
144
+ }
145
+ ```
146
+
147
+ ## Token Efficiency
148
+
149
+ ### CSS Variable Optimization
150
+
151
+ ```typescript
152
+ // Efficient design token usage
153
+ const tokenConfig = {
154
+ colors: {
155
+ primary: "hsl(var(--primary))",
156
+ secondary: "hsl(var(--secondary))",
157
+ },
158
+ spacing: {
159
+ xs: "var(--spacing-xs)",
160
+ sm: "var(--spacing-sm)",
161
+ },
162
+ }
163
+
164
+ // Use in components
165
+ export function Button() {
166
+ return (
167
+ <button className="bg-[var(--primary)] px-[var(--spacing-sm)]">
168
+ Click me
169
+ </button>
170
+ )
171
+ }
172
+ ```
173
+
174
+ ## Rendering Optimization
175
+
176
+ ### Virtual Scrolling for Large Lists
177
+
178
+ ```typescript
179
+ import React, { useMemo } from "react"
180
+ import { FixedSizeList } from "react-window"
181
+ import { Card } from "@/components/ui/card"
182
+
183
+ interface Item {
184
+ id: string
185
+ name: string
186
+ }
187
+
188
+ export function VirtualList({ items }: { items: Item[] }) {
189
+ const Row = ({ index, style }: { index: number; style: React.CSSProperties }) => (
190
+ <div style={style}>
191
+ <Card className="p-2">
192
+ <p>{items[index].name}</p>
193
+ </Card>
194
+ </div>
195
+ )
196
+
197
+ return (
198
+ <FixedSizeList
199
+ height={600}
200
+ itemCount={items.length}
201
+ itemSize={80}
202
+ width="100%"
203
+ >
204
+ {Row}
205
+ </FixedSizeList>
206
+ )
207
+ }
208
+ ```
209
+
210
+ ### Pagination Pattern
211
+
212
+ ```typescript
213
+ import React from "react"
214
+ import { Button } from "@/components/ui/button"
215
+ import { Card } from "@/components/ui/card"
216
+
217
+ export function PaginatedList() {
218
+ const [page, setPage] = React.useState(1)
219
+ const itemsPerPage = 10
220
+
221
+ const startIndex = (page - 1) * itemsPerPage
222
+ const endIndex = startIndex + itemsPerPage
223
+
224
+ return (
225
+ <div>
226
+ <div className="space-y-2">
227
+ {/* Render only items for current page */}
228
+ </div>
229
+ <div className="flex gap-2">
230
+ <Button onClick={() => setPage(page - 1)} disabled={page === 1}>
231
+ Previous
232
+ </Button>
233
+ <span>Page {page}</span>
234
+ <Button onClick={() => setPage(page + 1)}>
235
+ Next
236
+ </Button>
237
+ </div>
238
+ </div>
239
+ )
240
+ }
241
+ ```
242
+
243
+ ## Network Optimization
244
+
245
+ ### Image Optimization with Next.js
246
+
247
+ ```typescript
248
+ import Image from "next/image"
249
+
250
+ export function OptimizedImage() {
251
+ return (
252
+ <Image
253
+ src="/image.jpg"
254
+ alt="Optimized image"
255
+ width={400}
256
+ height={300}
257
+ priority={false}
258
+ loading="lazy"
259
+ />
260
+ )
261
+ }
262
+ ```
263
+
264
+ ## Best Practices Summary
265
+
266
+ 1. Lazy Load Components - Use React.lazy for non-critical components
267
+ 2. Memoize Selectively - Don't over-memoize; profile first
268
+ 3. Tree-shake Imports - Import specific components, not entire libraries
269
+ 4. Optimize CSS - Configure Tailwind content properly
270
+ 5. Virtual Scroll Large Lists - Use react-window for 1000+ items
271
+ 6. Cache Computations - Use useMemo and useCallback judiciously
272
+ 7. Monitor Bundle - Use bundle analyzer to identify bottlenecks
273
+
274
+ ---
275
+
276
+ Version: 4.0.0
277
+ Last Updated: 2025-11-22
278
+ Token Focus: CSS file size, JavaScript bundle size, rendering performance