moai-adk 0.34.0__py3-none-any.whl → 1.1.0__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.
Files changed (524) hide show
  1. moai_adk/__main__.py +136 -5
  2. moai_adk/astgrep/__init__.py +37 -0
  3. moai_adk/astgrep/analyzer.py +522 -0
  4. moai_adk/astgrep/models.py +124 -0
  5. moai_adk/astgrep/rules.py +179 -0
  6. moai_adk/cli/commands/analyze.py +11 -2
  7. moai_adk/cli/commands/doctor.py +7 -1
  8. moai_adk/cli/commands/init.py +321 -11
  9. moai_adk/cli/commands/language.py +7 -1
  10. moai_adk/cli/commands/rank.py +449 -0
  11. moai_adk/cli/commands/status.py +7 -1
  12. moai_adk/cli/commands/switch.py +325 -0
  13. moai_adk/cli/commands/update.py +296 -23
  14. moai_adk/cli/prompts/init_prompts.py +362 -66
  15. moai_adk/cli/prompts/translations/__init__.py +573 -0
  16. moai_adk/cli/ui/prompts.py +61 -2
  17. moai_adk/cli/worktree/cli.py +106 -1
  18. moai_adk/cli/worktree/manager.py +155 -0
  19. moai_adk/core/config/unified.py +244 -63
  20. moai_adk/core/credentials.py +264 -0
  21. moai_adk/core/error_recovery_system.py +22 -4
  22. moai_adk/core/git/conflict_detector.py +10 -1
  23. moai_adk/core/git/event_detector.py +16 -5
  24. moai_adk/core/integration/engine.py +2 -2
  25. moai_adk/core/integration/integration_tester.py +5 -5
  26. moai_adk/core/language_config_resolver.py +9 -3
  27. moai_adk/core/merge/analyzer.py +509 -324
  28. moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
  29. moai_adk/core/migration/backup_manager.py +54 -4
  30. moai_adk/core/migration/file_migrator.py +174 -2
  31. moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
  32. moai_adk/core/migration/version_detector.py +123 -19
  33. moai_adk/core/migration/version_migrator.py +44 -9
  34. moai_adk/core/model_allocator.py +241 -0
  35. moai_adk/core/project/backup_utils.py +12 -2
  36. moai_adk/core/project/initializer.py +44 -87
  37. moai_adk/core/project/phase_executor.py +95 -33
  38. moai_adk/core/project/validator.py +16 -1
  39. moai_adk/core/quality/trust_checker.py +30 -10
  40. moai_adk/core/rollback_manager.py +60 -25
  41. moai_adk/core/template/backup.py +88 -6
  42. moai_adk/core/template/config.py +33 -9
  43. moai_adk/core/template/merger.py +34 -8
  44. moai_adk/core/template/processor.py +334 -11
  45. moai_adk/core/template_engine.py +10 -1
  46. moai_adk/core/template_variable_synchronizer.py +16 -2
  47. moai_adk/core/version_sync.py +54 -6
  48. moai_adk/foundation/__init__.py +1 -20
  49. moai_adk/foundation/testing.py +1 -1
  50. moai_adk/loop/__init__.py +54 -0
  51. moai_adk/loop/controller.py +305 -0
  52. moai_adk/loop/feedback.py +230 -0
  53. moai_adk/loop/state.py +209 -0
  54. moai_adk/loop/storage.py +220 -0
  55. moai_adk/lsp/__init__.py +70 -0
  56. moai_adk/lsp/client.py +320 -0
  57. moai_adk/lsp/models.py +261 -0
  58. moai_adk/lsp/protocol.py +404 -0
  59. moai_adk/lsp/server_manager.py +248 -0
  60. moai_adk/project/configuration.py +8 -1
  61. moai_adk/py.typed +0 -0
  62. moai_adk/ralph/__init__.py +37 -0
  63. moai_adk/ralph/engine.py +307 -0
  64. moai_adk/rank/__init__.py +21 -0
  65. moai_adk/rank/auth.py +425 -0
  66. moai_adk/rank/client.py +557 -0
  67. moai_adk/rank/config.py +147 -0
  68. moai_adk/rank/hook.py +1503 -0
  69. moai_adk/rank/py.typed +0 -0
  70. moai_adk/statusline/__init__.py +3 -0
  71. moai_adk/statusline/enhanced_output_style_detector.py +5 -5
  72. moai_adk/statusline/main.py +20 -1
  73. moai_adk/statusline/memory_collector.py +268 -0
  74. moai_adk/statusline/renderer.py +54 -38
  75. moai_adk/tag_system/__init__.py +48 -0
  76. moai_adk/tag_system/atomic_ops.py +117 -0
  77. moai_adk/tag_system/linkage.py +335 -0
  78. moai_adk/tag_system/parser.py +176 -0
  79. moai_adk/tag_system/validator.py +200 -0
  80. moai_adk/templates/.claude/agents/moai/builder-agent.md +19 -3
  81. moai_adk/templates/.claude/agents/moai/builder-command.md +62 -16
  82. moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
  83. moai_adk/templates/.claude/agents/moai/builder-skill.md +21 -5
  84. moai_adk/templates/.claude/agents/moai/expert-backend.md +103 -39
  85. moai_adk/templates/.claude/agents/moai/expert-debug.md +9 -3
  86. moai_adk/templates/.claude/agents/moai/expert-devops.md +16 -14
  87. moai_adk/templates/.claude/agents/moai/expert-frontend.md +45 -31
  88. moai_adk/templates/.claude/agents/moai/expert-performance.md +13 -9
  89. moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
  90. moai_adk/templates/.claude/agents/moai/expert-security.md +19 -3
  91. moai_adk/templates/.claude/agents/moai/expert-testing.md +13 -9
  92. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +8 -2
  93. moai_adk/templates/.claude/agents/moai/manager-docs.md +10 -5
  94. moai_adk/templates/.claude/agents/moai/manager-git.md +99 -27
  95. moai_adk/templates/.claude/agents/moai/manager-project.md +87 -7
  96. moai_adk/templates/.claude/agents/moai/manager-quality.md +22 -5
  97. moai_adk/templates/.claude/agents/moai/manager-spec.md +8 -2
  98. moai_adk/templates/.claude/agents/moai/manager-strategy.md +45 -14
  99. moai_adk/templates/.claude/agents/moai/manager-tdd.md +16 -3
  100. moai_adk/templates/.claude/commands/moai/0-project.md +239 -1185
  101. moai_adk/templates/.claude/commands/moai/1-plan.md +383 -363
  102. moai_adk/templates/.claude/commands/moai/2-run.md +254 -347
  103. moai_adk/templates/.claude/commands/moai/3-sync.md +174 -100
  104. moai_adk/templates/.claude/commands/moai/9-feedback.md +49 -33
  105. moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
  106. moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
  107. moai_adk/templates/.claude/commands/moai/fix.md +264 -0
  108. moai_adk/templates/.claude/commands/moai/loop.md +363 -0
  109. moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
  110. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +37 -81
  111. moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
  112. moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
  113. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
  114. moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
  115. moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
  116. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +24 -28
  117. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +14 -14
  118. moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
  119. moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
  120. moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
  121. moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
  122. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +15 -13
  123. moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
  124. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +125 -25
  125. moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
  126. moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
  127. moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
  128. moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
  129. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
  130. moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
  131. moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
  132. moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
  133. moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
  134. moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
  135. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +5 -5
  136. moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
  137. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +30 -18
  138. moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
  139. moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
  140. moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
  141. moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
  142. moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
  143. moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
  144. moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
  145. moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
  146. moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
  147. moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
  148. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +93 -61
  149. moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
  150. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +165 -70
  151. moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
  152. moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
  153. moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
  154. moai_adk/templates/.claude/output-styles/moai/r2d2.md +86 -3
  155. moai_adk/templates/.claude/output-styles/moai/yoda.md +2 -2
  156. moai_adk/templates/.claude/settings.json +154 -77
  157. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -198
  158. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +169 -323
  159. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
  160. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
  161. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
  162. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
  163. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
  164. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +226 -320
  165. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -222
  166. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +75 -219
  167. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +103 -463
  168. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
  169. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
  170. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
  171. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
  172. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
  173. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
  174. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +118 -339
  175. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +74 -377
  176. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
  177. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +205 -182
  178. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
  179. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
  180. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +32 -22
  181. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
  182. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
  183. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
  184. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
  185. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
  186. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
  187. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
  188. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
  189. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
  190. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
  191. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +96 -316
  192. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +116 -294
  193. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
  196. moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
  199. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
  201. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +14 -18
  204. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +86 -270
  205. moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
  206. moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
  207. moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
  208. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +76 -582
  209. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1239 -0
  210. moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
  211. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1136 -0
  212. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +82 -436
  213. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
  214. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
  215. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
  216. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
  217. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
  218. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
  219. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
  220. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +65 -542
  221. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
  222. moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
  223. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
  224. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +32 -405
  225. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +114 -293
  226. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +83 -307
  227. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +179 -0
  228. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
  229. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
  230. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +42 -279
  231. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +94 -556
  232. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1608 -0
  233. moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
  234. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1323 -0
  235. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +108 -358
  236. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +84 -482
  237. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1154 -0
  238. moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
  239. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1087 -0
  240. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +106 -610
  241. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1106 -0
  242. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
  243. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
  244. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1024 -0
  245. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +51 -265
  246. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +106 -442
  247. moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
  248. moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
  249. moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
  250. moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
  251. moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
  252. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -457
  253. moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
  254. moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
  255. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
  256. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
  257. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +75 -283
  258. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +97 -252
  259. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +64 -240
  260. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
  261. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
  262. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +90 -287
  263. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +200 -206
  264. moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
  265. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
  266. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
  267. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
  268. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
  269. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
  270. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
  271. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
  272. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
  273. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
  274. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
  275. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
  276. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
  277. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
  278. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
  279. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
  280. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
  281. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
  282. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
  283. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
  284. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
  285. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
  286. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
  287. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
  288. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
  289. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
  290. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
  291. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
  292. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
  293. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
  294. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
  295. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
  296. moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
  297. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +75 -330
  298. moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
  299. moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
  300. moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
  301. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +100 -340
  302. moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
  303. moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
  304. moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
  305. moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
  306. moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
  307. moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
  308. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +113 -326
  309. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
  310. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
  311. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
  312. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
  313. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
  314. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +71 -302
  315. moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
  316. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
  317. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
  318. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
  319. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
  320. moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
  321. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +101 -412
  322. moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
  323. moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
  324. moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
  325. moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
  326. moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
  327. moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
  328. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +96 -327
  329. moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
  330. moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
  331. moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
  332. moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
  333. moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
  334. moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
  335. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +103 -428
  336. moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
  337. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
  338. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
  339. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
  340. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
  341. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
  342. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
  343. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
  344. moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
  345. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +96 -446
  346. moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
  347. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
  348. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
  349. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
  350. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
  351. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
  352. moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
  353. moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
  354. moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
  355. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
  356. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
  357. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
  358. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
  359. moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
  360. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
  361. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
  362. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
  363. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
  364. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
  365. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
  366. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
  367. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
  368. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
  369. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +225 -423
  370. moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
  371. moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
  372. moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
  373. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +211 -314
  374. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +15 -43
  375. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +119 -316
  376. moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
  377. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +96 -203
  378. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +201 -388
  379. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
  380. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
  381. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
  382. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
  383. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
  384. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
  385. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
  386. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
  387. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
  388. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
  389. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
  390. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
  391. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
  404. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
  409. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
  416. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
  429. moai_adk/templates/.git-hooks/pre-push +162 -59
  430. moai_adk/templates/.github/workflows/ci-universal.yml +934 -133
  431. moai_adk/templates/.gitignore +65 -107
  432. moai_adk/templates/.lsp.json +152 -0
  433. moai_adk/templates/.mcp.json +2 -20
  434. moai_adk/templates/.moai/announcements/en.json +18 -0
  435. moai_adk/templates/.moai/announcements/ja.json +18 -0
  436. moai_adk/templates/.moai/announcements/ko.json +18 -0
  437. moai_adk/templates/.moai/announcements/zh.json +18 -0
  438. moai_adk/templates/.moai/config/config.yaml +8 -2
  439. moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
  440. moai_adk/templates/.moai/config/sections/language.yaml +2 -2
  441. moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
  442. moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
  443. moai_adk/templates/.moai/config/sections/project.yaml +2 -2
  444. moai_adk/templates/.moai/config/sections/quality.yaml +43 -5
  445. moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
  446. moai_adk/templates/.moai/config/sections/system.yaml +46 -1
  447. moai_adk/templates/.moai/config/sections/user.yaml +1 -1
  448. moai_adk/templates/.moai/config/statusline-config.yaml +2 -2
  449. moai_adk/templates/.moai/llm-configs/glm.json +22 -0
  450. moai_adk/templates/CLAUDE.ja.md +343 -0
  451. moai_adk/templates/CLAUDE.ko.md +343 -0
  452. moai_adk/templates/CLAUDE.md +200 -499
  453. moai_adk/templates/CLAUDE.zh.md +343 -0
  454. moai_adk/utils/common.py +37 -0
  455. moai_adk/version.py +1 -1
  456. moai_adk-1.1.0.dist-info/METADATA +2443 -0
  457. moai_adk-1.1.0.dist-info/RECORD +701 -0
  458. {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/entry_points.txt +2 -0
  459. moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
  460. moai_adk/core/config/auto_spec_config.py +0 -340
  461. moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
  462. moai_adk/core/spec/confidence_scoring.py +0 -680
  463. moai_adk/core/spec/ears_template_engine.py +0 -1247
  464. moai_adk/core/spec/quality_validator.py +0 -687
  465. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +0 -670
  466. moai_adk/templates/.claude/agents/moai/expert-database.md +0 -777
  467. moai_adk/templates/.claude/agents/moai/expert-uiux.md +0 -1041
  468. moai_adk/templates/.claude/agents/moai/mcp-context7.md +0 -458
  469. moai_adk/templates/.claude/agents/moai/mcp-figma.md +0 -1607
  470. moai_adk/templates/.claude/agents/moai/mcp-notion.md +0 -789
  471. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +0 -469
  472. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +0 -1032
  473. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +0 -438
  474. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +0 -431
  475. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
  476. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
  477. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +0 -402
  478. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +0 -607
  479. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +0 -300
  480. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +0 -537
  481. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
  482. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
  483. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
  484. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
  485. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
  486. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -175
  487. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
  488. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
  489. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
  490. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
  491. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
  492. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
  493. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
  494. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
  495. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
  496. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
  497. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
  498. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -411
  499. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
  500. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
  501. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
  502. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
  503. moai_adk/templates/.moai/config/questions/_schema.yaml +0 -151
  504. moai_adk/templates/.moai/config/questions/tab0-init.yaml +0 -251
  505. moai_adk/templates/.moai/config/questions/tab1-user.yaml +0 -108
  506. moai_adk/templates/.moai/config/questions/tab2-project.yaml +0 -81
  507. moai_adk/templates/.moai/config/questions/tab3-git.yaml +0 -634
  508. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +0 -170
  509. moai_adk/templates/.moai/config/questions/tab5-system.yaml +0 -87
  510. moai_adk/templates/.moai/scripts/setup-glm.py +0 -136
  511. moai_adk-0.34.0.dist-info/METADATA +0 -2999
  512. moai_adk-0.34.0.dist-info/RECORD +0 -463
  513. moai_adk-0.34.0.dist-info/licenses/LICENSE +0 -21
  514. /moai_adk/foundation/{git.py → git/__init__.py} +0 -0
  515. /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  516. /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
  517. /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
  518. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  519. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
  520. /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  521. /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
  522. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
  523. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
  524. {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,802 @@
1
+ # Vue 3.5 Patterns
2
+
3
+ Comprehensive patterns for Vue 3.5 development covering Composition API, Reactivity system, TypeScript integration, and Pinia state management.
4
+
5
+ ---
6
+
7
+ ## Composition API Fundamentals
8
+
9
+ ### Script Setup with TypeScript
10
+
11
+ ```vue
12
+ <!-- components/UserCard.vue -->
13
+ <script setup lang="ts">
14
+ import { ref, computed, watch, onMounted, onUnmounted } from 'vue'
15
+
16
+ // Type definitions
17
+ interface User {
18
+ id: string
19
+ name: string
20
+ email: string
21
+ avatar: string
22
+ role: 'admin' | 'user' | 'guest'
23
+ }
24
+
25
+ interface Props {
26
+ userId: string
27
+ showActions?: boolean
28
+ }
29
+
30
+ interface Emits {
31
+ (e: 'update', user: User): void
32
+ (e: 'delete', userId: string): void
33
+ (e: 'select', user: User): void
34
+ }
35
+
36
+ // Props with defaults
37
+ const props = withDefaults(defineProps<Props>(), {
38
+ showActions: true
39
+ })
40
+
41
+ // Type-safe emits
42
+ const emit = defineEmits<Emits>()
43
+
44
+ // Expose methods to parent
45
+ defineExpose({
46
+ refresh: () => fetchUser()
47
+ })
48
+
49
+ // Reactive state
50
+ const user = ref<User | null>(null)
51
+ const loading = ref(true)
52
+ const error = ref<string | null>(null)
53
+
54
+ // Computed properties
55
+ const displayName = computed(() => {
56
+ if (!user.value) return 'Unknown'
57
+ return user.value.name || user.value.email
58
+ })
59
+
60
+ const isAdmin = computed(() => user.value?.role === 'admin')
61
+
62
+ // Methods
63
+ async function fetchUser() {
64
+ loading.value = true
65
+ error.value = null
66
+
67
+ try {
68
+ const response = await fetch(`/api/users/${props.userId}`)
69
+ if (!response.ok) throw new Error('Failed to fetch user')
70
+ user.value = await response.json()
71
+ } catch (err) {
72
+ error.value = err instanceof Error ? err.message : 'Unknown error'
73
+ } finally {
74
+ loading.value = false
75
+ }
76
+ }
77
+
78
+ function handleSelect() {
79
+ if (user.value) {
80
+ emit('select', user.value)
81
+ }
82
+ }
83
+
84
+ function handleDelete() {
85
+ emit('delete', props.userId)
86
+ }
87
+
88
+ // Watchers
89
+ watch(
90
+ () => props.userId,
91
+ (newId, oldId) => {
92
+ if (newId !== oldId) {
93
+ fetchUser()
94
+ }
95
+ },
96
+ { immediate: true }
97
+ )
98
+
99
+ // Lifecycle
100
+ onMounted(() => {
101
+ console.log('UserCard mounted')
102
+ })
103
+
104
+ onUnmounted(() => {
105
+ console.log('UserCard unmounted')
106
+ })
107
+ </script>
108
+
109
+ <template>
110
+ <div class="user-card" :class="{ 'is-admin': isAdmin }">
111
+ <!-- Loading state -->
112
+ <div v-if="loading" class="loading">
113
+ <Spinner />
114
+ </div>
115
+
116
+ <!-- Error state -->
117
+ <div v-else-if="error" class="error">
118
+ <p>{{ error }}</p>
119
+ <button @click="fetchUser">Retry</button>
120
+ </div>
121
+
122
+ <!-- User content -->
123
+ <div v-else-if="user" class="user-content" @click="handleSelect">
124
+ <img :src="user.avatar" :alt="displayName" class="avatar" />
125
+
126
+ <div class="info">
127
+ <h3 class="name">{{ displayName }}</h3>
128
+ <p class="email">{{ user.email }}</p>
129
+ <span class="role" :class="`role-${user.role}`">
130
+ {{ user.role }}
131
+ </span>
132
+ </div>
133
+
134
+ <div v-if="showActions" class="actions">
135
+ <button @click.stop="$emit('update', user)">Edit</button>
136
+ <button @click.stop="handleDelete" class="danger">Delete</button>
137
+ </div>
138
+ </div>
139
+ </div>
140
+ </template>
141
+
142
+ <style scoped>
143
+ .user-card {
144
+ @apply border rounded-lg p-4 hover:shadow-md transition-shadow;
145
+ }
146
+
147
+ .user-card.is-admin {
148
+ @apply border-blue-500;
149
+ }
150
+
151
+ .avatar {
152
+ @apply w-16 h-16 rounded-full object-cover;
153
+ }
154
+
155
+ .role-admin {
156
+ @apply bg-blue-100 text-blue-800;
157
+ }
158
+
159
+ .role-user {
160
+ @apply bg-green-100 text-green-800;
161
+ }
162
+
163
+ .danger {
164
+ @apply text-red-600 hover:text-red-800;
165
+ }
166
+ </style>
167
+ ```
168
+
169
+ ---
170
+
171
+ ## Composables (Reusable Logic)
172
+
173
+ ### Data Fetching Composable
174
+
175
+ ```typescript
176
+ // composables/useFetch.ts
177
+ import { ref, shallowRef, watchEffect, toValue, type MaybeRefOrGetter } from 'vue'
178
+
179
+ interface UseFetchOptions<T> {
180
+ immediate?: boolean
181
+ refetch?: boolean
182
+ initialData?: T
183
+ onSuccess?: (data: T) => void
184
+ onError?: (error: Error) => void
185
+ }
186
+
187
+ interface UseFetchReturn<T> {
188
+ data: Ref<T | null>
189
+ error: Ref<Error | null>
190
+ loading: Ref<boolean>
191
+ execute: () => Promise<void>
192
+ refresh: () => Promise<void>
193
+ }
194
+
195
+ export function useFetch<T>(
196
+ url: MaybeRefOrGetter<string>,
197
+ options: UseFetchOptions<T> = {}
198
+ ): UseFetchReturn<T> {
199
+ const {
200
+ immediate = true,
201
+ refetch = false,
202
+ initialData = null,
203
+ onSuccess,
204
+ onError
205
+ } = options
206
+
207
+ const data = shallowRef<T | null>(initialData as T | null)
208
+ const error = ref<Error | null>(null)
209
+ const loading = ref(false)
210
+
211
+ async function execute() {
212
+ loading.value = true
213
+ error.value = null
214
+
215
+ try {
216
+ const response = await fetch(toValue(url))
217
+
218
+ if (!response.ok) {
219
+ throw new Error(`HTTP error! status: ${response.status}`)
220
+ }
221
+
222
+ const result = await response.json()
223
+ data.value = result
224
+ onSuccess?.(result)
225
+ } catch (err) {
226
+ const fetchError = err instanceof Error ? err : new Error('Fetch failed')
227
+ error.value = fetchError
228
+ onError?.(fetchError)
229
+ } finally {
230
+ loading.value = false
231
+ }
232
+ }
233
+
234
+ if (refetch) {
235
+ watchEffect(() => {
236
+ toValue(url) // Track URL changes
237
+ execute()
238
+ })
239
+ } else if (immediate) {
240
+ execute()
241
+ }
242
+
243
+ return {
244
+ data,
245
+ error,
246
+ loading,
247
+ execute,
248
+ refresh: execute
249
+ }
250
+ }
251
+
252
+ // Usage
253
+ const { data: users, loading, error, refresh } = useFetch<User[]>('/api/users')
254
+ ```
255
+
256
+ ### Form Handling Composable
257
+
258
+ ```typescript
259
+ // composables/useForm.ts
260
+ import { reactive, ref, computed } from 'vue'
261
+ import { z, type ZodSchema } from 'zod'
262
+
263
+ interface UseFormOptions<T> {
264
+ initialValues: T
265
+ validationSchema?: ZodSchema<T>
266
+ onSubmit: (values: T) => Promise<void>
267
+ }
268
+
269
+ export function useForm<T extends Record<string, unknown>>(
270
+ options: UseFormOptions<T>
271
+ ) {
272
+ const { initialValues, validationSchema, onSubmit } = options
273
+
274
+ const values = reactive({ ...initialValues }) as T
275
+ const errors = reactive<Partial<Record<keyof T, string>>>({})
276
+ const touched = reactive<Partial<Record<keyof T, boolean>>>({})
277
+ const submitting = ref(false)
278
+ const submitted = ref(false)
279
+
280
+ const isValid = computed(() => {
281
+ if (!validationSchema) return true
282
+ const result = validationSchema.safeParse(values)
283
+ return result.success
284
+ })
285
+
286
+ const isDirty = computed(() => {
287
+ return Object.keys(initialValues).some(
288
+ key => values[key as keyof T] !== initialValues[key as keyof T]
289
+ )
290
+ })
291
+
292
+ function validate(): boolean {
293
+ if (!validationSchema) return true
294
+
295
+ const result = validationSchema.safeParse(values)
296
+
297
+ // Clear all errors
298
+ Object.keys(errors).forEach(key => {
299
+ delete errors[key as keyof T]
300
+ })
301
+
302
+ if (!result.success) {
303
+ result.error.errors.forEach(err => {
304
+ const path = err.path[0] as keyof T
305
+ if (path) {
306
+ errors[path] = err.message
307
+ }
308
+ })
309
+ return false
310
+ }
311
+
312
+ return true
313
+ }
314
+
315
+ function validateField(field: keyof T) {
316
+ if (!validationSchema) return
317
+
318
+ touched[field] = true
319
+ const result = validationSchema.safeParse(values)
320
+
321
+ if (!result.success) {
322
+ const fieldError = result.error.errors.find(
323
+ err => err.path[0] === field
324
+ )
325
+ errors[field] = fieldError?.message
326
+ } else {
327
+ delete errors[field]
328
+ }
329
+ }
330
+
331
+ function setFieldValue<K extends keyof T>(field: K, value: T[K]) {
332
+ values[field] = value
333
+ validateField(field)
334
+ }
335
+
336
+ function reset() {
337
+ Object.assign(values, initialValues)
338
+ Object.keys(errors).forEach(key => delete errors[key as keyof T])
339
+ Object.keys(touched).forEach(key => delete touched[key as keyof T])
340
+ submitted.value = false
341
+ }
342
+
343
+ async function handleSubmit() {
344
+ if (!validate()) return
345
+
346
+ submitting.value = true
347
+ try {
348
+ await onSubmit(values)
349
+ submitted.value = true
350
+ } finally {
351
+ submitting.value = false
352
+ }
353
+ }
354
+
355
+ return {
356
+ values,
357
+ errors,
358
+ touched,
359
+ submitting,
360
+ submitted,
361
+ isValid,
362
+ isDirty,
363
+ validate,
364
+ validateField,
365
+ setFieldValue,
366
+ reset,
367
+ handleSubmit
368
+ }
369
+ }
370
+ ```
371
+
372
+ ---
373
+
374
+ ## Reactivity Deep Dive
375
+
376
+ ### Reactive References
377
+
378
+ ```typescript
379
+ import {
380
+ ref,
381
+ reactive,
382
+ shallowRef,
383
+ shallowReactive,
384
+ readonly,
385
+ toRef,
386
+ toRefs,
387
+ computed,
388
+ watch,
389
+ watchEffect
390
+ } from 'vue'
391
+
392
+ // ref - for primitives and single values
393
+ const count = ref(0)
394
+ const user = ref<User | null>(null)
395
+
396
+ // reactive - for objects
397
+ const state = reactive({
398
+ users: [] as User[],
399
+ loading: false,
400
+ filters: {
401
+ search: '',
402
+ role: 'all'
403
+ }
404
+ })
405
+
406
+ // shallowRef/shallowReactive - for performance
407
+ // Only tracks top-level reactivity
408
+ const largeData = shallowRef<LargeObject[]>([])
409
+ const config = shallowReactive({
410
+ settings: {} as Settings // settings changes won't trigger updates
411
+ })
412
+
413
+ // readonly - prevent mutations
414
+ const immutableState = readonly(state)
415
+
416
+ // toRef/toRefs - destructure reactive objects safely
417
+ const { search, role } = toRefs(state.filters)
418
+ const loadingRef = toRef(state, 'loading')
419
+
420
+ // Computed with getter and setter
421
+ const fullName = computed({
422
+ get: () => `${state.firstName} ${state.lastName}`,
423
+ set: (value: string) => {
424
+ const [first, last] = value.split(' ')
425
+ state.firstName = first
426
+ state.lastName = last || ''
427
+ }
428
+ })
429
+ ```
430
+
431
+ ### Advanced Watchers
432
+
433
+ ```typescript
434
+ import { watch, watchEffect, watchPostEffect, watchSyncEffect } from 'vue'
435
+
436
+ // Watch single source
437
+ watch(count, (newVal, oldVal) => {
438
+ console.log(`Count changed from ${oldVal} to ${newVal}`)
439
+ })
440
+
441
+ // Watch multiple sources
442
+ watch(
443
+ [count, () => state.loading],
444
+ ([newCount, newLoading], [oldCount, oldLoading]) => {
445
+ console.log('Count or loading changed')
446
+ }
447
+ )
448
+
449
+ // Deep watch with options
450
+ watch(
451
+ () => state.filters,
452
+ (newFilters) => {
453
+ fetchData(newFilters)
454
+ },
455
+ {
456
+ deep: true, // Watch nested properties
457
+ immediate: true, // Run immediately
458
+ flush: 'post', // Run after DOM update
459
+ once: true // Run only once
460
+ }
461
+ )
462
+
463
+ // watchEffect - auto-tracks dependencies
464
+ watchEffect(async () => {
465
+ const query = state.filters.search
466
+ if (query) {
467
+ const results = await searchUsers(query)
468
+ state.users = results
469
+ }
470
+ })
471
+
472
+ // watchPostEffect - runs after DOM updates
473
+ watchPostEffect(() => {
474
+ // Safe to access DOM here
475
+ document.title = `Users (${state.users.length})`
476
+ })
477
+
478
+ // Cleanup function
479
+ watchEffect((onCleanup) => {
480
+ const controller = new AbortController()
481
+
482
+ fetch('/api/data', { signal: controller.signal })
483
+ .then(/* ... */)
484
+
485
+ onCleanup(() => {
486
+ controller.abort()
487
+ })
488
+ })
489
+ ```
490
+
491
+ ---
492
+
493
+ ## Pinia State Management
494
+
495
+ ### Store Definition
496
+
497
+ ```typescript
498
+ // stores/userStore.ts
499
+ import { defineStore } from 'pinia'
500
+ import { ref, computed } from 'vue'
501
+
502
+ interface User {
503
+ id: string
504
+ name: string
505
+ email: string
506
+ role: 'admin' | 'user'
507
+ }
508
+
509
+ // Composition API style (recommended)
510
+ export const useUserStore = defineStore('user', () => {
511
+ // State
512
+ const currentUser = ref<User | null>(null)
513
+ const users = ref<User[]>([])
514
+ const loading = ref(false)
515
+ const error = ref<string | null>(null)
516
+
517
+ // Getters
518
+ const isAuthenticated = computed(() => !!currentUser.value)
519
+ const isAdmin = computed(() => currentUser.value?.role === 'admin')
520
+ const userCount = computed(() => users.value.length)
521
+
522
+ const getUserById = computed(() => {
523
+ return (id: string) => users.value.find(u => u.id === id)
524
+ })
525
+
526
+ // Actions
527
+ async function login(email: string, password: string) {
528
+ loading.value = true
529
+ error.value = null
530
+
531
+ try {
532
+ const response = await fetch('/api/auth/login', {
533
+ method: 'POST',
534
+ body: JSON.stringify({ email, password }),
535
+ headers: { 'Content-Type': 'application/json' }
536
+ })
537
+
538
+ if (!response.ok) {
539
+ throw new Error('Login failed')
540
+ }
541
+
542
+ currentUser.value = await response.json()
543
+ } catch (err) {
544
+ error.value = err instanceof Error ? err.message : 'Unknown error'
545
+ throw err
546
+ } finally {
547
+ loading.value = false
548
+ }
549
+ }
550
+
551
+ function logout() {
552
+ currentUser.value = null
553
+ }
554
+
555
+ async function fetchUsers() {
556
+ loading.value = true
557
+
558
+ try {
559
+ const response = await fetch('/api/users')
560
+ users.value = await response.json()
561
+ } catch (err) {
562
+ error.value = err instanceof Error ? err.message : 'Failed to fetch'
563
+ } finally {
564
+ loading.value = false
565
+ }
566
+ }
567
+
568
+ function updateUser(id: string, updates: Partial<User>) {
569
+ const index = users.value.findIndex(u => u.id === id)
570
+ if (index !== -1) {
571
+ users.value[index] = { ...users.value[index], ...updates }
572
+ }
573
+ }
574
+
575
+ // Subscribe to actions for side effects
576
+ function $reset() {
577
+ currentUser.value = null
578
+ users.value = []
579
+ loading.value = false
580
+ error.value = null
581
+ }
582
+
583
+ return {
584
+ // State
585
+ currentUser,
586
+ users,
587
+ loading,
588
+ error,
589
+ // Getters
590
+ isAuthenticated,
591
+ isAdmin,
592
+ userCount,
593
+ getUserById,
594
+ // Actions
595
+ login,
596
+ logout,
597
+ fetchUsers,
598
+ updateUser,
599
+ $reset
600
+ }
601
+ })
602
+ ```
603
+
604
+ ### Store with Persistence
605
+
606
+ ```typescript
607
+ // stores/settingsStore.ts
608
+ import { defineStore } from 'pinia'
609
+ import { ref, watch } from 'vue'
610
+
611
+ export const useSettingsStore = defineStore('settings', () => {
612
+ // Initialize from localStorage
613
+ const theme = ref<'light' | 'dark'>(
614
+ (localStorage.getItem('theme') as 'light' | 'dark') || 'light'
615
+ )
616
+ const language = ref(localStorage.getItem('language') || 'en')
617
+ const notifications = ref(
618
+ JSON.parse(localStorage.getItem('notifications') || 'true')
619
+ )
620
+
621
+ // Persist on change
622
+ watch(theme, (newTheme) => {
623
+ localStorage.setItem('theme', newTheme)
624
+ document.documentElement.classList.toggle('dark', newTheme === 'dark')
625
+ }, { immediate: true })
626
+
627
+ watch(language, (newLang) => {
628
+ localStorage.setItem('language', newLang)
629
+ })
630
+
631
+ watch(notifications, (enabled) => {
632
+ localStorage.setItem('notifications', JSON.stringify(enabled))
633
+ })
634
+
635
+ function toggleTheme() {
636
+ theme.value = theme.value === 'light' ? 'dark' : 'light'
637
+ }
638
+
639
+ function setLanguage(lang: string) {
640
+ language.value = lang
641
+ }
642
+
643
+ return {
644
+ theme,
645
+ language,
646
+ notifications,
647
+ toggleTheme,
648
+ setLanguage
649
+ }
650
+ })
651
+ ```
652
+
653
+ ### Using Stores in Components
654
+
655
+ ```vue
656
+ <script setup lang="ts">
657
+ import { storeToRefs } from 'pinia'
658
+ import { useUserStore } from '@/stores/userStore'
659
+ import { useSettingsStore } from '@/stores/settingsStore'
660
+
661
+ const userStore = useUserStore()
662
+ const settingsStore = useSettingsStore()
663
+
664
+ // Destructure with reactivity preserved
665
+ const { currentUser, isAuthenticated, loading } = storeToRefs(userStore)
666
+ const { theme } = storeToRefs(settingsStore)
667
+
668
+ // Actions can be destructured directly
669
+ const { login, logout, fetchUsers } = userStore
670
+ const { toggleTheme } = settingsStore
671
+
672
+ async function handleLogin(email: string, password: string) {
673
+ try {
674
+ await login(email, password)
675
+ await fetchUsers()
676
+ } catch (error) {
677
+ console.error('Login failed:', error)
678
+ }
679
+ }
680
+ </script>
681
+
682
+ <template>
683
+ <div :class="{ dark: theme === 'dark' }">
684
+ <header>
685
+ <button @click="toggleTheme">
686
+ {{ theme === 'dark' ? 'Light' : 'Dark' }} Mode
687
+ </button>
688
+
689
+ <template v-if="isAuthenticated">
690
+ <span>{{ currentUser?.name }}</span>
691
+ <button @click="logout">Logout</button>
692
+ </template>
693
+ </header>
694
+ </div>
695
+ </template>
696
+ ```
697
+
698
+ ---
699
+
700
+ ## Provide/Inject Pattern
701
+
702
+ ```typescript
703
+ // context/notification.ts
704
+ import { provide, inject, ref, readonly } from 'vue'
705
+ import type { InjectionKey, Ref } from 'vue'
706
+
707
+ interface Notification {
708
+ id: string
709
+ type: 'success' | 'error' | 'warning' | 'info'
710
+ message: string
711
+ }
712
+
713
+ interface NotificationContext {
714
+ notifications: Readonly<Ref<Notification[]>>
715
+ add: (notification: Omit<Notification, 'id'>) => void
716
+ remove: (id: string) => void
717
+ clear: () => void
718
+ }
719
+
720
+ const NotificationKey: InjectionKey<NotificationContext> = Symbol('notifications')
721
+
722
+ export function provideNotifications() {
723
+ const notifications = ref<Notification[]>([])
724
+
725
+ function add(notification: Omit<Notification, 'id'>) {
726
+ const id = `${Date.now()}-${Math.random()}`
727
+ notifications.value.push({ ...notification, id })
728
+
729
+ // Auto-remove after 5 seconds
730
+ setTimeout(() => remove(id), 5000)
731
+ }
732
+
733
+ function remove(id: string) {
734
+ const index = notifications.value.findIndex(n => n.id === id)
735
+ if (index !== -1) {
736
+ notifications.value.splice(index, 1)
737
+ }
738
+ }
739
+
740
+ function clear() {
741
+ notifications.value = []
742
+ }
743
+
744
+ const context: NotificationContext = {
745
+ notifications: readonly(notifications),
746
+ add,
747
+ remove,
748
+ clear
749
+ }
750
+
751
+ provide(NotificationKey, context)
752
+
753
+ return context
754
+ }
755
+
756
+ export function useNotifications(): NotificationContext {
757
+ const context = inject(NotificationKey)
758
+
759
+ if (!context) {
760
+ throw new Error('useNotifications must be used within NotificationProvider')
761
+ }
762
+
763
+ return context
764
+ }
765
+ ```
766
+
767
+ ---
768
+
769
+ ## Best Practices
770
+
771
+ ### Component Organization
772
+
773
+ Single File Component Structure:
774
+ - Script setup at the top with TypeScript
775
+ - Template in the middle
776
+ - Scoped styles at the bottom
777
+
778
+ Naming Conventions:
779
+ - Components: PascalCase (UserCard.vue)
780
+ - Composables: useCamelCase (useAuth.ts)
781
+ - Stores: useCamelCaseStore (useUserStore.ts)
782
+
783
+ ### Performance Tips
784
+
785
+ Use shallowRef for Large Objects:
786
+ - When deep reactivity is not needed
787
+ - For large arrays of objects
788
+
789
+ Prefer computed over methods:
790
+ - Cached and only re-evaluated when dependencies change
791
+
792
+ Use v-once for static content:
793
+ - Content that never changes after initial render
794
+
795
+ Lazy load routes and components:
796
+ - Use defineAsyncComponent for large components
797
+ - Configure route-level code splitting
798
+
799
+ ---
800
+
801
+ Version: 2.0.0
802
+ Last Updated: 2026-01-06