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
@@ -1,1384 +1,438 @@
1
1
  ---
2
- name: moai:0-project
3
- description: "Initialize project metadata and documentation"
4
- argument-hint: "[<empty>|setting|update|--glm-on <token>]"
5
- allowed-tools: Read, Write, Edit, Grep, Glob, WebFetch, WebSearch, Bash, TodoWrite, AskUserQuestion, Task, Skill
2
+ description: "Generate project documentation from codebase analysis"
3
+ argument-hint: ""
4
+ type: workflow
5
+ allowed-tools: Task, AskUserQuestion, TodoWrite, Bash, Read, Write, Edit, Glob, Grep
6
6
  model: inherit
7
7
  ---
8
8
 
9
9
  ## Pre-execution Context
10
10
 
11
11
  !git status --porcelain
12
- !git config --get user.name
13
- !git config --get user.email
14
12
  !git branch --show-current
15
13
 
16
14
  ## Essential Files
17
15
 
18
- @.moai/config/config.yaml
16
+ @.moai/config/sections/language.yaml
19
17
  @.moai/project/product.md
20
18
  @.moai/project/structure.md
21
19
  @.moai/project/tech.md
22
20
 
23
21
  ---
24
22
 
25
- # MoAI-ADK Step 0: Initialize/Update Project (Project Setup)
23
+ # MoAI-ADK Step 0: Generate Project Documentation
26
24
 
27
25
  User Interaction Architecture: AskUserQuestion tool must be used at COMMAND level only, not within subagents. Subagents invoked via Task() operate in isolated, stateless contexts and cannot interact with users directly.
28
26
 
29
- Correct Pattern: Command collects user input via AskUserQuestion BEFORE delegating to agents. Pass collected choices as parameters to Task() calls.
30
-
31
27
  Architecture: Commands delegate to Agents, which coordinate Skills. This command orchestrates exclusively through Task() tool.
32
28
 
33
- Delegation Model: Complete agent-first pattern. All execution delegated to manager-project agent. Agents receive pre-collected user choices and execute without further user interaction.
34
-
35
29
  Workflow Integration: This command implements Step 0 of Alfred's three-step execution model (Understand-Plan-Execute). See CLAUDE.md for complete workflow details.
36
30
 
37
31
  ---
38
32
 
39
- ## Command Purpose
40
-
41
- Initialize or update project metadata using language-first architecture. The system supports five execution modes:
42
-
43
- INITIALIZATION Mode: First-time project setup and configuration
44
- AUTO-DETECT Mode: Existing projects with optional modification or re-initialization
45
- SETTINGS Mode: Interactive tab-based configuration management with validation
46
- UPDATE Mode: Template optimization after moai-adk package update
47
- GLM Configuration Mode: GLM API integration setup via --glm-on parameter
48
-
49
- WHY: Multi-mode design accommodates diverse user scenarios from fresh installs to updates.
50
-
51
- IMPACT: Users can navigate project lifecycle without manual intervention.
52
-
53
- ---
54
-
55
- ## Associated Agents and Skills
56
-
57
- The following agents and skills support this command:
33
+ ## Command Purpose
58
34
 
59
- manager-project agent orchestrates language-first initialization and configuration workflows.
35
+ Generate project documentation by analyzing the existing codebase. This command creates three documentation files:
60
36
 
61
- moai-workflow-project skill provides unified project management including language initialization, atomic config operations, template merging, and tab-based batch question execution.
37
+ - `.moai/project/product.md` - Product overview, features, and user value
38
+ - `.moai/project/structure.md` - Project architecture and directory organization
39
+ - `.moai/project/tech.md` - Technology stack, dependencies, and technical decisions
62
40
 
63
- moai-workflow-templates skill manages template generation and customization.
41
+ WHY: Documentation generation is separated from project initialization to allow CLI-based setup.
64
42
 
65
- WHY: Distributed responsibility enables specialized expertise and focused tool access.
43
+ IMPACT: Users can generate accurate project documentation after codebase development.
66
44
 
67
- IMPACT: Each agent optimizes its domain while maintaining system coherence.
45
+ Note: Project configuration (language, service, pricing, git mode) is handled by `moai init` CLI command.
68
46
 
69
47
  ---
70
48
 
71
- ## Language Configuration
72
-
73
- Core Principle: Language configuration originates from moai-adk CLI initialization or update commands.
74
-
75
- [HARD] Read language from .moai/config/config.yaml before starting any mode.
76
-
77
- WHY: Preserving existing language settings prevents disruption to user experience.
78
-
79
- IMPACT: Missing language context causes mode selection ambiguity.
80
-
81
- Language is preserved across modes except when:
82
-
83
- - [SOFT] User explicitly requests language change via SETTINGS mode, Tab 1
84
- - [SOFT] Update mode detects language-compatible improvements
49
+ ## Execution Modes
85
50
 
86
- Execution sequence varies by mode:
51
+ ### Mode 1: Fresh Documentation (Default)
87
52
 
88
- Initialization mode: Read language from config if present, conduct project interview, generate documentation.
53
+ When `.moai/project/` directory is empty or missing:
89
54
 
90
- Auto-Detect mode: Display current language, offer settings modification with language change shortcut.
55
+ 1. Analyze codebase using Explore agent
56
+ 2. Generate all three documentation files
57
+ 3. Confirm completion to user
91
58
 
92
- Settings mode: Display current language in Tab 1, allow optional language modification.
59
+ ### Mode 2: Update Documentation
93
60
 
94
- Update mode: Preserve language from backup, perform template optimization.
61
+ When documentation files already exist:
95
62
 
96
- WHY: Mode-specific language handling respects existing configuration while enabling user choice.
63
+ 1. Read existing documentation
64
+ 2. Analyze codebase for changes
65
+ 3. Ask user which files to regenerate
66
+ 4. Update selected files while preserving manual edits
97
67
 
98
68
  ---
99
69
 
100
- ## YAML-Based Question System
70
+ ## PHASE 1: Codebase Analysis
101
71
 
102
- ### Question Definition Files
72
+ Goal: Understand the project structure and technology stack.
103
73
 
104
- All configuration questions are defined in YAML files under .moai/config/questions/:
74
+ ### Step 1: Invoke Explore Agent
105
75
 
106
- - _schema.yaml: Schema definition and constraints
107
- - tab1-user.yaml: User and language settings (3 questions)
108
- - tab2-project.yaml: Project metadata (2 questions)
109
- - tab3-git.yaml: Git strategy and workflow (26 questions, includes GitHub Profile)
110
- - tab4-quality.yaml: Quality principles and reports (7 questions)
111
- - tab5-system.yaml: System and GitHub integration (7 questions)
76
+ [HARD] Delegate codebase analysis to the Explore subagent.
112
77
 
113
- WHY: YAML-based questions enable consistent structure and easy maintenance.
78
+ Use the Explore subagent to analyze the codebase with the following objectives:
114
79
 
115
- IMPACT: Question changes require only YAML updates, not code modifications.
80
+ Analysis Objectives:
116
81
 
117
- ### Language-Aware Question Execution
82
+ 1. Project Structure: Identify main directories, entry points, and architectural patterns
83
+ 2. Technology Stack: Detect programming languages, frameworks, and key dependencies
84
+ 3. Core Features: Identify main functionality and business logic locations
85
+ 4. Build System: Detect build tools, package managers, and scripts
118
86
 
119
- [HARD] When executing questions from .moai/config/questions/*.yaml, translate to user's conversation_language at runtime.
87
+ Output Format:
120
88
 
121
- Question files are written in English (source of truth). At execution time:
122
- - Read user's conversation_language from sections/language.yaml
123
- - Translate question text, options, and descriptions to user's language
124
- - Present AskUserQuestion in user's language
125
- - Store answer values in English (field values remain English)
89
+ The Explore agent should return a structured analysis including:
126
90
 
127
- Example Translation Flow:
128
- - Question YAML (English): "What is your name?"
129
- - User Language: Korean (ko)
130
- - AskUserQuestion presented: Korean translation of question
131
- - Answer stored: user.name = "GOOS" (value unchanged)
91
+ - Primary Language: Main programming language used
92
+ - Framework: Web framework or application framework
93
+ - Architecture Pattern: MVC, Clean Architecture, Microservices, etc.
94
+ - Key Directories: Source, tests, configuration, documentation
95
+ - Dependencies: Major libraries and their purposes
96
+ - Entry Points: Main files or startup scripts
132
97
 
133
- WHY: Single-source English questions with runtime translation reduces maintenance burden.
134
-
135
- IMPACT: Adding new languages requires only translation logic, not question file duplication.
136
-
137
- ### Question Loading Priority
138
-
139
- 1. Load question definitions from .moai/config/questions/tab*.yaml
140
- 2. Read current values from .moai/config/sections/*.yaml
141
- 3. Present questions with current values as defaults
142
- 4. Store updated values back to sections/*.yaml
143
-
144
- ### Section File Updates
145
-
146
- Configuration values are stored in modular section files:
147
- - sections/user.yaml: User name (loaded by CLAUDE.md)
148
- - sections/language.yaml: All language settings (loaded by CLAUDE.md)
149
- - sections/project.yaml: Project metadata
150
- - sections/git-strategy.yaml: Git workflow configuration
151
- - sections/quality.yaml: TDD and quality settings
152
- - sections/system.yaml: MoAI system settings
153
-
154
- WHY: Modular sections enable token-efficient CLAUDE.md loading.
155
-
156
- IMPACT: CLAUDE.md loads only user.yaml and language.yaml (~17 lines vs 400+ full config).
98
+ WHY: Accurate codebase analysis ensures documentation reflects actual project state.
157
99
 
158
100
  ---
159
101
 
160
- ## Agent Invocation Patterns (CLAUDE.md Compliance)
161
-
162
- This command uses agent execution patterns defined in CLAUDE.md (lines 96-120).
163
-
164
- ### Sequential Phase-Based Chaining PASS
165
-
166
- Command implements sequential chaining through 3 main phases:
167
-
168
- Phase Flow:
169
- - Phase 1: Mode Detection & Language Configuration (determines operation mode and loads language)
170
- - Phase 2: User Intent Collection (gathers project metadata and preferences via AskUserQuestion)
171
- - Phase 3: Configuration & Documentation Generation (manager-project generates all project files)
172
-
173
- Each phase receives outputs from previous phases as context.
174
-
175
- WHY: Sequential execution ensures proper configuration and file generation
176
- - Phase 2 requires mode and language from Phase 1 to display appropriate questions
177
- - Phase 3 requires user responses from Phase 2 to generate correct configuration
178
- - File generation requires complete configuration before creating documentation
179
-
180
- IMPACT: Skipping phases would create incomplete or misconfigured project setup
181
-
182
- ### Parallel Execution FAIL
183
-
184
- Not applicable - configuration requires sequential processing
185
-
186
- WHY: Project initialization has strict ordering requirements
187
- - Language must be determined before asking questions
188
- - User responses must be collected before generating files
189
- - Configuration must be validated before documentation generation
190
-
191
- IMPACT: Parallel execution would create configuration conflicts and invalid project state
192
-
193
- ### Resumable Agent Support FAIL
194
-
195
- Not applicable - command completes in single execution
196
-
197
- WHY: Project setup is fast atomic operation
198
- - Most setups complete in under 1 minute
199
- - Configuration operations are atomic and transactional
200
- - No long-running processes requiring checkpoints
201
-
202
- IMPACT: Resume pattern unnecessary for typical project initialization
203
-
204
- ---
205
-
206
- Refer to CLAUDE.md "Agent Chaining Patterns" (lines 96-120) for complete pattern architecture.
207
-
208
- ---
209
-
210
- ## Execution Philosophy
211
-
212
- The project setup follows explicit delegation pattern: Understand the user intent, Plan the execution, Execute through specialized agents.
213
-
214
- The command delegates all functional work to manager-project agent through Task() invocation.
215
-
216
- The command maintains zero direct tool usage except for Task() orchestration and AskUserQuestion() user interaction.
217
-
218
- [HARD] Tool Usage Restrictions:
219
-
220
- - DO NOT use Read for file operations (delegated to manager-project)
221
- - DO NOT use Write for file operations (delegated to manager-project)
222
- - DO NOT use Edit for file modifications (delegated to manager-project)
223
- - DO NOT use Bash for command execution (delegated to manager-project)
224
- - DO NOT use TodoWrite for task management (delegated to manager-project)
225
- - DO use Task() for agent orchestration
226
- - DO use AskUserQuestion() for user interaction
227
-
228
- WHY: Delegation enables specialized agent tool access and consistent execution context.
229
-
230
- IMPACT: Direct tool usage would bypass agent expertise and validation layers.
231
-
232
- Manager-project agent handles all implementation complexity including file operations, configuration management, and validation logic.
233
-
234
- ---
235
-
236
- ## PHASE 1: Command Routing and Analysis
237
-
238
- Goal: Detect subcommand intent and prepare execution context for delegation.
239
-
240
- ### Step 1: Analyze User Command Arguments
241
-
242
- [HARD] Parse user command to determine execution mode.
243
-
244
- WHY: Correct mode detection ensures appropriate workflow execution.
245
-
246
- IMPACT: Incorrect routing causes wrong execution flow.
247
-
248
- The system routes based on provided arguments:
102
+ ## PHASE 2: User Confirmation
249
103
 
250
- GLM Configuration: Command includes --glm-on with optional API token
251
- - Detect token in --glm-on parameter
252
- - If token missing: Attempt auto-load from .env.glm file
253
- - If token missing: Attempt auto-load from ANTHROPIC_AUTH_TOKEN environment variable
254
- - If all sources missing: Request token from user via AskUserQuestion
104
+ Goal: Confirm analysis results and get user approval before generating documentation.
255
105
 
256
- SETTINGS Mode: Command includes setting argument
257
- - Always use interactive tab selection via AskUserQuestion
258
- - User selects specific tab or "Modify All Tabs" option
106
+ ### Step 1: Present Analysis Results
259
107
 
260
- UPDATE Mode: Command includes update argument
261
- - No additional argument parsing required
108
+ Use AskUserQuestion to present the analysis summary and get approval:
262
109
 
263
- INITIALIZATION or AUTO-DETECT: Command has no arguments
264
- - [HARD] Check if .moai/config/config.yaml exists
265
- - File exists: Route to AUTO-DETECT MODE
266
- - File missing: Route to INITIALIZATION MODE
110
+ Question: Based on codebase analysis, here is the project summary. Should I proceed with documentation generation?
267
111
 
268
- Invalid Arguments: Unrecognized command format
269
- - Display error message explaining valid command syntax
270
- - Exit with error state
112
+ Present in user's conversation_language:
271
113
 
272
- WHY: Argument-driven routing prevents mode confusion.
114
+ - Detected Language: [language]
115
+ - Framework: [framework]
116
+ - Architecture: [pattern]
117
+ - Key Features: [features list]
273
118
 
274
- IMPACT: Ambiguous routing leads to wrong workflow execution.
275
-
276
- ### Step 2: Delegate to Manager-Project Agent
277
-
278
- [HARD] Invoke manager-project subagent with detected mode and context.
279
-
280
- WHY: Specialized agent handles mode-specific complexity.
281
-
282
- IMPACT: Direct execution would bypass validation and expertise layers.
283
-
284
- Pass the following context to manager-project agent:
285
-
286
- - Detected Mode value (INITIALIZATION, AUTO-DETECT, SETTINGS, UPDATE, or GLM_CONFIGURATION)
287
- - Language Context read from .moai/config/config.yaml if present
288
- - GLM Token value if GLM_CONFIGURATION mode selected
289
- - User command arguments for reference
290
-
291
- For INITIALIZATION:
292
-
293
- - Check .moai/config.yaml for language setting
294
- - If missing: Use moai-workflow-project skill for language detection
295
- - If present: Use existing language, skip language selection
296
- - Conduct language-aware user interview
297
- - Generate project documentation
298
- - Use moai-workflow-project skill for config creation
299
-
300
- For AUTO-DETECT:
301
-
302
- - Read current language from .moai/config.yaml
303
- - Check if project documentation exists (.moai/project/product.md, structure.md, tech.md)
304
- - If docs missing → PARTIAL INITIALIZATION state detected
305
- - Use AskUserQuestion to ask user: "Your configuration exists but project documentation is missing. Would you like to complete the initialization now?"
306
- - Options: "Yes, complete initialization" / "No, review configuration" / "Cancel"
307
- - If user selects "Yes" → Switch to INITIALIZATION workflow
308
- - Otherwise → Continue with regular AUTO-DETECT options
309
- - Display current configuration (including language)
310
- - Offer: Modify Settings / Change Language Only / Review Configuration / Re-initialize / Cancel
311
- - If "Change Language Only" → Go to Tab 1 in SETTINGS mode
312
- - Otherwise route to selected sub-action
119
+ Options:
313
120
 
314
- For SETTINGS:
121
+ - Proceed with documentation generation
122
+ - Review specific analysis details first
123
+ - Cancel and adjust project configuration
315
124
 
316
- - Load current language from .moai/config.yaml
317
- - Load tab schema from appropriate skill schema
318
- - Execute batch questions via moai-workflow-project skill
319
- - Process responses and update config.yaml atomically via moai-workflow-project skill
320
- - Report changes and validation results
125
+ ### Step 2: Handle User Response
321
126
 
322
- For UPDATE:
127
+ If user selects "Review details":
323
128
 
324
- - Read language from config backup (preserve existing setting)
325
- - Use moai-workflow-project skill for smart merging
326
- - Update templates and configuration
327
- - Auto-translate announcements to current language if needed
129
+ - Provide detailed analysis breakdown
130
+ - Allow corrections via follow-up AskUserQuestion
328
131
 
329
- For GLM_CONFIGURATION:
132
+ If user selects "Proceed":
330
133
 
331
- - Receive GLM API token from parameter (or detect from environment)
332
- - Check token resolution sequence:
333
- 1. Use provided token from `--glm-on <token>` argument (if not empty)
334
- 2. Auto-load from existing `.env.glm` file (if exists and token missing)
335
- 3. Auto-load from `ANTHROPIC_AUTH_TOKEN` environment variable (if set)
336
- 4. Request from user via AskUserQuestion (if all above missing)
337
- - Execute GLM setup script: `uv run .moai/scripts/setup-glm.py <GLM_TOKEN>`
338
- - Verify configuration in .claude/settings.local.json with proper keys
339
- - Verify .env.glm created with secure permissions (0o600)
340
- - Verify .gitignore includes .env.glm entry
341
- - Report GLM configuration success to user with all configured keys
342
- - Remind user: "Restart Claude Code to automatically load the new settings"
134
+ - Continue to Phase 3
343
135
 
344
- Output: Mode-specific completion report with next steps
136
+ If user selects "Cancel":
345
137
 
346
- Store: Response in `$MODE_EXECUTION_RESULT`
138
+ - Exit with guidance to modify configuration
347
139
 
348
140
  ---
349
141
 
350
- ## PHASE 1.5: Smart Question System (INITIALIZATION Mode Only)
351
-
352
- Goal: Collect minimal user input, research best practices via web search, and propose optimized project configuration.
353
-
354
- WHY: Reduce user burden from 40+ questions to 3 essential questions while providing expert-level recommendations based on current industry standards.
355
-
356
- IMPACT: Non-developers can create production-ready projects with minimal technical knowledge.
357
-
358
- ### Step 1: Collect Essential Information (3 Questions Only)
359
-
360
- [HARD] Use AskUserQuestion to collect ONLY 3 required fields at COMMAND level.
361
-
362
- WHY: Minimal questions reduce user friction while capturing essential project identity.
363
-
364
- IMPACT: More questions would overwhelm non-developers and slow down project creation.
365
-
366
- Question 1 - Project Name:
367
-
368
- - question: Translate to user's conversation_language with friendly guidance:
369
- - Korean: "프로젝트 이름을 정해주세요. 영어 소문자와 하이픈(-)만 사용할 수 있어요."
370
- - English: "Choose a project name. Use only lowercase letters and hyphens (-)."
371
- - header: "Project Name"
372
- - type: text input (user selects "Other" to type)
373
- - examples shown to user:
374
- - "snake-game" (게임 프로젝트)
375
- - "my-first-app" (첫 번째 앱)
376
- - "todo-list" (할 일 목록)
377
- - validation: lowercase, no spaces, valid directory name
378
- - helper: If user enters Korean or spaces, suggest alternatives automatically
379
-
380
- Question 2 - Project Type:
381
-
382
- - question: Translate to user's conversation_language with beginner-friendly tone:
383
- - Korean: "어떤 종류의 프로젝트를 만들고 싶으세요?"
384
- - English: "What kind of project would you like to create?"
385
- - header: "Project Type"
386
- - multiSelect: false
387
- - options (max 4, beginner-friendly labels):
388
- - label: "Web Browser App"
389
- korean_label: "웹 브라우저에서 보는 것"
390
- description: "크롬, 사파리 등 브라우저에서 열어보는 프로그램 (게임, 웹사이트 등)"
391
- tech_hint: "HTML, CSS, JavaScript 또는 React, Vue 사용"
392
- - label: "Mobile App"
393
- korean_label: "스마트폰 앱"
394
- description: "아이폰이나 안드로이드에서 설치해서 사용하는 앱"
395
- tech_hint: "React Native, Flutter 사용"
396
- - label: "Command Line Tool"
397
- korean_label: "터미널에서 실행하는 도구"
398
- description: "명령어로 실행하는 프로그램 (자동화 스크립트 등)"
399
- tech_hint: "Python, Node.js, Go 사용"
400
- - label: "Backend API"
401
- korean_label: "서버/백엔드 서비스"
402
- description: "데이터를 저장하고 처리하는 서버 프로그램"
403
- tech_hint: "FastAPI, Express, Django 사용"
404
-
405
- Question 3 - Project Description:
406
-
407
- - question: Translate to user's conversation_language with examples:
408
- - Korean: "만들고 싶은 것을 한 문장으로 설명해주세요."
409
- - English: "Describe what you want to build in one sentence."
410
- - header: "Description"
411
- - type: text input (user selects "Other" to type)
412
- - examples shown to user (in conversation_language):
413
- - "방향키로 뱀을 조종해서 음식을 먹는 게임" (스네이크 게임)
414
- - "할 일을 추가하고 완료 표시하는 앱" (투두 리스트)
415
- - "날씨 정보를 보여주는 웹페이지" (날씨 앱)
416
- - "사진을 업로드하고 공유하는 서비스" (갤러리)
417
- - validation: non-empty string
418
- - helper: Encourage natural language description, no technical terms required
419
-
420
- Store responses in: $PROJECT_ESSENTIAL_INFO
421
-
422
- ### Step 2: Web Search for Best Practices
423
-
424
- [HARD] After collecting essential info, perform targeted web searches using WebSearch tool.
425
-
426
- WHY: Real-time research ensures recommendations reflect current industry standards (2025).
427
-
428
- IMPACT: Outdated recommendations would create technical debt from project start.
429
-
430
- Based on collected project_type, execute 3 parallel searches:
431
-
432
- Search Query 1: "[project_type] best practices 2025"
433
- - Extract: Design patterns, architecture recommendations, common pitfalls
434
-
435
- Search Query 2: "[project_type] recommended tech stack 2025"
436
- - Extract: Framework comparisons, library recommendations, version requirements
437
-
438
- Search Query 3: "[project_type] [project_description keywords] architecture patterns"
439
- - Extract: Domain-specific patterns, similar project architectures
440
-
441
- Analyze search results and compile:
442
-
443
- - Recommended Frameworks: Top 2-3 options with pros/cons
444
- - UI Library: Best options for project type
445
- - Testing Framework: Industry standard for project type
446
- - Build Tools: Current best practices
447
- - Deployment Target: Common deployment platforms
448
-
449
- Store analysis in: $BEST_PRACTICES_ANALYSIS
450
-
451
- ### Step 3: Generate Smart Proposal
452
-
453
- [HARD] Create structured proposal based on web search analysis.
454
-
455
- WHY: Expert-curated recommendations reduce decision paralysis for non-developers.
456
-
457
- IMPACT: Poor recommendations would lead to project failure or rework.
458
-
459
- Proposal Structure:
460
-
461
- Complexity Detection (before proposing):
462
- - Simple Projects (recommend NO framework):
463
- - Keywords: "게임", "game", "간단한", "simple", "첫", "first", "연습", "practice"
464
- - Project types: Browser games, simple utilities, learning projects
465
- - Recommended stack: HTML5 + CSS3 + Vanilla JavaScript (+ Canvas for games)
466
- - Rationale: "프레임워크 없이 기본 기술만으로 빠르게 만들 수 있어요"
467
-
468
- - Medium Projects (recommend lightweight framework):
469
- - Keywords: "블로그", "포트폴리오", "랜딩페이지"
470
- - Recommended stack: Next.js or Astro with minimal dependencies
471
-
472
- - Complex Projects (recommend full framework):
473
- - Keywords: "대시보드", "관리자", "SaaS", "플랫폼"
474
- - Recommended stack: Full framework with state management, testing, etc.
475
-
476
- Technology Stack Proposal:
477
- - For Simple Projects (games, learning):
478
- - Framework: "프레임워크 없음 - 순수 HTML/CSS/JavaScript로 충분해요"
479
- - UI: "CSS만 사용 (Canvas for games)"
480
- - Testing: "브라우저 개발자 도구로 확인"
481
- - Build: "빌드 도구 없음 - 파일을 바로 브라우저에서 열면 됩니다"
482
-
483
- - For Medium/Complex Projects:
484
- - Framework: Primary recommendation with rationale
485
- - UI Library: Recommended option
486
- - Testing: Standard for project type
487
- - Build Tools: Current best practice
488
-
489
- Architecture Proposal:
490
- - Directory Structure: Recommended layout for project type
491
- - Key Patterns: Component patterns, state management approach
492
- - Data Flow: How data moves through the application
493
-
494
- Quality Standards:
495
- - Test Coverage Target: Industry standard percentage
496
- - TRUST 5 Level: Recommended validation level
497
- - Accessibility: WCAG level appropriate for project
498
-
499
- Store proposal in: $SMART_PROPOSAL
500
-
501
- ### Step 4: Present Proposal and Get User Approval
502
-
503
- [HARD] Use AskUserQuestion to present proposal and get explicit user approval.
504
-
505
- WHY: User must consent before any files are created or configuration applied.
506
-
507
- IMPACT: Automatic execution without approval violates user autonomy and may create unwanted configuration.
508
-
509
- Proposal Presentation Format:
510
-
511
- Present in user's conversation_language with clear sections:
512
-
513
- ```markdown
514
- Based on your project "{project_name}" ({project_type}), here is my recommendation:
515
-
516
- **Technology Stack**
517
- - Framework: {framework} - {brief_rationale}
518
- - UI: {ui_library} - {brief_rationale}
519
- - Testing: {test_framework}
520
- - Build: {build_tools}
521
-
522
- **Architecture**
523
- - Structure: {directory_pattern}
524
- - Patterns: {key_patterns}
525
-
526
- **Quality Standards**
527
- - Coverage: {coverage_target}%
528
- - TRUST Level: {trust_level}
529
-
530
- Sources: [List actual WebSearch sources used]
531
- ```
532
-
533
- Approval Question:
534
-
535
- - question: Translate "Do you approve this configuration? You can modify specific parts or request a different approach." to user's conversation_language
536
- - header: "Approval"
537
- - multiSelect: false
538
- - options:
539
- - label: "Approve and Continue"
540
- description: "Create project with these settings"
541
- - label: "Modify Tech Stack"
542
- description: "Keep architecture, change framework/libraries"
543
- - label: "Modify Architecture"
544
- description: "Keep tech stack, change structure/patterns"
545
- - label: "Start Over"
546
- description: "Re-run search with different criteria"
547
-
548
- If user selects "Modify":
549
- - Use additional AskUserQuestion to collect specific changes
550
- - Update $SMART_PROPOSAL with modifications
551
- - Re-present for approval
142
+ ## PHASE 3: Documentation Generation
552
143
 
553
- Loop until user selects "Approve and Continue"
144
+ Goal: Generate project documentation files.
554
145
 
555
- Store approval in: $USER_APPROVAL
146
+ ### Step 1: Invoke Manager-Docs Agent
556
147
 
557
- ### Step 5: Delegate to Manager-Project Agent
148
+ [HARD] Delegate documentation generation to the manager-docs subagent.
558
149
 
559
- [HARD] After user approval, invoke manager-project agent with complete context.
150
+ Use the manager-docs subagent to generate documentation with the following parameters:
560
151
 
561
- WHY: Agent receives all necessary information to generate files without further user interaction.
152
+ - Analysis Results: Pass the Explore agent analysis
153
+ - User Confirmation: Pass approved project summary
154
+ - Output Directory: `.moai/project/`
155
+ - Language: User's conversation_language from config
562
156
 
563
- IMPACT: Missing context would force agent to make assumptions or fail.
157
+ Documentation Files:
564
158
 
565
- Pass to manager-project via Task():
159
+ 1. product.md:
160
+ - Project name and description
161
+ - Target audience
162
+ - Core features and benefits
163
+ - Use cases and examples
566
164
 
567
- - Mode: INITIALIZATION
568
- - Language: User's conversation_language
569
- - Project Essential Info: $PROJECT_ESSENTIAL_INFO (name, type, description)
570
- - Approved Proposal: $SMART_PROPOSAL (tech stack, architecture, quality)
571
- - User Approval Status: $USER_APPROVAL
572
- - WebSearch Sources: URLs used for recommendations
573
-
574
- Agent responsibilities:
575
- - Generate .moai/project/product.md from project description + approved proposal
576
- - Generate .moai/project/structure.md from architecture proposal
577
- - Generate .moai/project/tech.md from technology stack proposal
578
- - Create .moai/config/config.yaml with all settings
579
- - Apply language settings throughout
580
-
581
- Output: Complete project initialization with documentation
582
-
583
- ---
165
+ 2. structure.md:
166
+ - Directory tree visualization
167
+ - Purpose of each major directory
168
+ - Key file locations
169
+ - Module organization
584
170
 
585
- ## PHASE 2: Execute Mode
586
-
587
- Goal: Execute the appropriate mode based on routing decision.
588
-
589
- ### Mode Handler: manager-project Agent
590
-
591
- The manager-project agent handles all mode-specific workflows:
592
-
593
- INITIALIZATION MODE:
594
-
595
- - Read language from config.yaml (or use CLI default if missing)
596
- - Conduct language-aware user interview (via Skill)
597
- - Project type detection and configuration
598
- - Documentation generation
599
- - Auto-translate announcements to selected language
600
-
601
- AUTO-DETECT MODE:
602
-
603
- - Read current language from config.yaml
604
- - CRITICAL CHECK: Detect partial initialization state
605
- - Check if project documentation exists in `.moai/project/`:
606
- - product.md, structure.md, tech.md
607
- - If ANY doc missing → Use AskUserQuestion (in user's language)
608
- - Question: "Your configuration exists but project documentation is missing. Would you like to complete the initialization?"
609
- - Options: "Yes, complete initialization" / "No, review configuration" / "Cancel"
610
- - If "Yes" → Switch to INITIALIZATION workflow
611
- - Display current configuration (including language, initialization status)
612
- - Offer: Modify Settings / Change Language Only / Review Configuration / Re-initialize / Cancel
613
- - "Change Language Only" shortcut → SETTINGS mode, Tab 1 only
614
- - Route to selected sub-action
615
- - Language-Aware: All AskUserQuestion calls in user's conversation_language (NO EMOJIS)
616
-
617
- SETTINGS MODE (NEW):
618
-
619
- - Read current language from config.yaml
620
- - Load tab schema for batch-based questions
621
- - Execute batch questions with AskUserQuestion
622
- - Process user responses
623
- - Validate settings at critical checkpoints
624
- - Delegate config update to UnifiedConfigManager from moai-workflow-project
625
- - Report changes
626
-
627
- UPDATE MODE:
628
-
629
- - Preserve language from config backup
630
- - **Config Format Migration (v0.32.0+):**
631
- - Check if `.moai/config/config.yaml` exists (legacy format)
632
- - If exists: Convert to `config.yaml` with intelligent optimization:
633
- - Preserve all user settings and customizations
634
- - Add meaningful comments explaining each section
635
- - Optimize structure (remove dead fields, consolidate duplicates)
636
- - Use YAML's native features:
637
- - Multi-line strings for long descriptions
638
- - Inline comments for field explanations
639
- - Better readability with proper indentation
640
- - Report migration success to user
641
- - Analyze backup and compare templates
642
- - Perform smart template merging
643
- - Update `.moai/` files with new features
644
- - Auto-translate announcements to current language if needed
645
-
646
- ### Language-Aware Announcements
647
-
648
- After any language selection or change, auto-translate company announcements:
649
-
650
- ```bash
651
- uv run $CLAUDE_PROJECT_DIR/.claude/hooks/moai/shared/utils/announcement_translator.py
652
- ```
171
+ 3. tech.md:
172
+ - Technology stack overview
173
+ - Framework and library choices with rationale
174
+ - Development environment requirements
175
+ - Build and deployment configuration
653
176
 
654
- This ensures `.claude/settings.json` contains announcements in the user's selected language.
177
+ WHY: Manager-docs agent has specialized expertise in technical writing and documentation standards.
655
178
 
656
179
  ---
657
180
 
658
- ## SETTINGS MODE: Tab-Based Configuration (NEW)
659
-
660
- > Version: v2.0.0 | Last Updated: 2025-11-19 | Changes: Removed [tab_ID] arg, added git_strategy.mode selection, expanded Tab 3 with conditional batches, fixed 26 field name errors, +16 settings
661
-
662
- ### Overview
663
-
664
- The SETTINGS MODE uses a tab-based batch question system to provide organized, user-friendly configuration management:
181
+ ## PHASE 3.5: Development Environment Check
665
182
 
666
- - 5 tabs: Organized by configuration domain
667
- - 17 batches: Grouped questions within tabs (added 5 batches: Batch 3.0, 3.3, 3.5, 3.6, improved organization)
668
- - 57 settings: Complete config.yaml v0.28.0 coverage (+39% from v1.0.0)
669
- - 54 questions: User-facing questions (+14 from v1.0.0)
670
- - Conditional batches: Tab 3 shows Personal/Team/Hybrid batches based on mode selection
671
- - Atomic updates: Safe deep merge with backup/rollback
183
+ Goal: Verify LSP servers are installed for detected tech stack and guide installation if needed.
672
184
 
673
- ### Initial Entry Point: Tab Selection Screen
674
-
675
- When user runs `/moai:0-project setting` (without tab_ID), present tab selection:
676
-
677
- ```markdown
678
- Which settings tab would you like to modify?
679
-
680
- Options:
185
+ ### Step 1: Check LSP Server Status
681
186
 
682
- 1. Tab 1: User & Language
187
+ Based on the detected primary language from Phase 1, check if corresponding LSP server is available.
683
188
 
684
- - Configure user name, conversation language, agent prompt language
189
+ Language-to-LSP Mapping:
685
190
 
686
- 2. Tab 2: Project Settings
191
+ - Python: pyright or pylsp (check with `which pyright` or `which pylsp`)
192
+ - TypeScript/JavaScript: typescript-language-server (check with `which typescript-language-server`)
193
+ - Go: gopls (check with `which gopls`)
194
+ - Rust: rust-analyzer (check with `which rust-analyzer`)
195
+ - Java: jdtls (Eclipse JDT Language Server)
196
+ - Ruby: solargraph (check with `which solargraph`)
197
+ - PHP: intelephense (check via npm)
198
+ - C/C++: clangd (check with `which clangd`)
687
199
 
688
- - Configure project name, description
200
+ ### Step 2: Present LSP Status to User
689
201
 
690
- 3. Tab 3: Git Strategy & Workflow
202
+ If LSP server is NOT installed, inform user with installation guidance:
691
203
 
692
- - Configure GitHub profile, Manual/Personal/Team Git settings, commit/branch strategy
204
+ Use conversation_language to display:
693
205
 
694
- 4. Tab 4: Quality Principles & Reports
206
+ LSP Server Status Message Format:
695
207
 
696
- - Configure TRUST 5, report generation, storage location
697
-
698
- 5. Tab 5: System & GitHub Integration
699
-
700
- - Configure MoAI system, GitHub automation
701
-
702
- 6. Modify All Tabs
703
- - Recommended: Tab 1 → Tab 2 → Tab 3 → Others
704
208
  ```
209
+ Development Environment Check:
705
210
 
706
- After Tab Completion:
211
+ Detected Language: [language]
212
+ LSP Server: [server_name]
213
+ Status: Not Installed
707
214
 
708
- ```markdown
709
- Would you like to modify another settings tab?
215
+ For better code intelligence (autocomplete, diagnostics, go-to-definition),
216
+ install the recommended LSP server:
710
217
 
711
- 1. No, finish settings
712
- 2. Select another tab
218
+ [Installation command based on language]
713
219
  ```
714
220
 
715
- ### Tab Schema Reference
716
-
717
- Location: `.claude/skills/moai-workflow-project/schemas/tab_schema.json`
221
+ Installation Commands by Language:
718
222
 
719
- Tab 1: User & Language (Required Foundation)
223
+ Python:
720
224
 
721
- - Batch 1.1: Basic settings (3 questions - UPDATED: removed conversation_language_name)
722
- - User name, conversation language, agent prompt language
723
- - NOTE: conversation_language_name is auto-updated when conversation_language changes
724
- - Setting count: 3 | Critical checkpoint
225
+ - pyright: `npm install -g pyright` or `pip install pyright`
226
+ - pylsp: `pip install python-lsp-server`
725
227
 
726
- Tab 2: Project Settings (Recommended)
228
+ TypeScript/JavaScript:
727
229
 
728
- - Batch 2.1: Project metadata (2 questions)
729
- - Project name, description
730
- - NOTE: GitHub Profile moved to Tab 3, Project Mode removed
731
- - Batch 2.2: Auto-processed locale settings (0 questions - internal analysis only)
732
- - project.locale, default_language, optimized_for_language (auto-determined from conversation_language)
733
- - NOTE: No user input needed. These 3 fields update automatically when conversation_language changes
734
- - Auto-Processing Delegation: Command does NOT perform auto-processing. manager-project agent receives user selections, determines derived fields, then delegates atomic update to UnifiedConfigManager skill.
735
- - Setting count: 2
230
+ - `npm install -g typescript typescript-language-server`
736
231
 
737
- Tab 3: Git Strategy & Workflow (Recommended with Validation - REDESIGNED v2.0.0)
232
+ Go:
738
233
 
739
- - Batch 3.0a: GitHub Profile (1 question) - Always shown, required for all modes
740
- - GitHub username (e.g., @GoosLab) - moved from Tab 2
741
- - Batch 3.0: Workflow mode selection (1 question - Manual/Personal/Team) - Controls visibility of subsequent batches
742
- - Batch 3.1: Manual core settings (4 questions) - CONDITIONAL (Manual only)
743
- - Batch 3.2: Manual push settings (1 question) - CONDITIONAL (Manual only)
744
- - Batch 3.3: Personal core settings (4 questions) - CONDITIONAL (Personal only)
745
- - Batch 3.4: Personal commit & push settings (3 questions) - CONDITIONAL (Personal only)
746
- - Batch 3.5: Personal branch settings (2 questions) - CONDITIONAL (Personal only)
747
- - Batch 3.6: Team core settings (4 questions) - CONDITIONAL (Team only)
748
- - Batch 3.7: Team commit & PR settings (3 questions) - CONDITIONAL (Team only)
749
- - Batch 3.8: Team branch & protection settings (3 questions) - CONDITIONAL (Team only)
750
- - Batch 3.9: Team branch naming settings (2 questions) - CONDITIONAL (Team only)
751
- - Setting count: 26 | Critical checkpoint for Git conflicts & mode consistency
234
+ - `go install golang.org/x/tools/gopls@latest`
752
235
 
753
- Tab 4: Quality Principles & Reports (Optional - UPDATED v2.0.0)
236
+ Rust:
754
237
 
755
- - Batch 4.1: Constitution settings (3 questions - reduced from 4, renamed minimum_test_coverage→test_coverage_target)
756
- - Batch 4.2: Report generation policy (4 questions - expanded, added warn_user & user_choice)
757
- - Setting count: 9 (same count, better fields)
238
+ - Via rustup: `rustup component add rust-analyzer`
239
+ - Or standalone: Download from GitHub releases
758
240
 
759
- Tab 5: System & GitHub Integration (Optional - UPDATED v2.0.0)
241
+ Ruby:
760
242
 
761
- - Batch 5.1: MoAI system settings (3 questions - updated, aligned with config.yaml v0.28.0)
762
- - Batch 5.2: GitHub automation settings (5 questions - expanded from 3, added templates & spec_workflow fields)
763
- - Setting count: 11 (+3 from v1.0.0)
243
+ - `gem install solargraph`
764
244
 
765
- ### Batch Execution Flow
766
-
767
- #### Step 1: Load Tab Schema
768
-
769
- ```markdown
770
- Load: .claude/skills/moai-workflow-project/schemas/tab_schema.json
771
- Extract:
772
-
773
- - Tab definition (label, batches)
774
- - Batch questions (max 4 per batch)
775
- - Field mappings to config.yaml paths
776
- - Current values from existing config
777
- - Validation rules
778
- ```
779
-
780
- #### Step 2: Execute Batch via AskUserQuestion
781
-
782
- Single Batch Execution Example (Tab 1, Batch 1.1):
783
-
784
- ```markdown
785
- Call: AskUserQuestion(
786
- questions: [
787
- {
788
- question: "How would you like to configure the user name? (current: GoosLab)",
789
- header: "User Name",
790
- multiSelect: false,
791
- options: [
792
- {label: "Keep Current Value", description: "Continue using GoosLab"},
793
- {label: "Change", description: "Select Other to enter a new name"}
794
- ]
795
- },
796
- {
797
- question: "What language should Alfred use in conversations? (current: Korean/ko)",
798
- header: "Conversation Language",
799
- multiSelect: false,
800
- options: [
801
- {label: "Korean (한국어)", description: "모든 콘텐츠를 한국어로 생성"},
802
- {label: "English (English)", description: "All content will be generated in English"},
803
- {label: "Japanese (日本語)", description: "日本語で全てのコンテンツを生成"},
804
- {label: "Chinese (中文)", description: "中文内容生成"},
805
- {label: "Custom (기타)", description: "직접 언어 코드 입력 (예: th, ar, vi, nl)"}
806
- ]
807
- },
808
- {
809
- question: "What is the display name for the selected language? (current: Korean)",
810
- header: "Language Display Name",
811
- multiSelect: false,
812
- options: [...]
813
- },
814
- {
815
- question: "What language should agent prompts use? (current: same as conversation)",
816
- header: "Agent Prompt Language",
817
- multiSelect: false,
818
- options: [...]
819
- }
820
- ]
821
- )
822
-
823
- Process user responses from AskUserQuestion into config update:
824
- user.name → user_input_or_keep_current
825
- language.conversation_language → selected_value
826
- language.conversation_language_name → user_input_or_keep_current
827
- language.agent_prompt_language → selected_value
828
- ```
829
-
830
- #### Step 3: Process Responses
831
-
832
- Mapping Logic:
833
-
834
- ```markdown
835
- For each question in batch:
836
-
837
- 1. Get field path from schema (e.g., "user.name")
838
- 2. Get user's response (selected option or custom input)
839
- 3. Convert to config.yaml value:
840
- - "Other" option → Use custom input from user
841
- - Selected option → Use option's mapped value
842
- - "Keep current" → Use existing value
843
- 4. Build update object: {field_path: new_value}
844
- 5. Collect all updates from batch
845
- ```
245
+ PHP:
846
246
 
847
- #### Step 4: Validate at Checkpoints
247
+ - `npm install -g intelephense`
848
248
 
849
- Checkpoint Locations (from tab_schema navigation_flow):
249
+ C/C++:
850
250
 
851
- 1. After Tab 1 (Language settings):
251
+ - macOS: `brew install llvm` (includes clangd)
252
+ - Ubuntu: `apt install clangd`
852
253
 
853
- - Verify conversation_language is valid (ko, en, ja, es, etc)
854
- - Verify agent_prompt_language consistency
855
- - Error recovery: Re-ask Tab 1 if validation fails
856
-
857
- 2. After Tab 3 (Git strategy):
858
-
859
- - Validate Personal/Team mode conflicts
860
- - If Personal: main_branch should not be "develop"
861
- - If Team: PR base must be develop or main (never direct to main)
862
- - Validate branch naming consistency
863
- - Error recovery: Highlight conflicts, offer fix suggestions
864
-
865
- 3. Before Config Update (Final validation):
866
- - Check all required fields are set (marked required: true in schema)
867
- - Verify no conflicting settings
868
- - Validate field value types (string, bool, number, array)
869
- - Report validation results to user
870
-
871
- #### Step 5: Delegate Atomic Config Update to Skill
872
-
873
- Update Pattern (Skill-delegated):
874
-
875
- ```markdown
876
- Delegate ALL config update operations to UnifiedConfigManager from moai-workflow-project:
877
-
878
- - Manager handles backup/rollback logic internally
879
- - Manager performs deep merge with validation
880
- - Manager writes atomically to config.yaml
881
- - Manager reports success/failure
882
-
883
- Agent responsibilities:
884
-
885
- - Collect user responses from AskUserQuestion
886
- - Map responses to config field paths
887
- - Pass update map to Skill
888
- - Report results to user
889
- ```
890
-
891
- UnifiedConfigManager Responsibilities:
892
-
893
- - UnifiedConfigManager from moai-workflow-project handles ALL file operations
894
- - Internal backup/rollback if needed
895
- - Atomic write and validation
896
- - Error reporting
897
-
898
- ### Implementation Details
899
-
900
- #### Tab 1 Execution Example
901
-
902
- User runs: `/moai:0-project setting tab_1_user_language`
903
-
904
- ```
905
- Step 1: Project-manager loads tab schema
906
- Step 2: Extracts Tab 1 (tab_1_user_language)
907
- Step 3: Gets Batch 1.1 (基本設定)
908
- Step 4: Loads current values from config.yaml including extended language settings:
909
- - User configuration: user.name value
910
- - Conversation language: language.conversation_language (ko, en, ja, zh, etc.)
911
- - Agent prompt language: language.agent_prompt_language
912
- - Additional language settings: git_commit_messages, code_comments, documentation, error_messages
913
- Step 5: Calls AskUserQuestion with 3 questions for core language settings
914
- - Question 1: "The user name is currently set to [current value]. Is this correct?"
915
- - Question 2: "What language should Alfred use in conversations? (current: [language display name]/[code])"
916
- - Question 3: "The agent internal prompt language is currently set to [display name]/[code]. How would you like to configure this?"
917
- Step 6: Receives user responses and maps them to configuration fields
918
- Step 7: Processes each response (map to config fields)
919
- - user.name response → user.name
920
- - conversation_language response → language.conversation_language
921
- - Auto-update: conversation_language_name (ko → Korean, en → English, ja → Japanese, es → Spanish)
922
- - agent_prompt_language response → language.agent_prompt_language
923
- Step 8: Runs Tab 1 validation checkpoint
924
- - Check language is valid
925
- - Verify consistency
926
- Step 9: Delegates atomic update to UnifiedConfigManager from moai-workflow-project
927
- - Manager handles backup/rollback internally
928
- - Manager performs deep merge (including auto-updated conversation_language_name)
929
- - Manager verifies final structure
930
- Step 10: Receives result from Manager
931
- - Success: Report changes made (4 fields: user.name, conversation_language, conversation_language_name [auto], agent_prompt_language)
932
- - Failure: Report error from Skill with recovery suggestions
933
- ```
934
-
935
- #### Tab 3 Validation Example (Complex - NEW v2.0.0)
936
-
937
- User runs: `/moai:0-project setting` (or `/moai:0-project setting tab_3_git_strategy`)
938
-
939
- ```
940
- Step 1: Load Tab 3 (tab_3_git_strategy) - 6 batches total
941
- Step 2: Execute Batch 3.0 (Workflow Mode Selection)
942
- - User selects: Personal, Team, or Hybrid
943
- - Validation: Confirm mode selection
944
- Step 3: CONDITIONAL LOGIC - Based on mode:
945
-
946
- IF mode = Personal:
947
- - Execute Batch 3.1 (Personal core settings)
948
- - Execute Batch 3.2 (Personal branch & cleanup)
949
- - Execute Batch 3.3 (Personal protection & merge)
950
- - Skip Batches 3.4, 3.5, 3.6 (Team batches)
951
-
952
- ELSE IF mode = Team:
953
- - Skip Batches 3.1, 3.2, 3.3 (Personal batches)
954
- - Execute Batch 3.4 (Team core settings)
955
- - Execute Batch 3.5 (Team branch & protection)
956
- - Execute Batch 3.6 (Team safety & merge)
957
-
958
- ELSE IF mode = Hybrid:
959
- - Execute ALL batches (3.1-3.6) for full flexibility
960
-
961
- Step 4: Run Tab 3 validation checkpoint
962
- - Validate mode selection consistency
963
- - Check Personal/Team conflicts
964
- - Example: If Personal: base_branch should be "main" (not "develop")
965
- - Example: If Team: prevent_main_direct_merge should be true
966
- - Example: If Team: default_pr_base must be "develop" or "main"
967
- - Branch naming consistency
968
- - Let user confirm or retry if conflicts found
969
-
970
- Step 5: Merge all executed batches into single update object
971
- Step 6: Delegate atomic update to UnifiedConfigManager from moai-workflow-project
972
- - Manager handles backup/rollback internally
973
- - Manager performs deep merge with final validation
974
-
975
- Step 7: Report all 29 settings changes (or 16-20 depending on mode)
976
- ```
977
-
978
- #### Multi-Tab Workflow Example
979
-
980
- User runs: `/moai:0-project setting` (always interactive, no tab_ID) → Tab Selection Screen
981
-
982
- ```
983
- Flow:
984
- 1. Show Tab Selection Screen (Which settings tab would you like to modify?)
985
- 2. User selects tab or "Modify All Tabs"
986
- 3. Execute selected tab
987
- - Tab 1 (REQUIRED): User & Language (1 batch, 3 questions)
988
- - Tab 2 (RECOMMENDED): Project Info (2 batches, 2 questions in batch 2.1 + 0 questions auto-processing in batch 2.2)
989
- - Tab 3 (RECOMMENDED): Git Strategy (10 batches, 26 questions total, conditional by mode)
990
- * Batch 3.0a: GitHub Profile (1 question) - always shown
991
- * Batch 3.0: Mode selection (1 question)
992
- * Manual mode: Batches 3.1-3.2 (5 questions)
993
- * Personal mode: Batches 3.3-3.5 (9 questions)
994
- * Team mode: Batches 3.6-3.9 (12 questions)
995
- - Tab 4 (OPTIONAL): Quality & Reports (2 batches, 7 questions)
996
- - Tab 5 (OPTIONAL): System & GitHub (2 batches, 8 questions)
997
- 4. After tab completion, ask: "Would you like to modify another settings tab?"
998
- - No, finish settings (exit)
999
- - Select another tab (return to step 1)
1000
- 5. Final atomic update after user finishes all selected tabs
1001
-
1002
- Tab-level behavior:
1003
- - If user cancels mid-tab, changes NOT saved
1004
- - If tab validation fails, user can retry or skip tab
1005
- - After ALL selected tabs complete successfully, perform final atomic update
1006
- - Auto-processing happens during atomic update (e.g., conversation_language_name, locale)
1007
- - Tab 3 conditional batches respect mode selection (shown/hidden based on git_strategy.mode)
1008
-
1009
- Tab completion order (recommended):
1010
- - Tab 1 (REQUIRED): Foundation language settings
1011
- - Tab 2: Project metadata
1012
- - Tab 3: Git workflow strategy (includes GitHub Profile)
1013
- - Tab 4: Quality principles
1014
- - Tab 5: System integration
1015
- ```
1016
-
1017
- ### Tab Schema Structure
1018
-
1019
- ```json
1020
- {
1021
- "version": "1.0.0",
1022
- "tabs": [
1023
- {
1024
- "id": "tab_1_user_language",
1025
- "label": "Tab 1: User & Language",
1026
- "batches": [
1027
- {
1028
- "batch_id": "1.1",
1029
- "questions": [
1030
- {
1031
- "question": "...",
1032
- "header": "...",
1033
- "field": "user.name",
1034
- "type": "text_input|select_single|select_multiple|number_input",
1035
- "multiSelect": false,
1036
- "options": [...],
1037
- "current_value": "...",
1038
- "required": true
1039
- }
1040
- ]
1041
- }
1042
- ]
1043
- }
1044
- ],
1045
- "navigation_flow": {
1046
- "completion_order": ["tab_1", "tab_2", "tab_3", "tab_4", "tab_5"],
1047
- "validation_sequence": [
1048
- "Tab 1 checkpoint",
1049
- "Tab 3 checkpoint",
1050
- "Final validation"
1051
- ]
1052
- }
1053
- }
1054
- ```
254
+ ### Step 3: Continue or Assist Installation
1055
255
 
1056
- ### Critical Rules
256
+ Use AskUserQuestion:
1057
257
 
1058
- MANDATORY:
258
+ Question: LSP server for [language] is not detected. Would you like assistance?
1059
259
 
1060
- - Execute ONLY ONE tab per command invocation (unless user specifies "all tabs")
1061
- - READ language context from config.yaml before starting SETTINGS MODE
1062
- - Run validation at Tab 1, Tab 3, and before final update
1063
- - Delegate config update to UnifiedConfigManager from moai-workflow-project (no direct backup in command)
1064
- - Report all changes made
1065
- - Use AskUserQuestion for ALL user interaction
1066
-
1067
- Configuration Priority:
1068
-
1069
- - `.moai/config/config.yaml` settings ALWAYS take priority
1070
- - Existing language settings respected unless user explicitly requests change in Tab 1
1071
- - Fresh installs: Language already set by moai-adk CLI, skip language selection
1072
-
1073
- Language:
1074
-
1075
- - Tab schema stored in English (technical field names)
1076
- - All user-facing questions in user's conversation_language
1077
- - AskUserQuestion must use user's conversation_language for ALL fields
1078
-
1079
- ---
1080
-
1081
- ## PHASE 2.5: Save Phase Context
1082
-
1083
- Goal: Persist phase execution results for explicit context passing to subsequent commands.
1084
-
1085
- ### Step 1: Extract Context from Agent Response
1086
-
1087
- After manager-project agent completes, extract the following information:
1088
-
1089
- - Project metadata: name, description, language
1090
- - Files created: List of generated files with absolute paths
1091
- - Tech stack: Primary codebase language
1092
- - Next phase: Recommended next command (1-plan)
1093
-
1094
- ### Step 2: Delegate Context Saving to manager-project
1095
-
1096
- The manager-project agent handles all context saving:
1097
-
1098
- ```markdown
1099
- Context data to persist:
260
+ Options:
1100
261
 
1101
- - Phase: "0-project"
1102
- - Mode: INITIALIZATION|AUTO-DETECT|SETTINGS|UPDATE
1103
- - Timestamp: ISO8601 UTC
1104
- - Status: completed|failed
1105
- - Outputs:
1106
- - project_name
1107
- - project_description
1108
- - language (conversation_language)
1109
- - tech_stack (detected primary language)
1110
- - github_profile (from Tab 3)
1111
- - Files created: [list of absolute paths]
1112
- - Next phase: "1-plan"
262
+ - Continue without LSP - Proceed to completion
263
+ - Show installation instructions - Display detailed setup guide
264
+ - Auto-install now - Attempt automatic installation (requires confirmation)
1113
265
 
1114
- Agent delegates to UnifiedConfigManager from moai-workflow-project:
266
+ If user selects "Auto-install now":
1115
267
 
1116
- - Save context via ContextManager
1117
- - Handle file path validation
1118
- - Implement error recovery (non-blocking)
1119
- - Report success/failure
1120
- ```
268
+ - Use expert-devops subagent to execute installation
269
+ - Verify installation success
270
+ - Report result to user
1121
271
 
1122
- Error Handling Strategy:
272
+ WHY: LSP servers significantly improve development experience with Claude Code by providing accurate diagnostics.
1123
273
 
1124
- - Context save failures should NOT block command completion
1125
- - Log clear warning messages for debugging
1126
- - Allow user to retry manually if needed
274
+ IMPACT: Missing LSP reduces code intelligence quality and may cause incomplete error detection.
1127
275
 
1128
276
  ---
1129
277
 
1130
- ## PHASE 3: Completion & Next Steps
278
+ ## PHASE 4: Completion
1131
279
 
1132
- Goal: Guide user to next action in their selected language.
280
+ Goal: Confirm documentation generation and guide user to next steps.
1133
281
 
1134
- ### Step 1: Display Completion Status
282
+ ### Step 1: Display Results
1135
283
 
1136
- Show mode-specific completion message in user's language:
284
+ Show completion message in user's language:
1137
285
 
1138
- - INITIALIZATION: "Project initialization complete"
1139
- - AUTO-DETECT: Configuration review/modification complete
1140
- - SETTINGS: "Settings updated successfully"
1141
- - UPDATE: "Templates optimized and updated"
286
+ - Files created: List of generated files
287
+ - Location: `.moai/project/`
288
+ - Status: Success or partial completion
1142
289
 
1143
290
  ### Step 2: Offer Next Steps
1144
291
 
1145
- Use AskUserQuestion in user's language:
292
+ Use AskUserQuestion:
293
+
294
+ Question: Project documentation generated. What would you like to do next?
1146
295
 
1147
- - From Initialization: Write SPEC / Review Structure / New Session
1148
- - From Settings: Continue Settings / Sync Documentation / Exit
1149
- - From Update: Review Changes / Modify Settings / Exit
296
+ Options:
1150
297
 
1151
- Critical: NO EMOJIS in AskUserQuestion fields. Use clear text only.
298
+ - Write SPEC - Execute /moai:1-plan to define feature specifications
299
+ - Review Documentation - Open generated files for review
300
+ - Start New Session - Clear context and start fresh
1152
301
 
1153
302
  ---
1154
303
 
1155
- ## Critical Rules
1156
-
1157
- ### Mode Execution
304
+ ## Critical Rules
1158
305
 
1159
- [HARD] Execute exactly ONE mode per command invocation.
306
+ ### Tool Usage Guidelines
1160
307
 
1161
- WHY: Multi-mode execution causes state inconsistency.
308
+ This command has access to all tools for flexibility:
1162
309
 
1163
- IMPACT: Executing multiple modes corrupts configuration state.
310
+ - Task() for agent orchestration (recommended for complex tasks)
311
+ - AskUserQuestion() for user interaction at command level
312
+ - Read, Write, Edit, Bash, Glob, Grep for direct operations when needed
1164
313
 
1165
- Exception: [SOFT] Allow mode switching only when user explicitly selects different mode in SETTINGS tab selection screen.
314
+ Agent delegation is recommended for complex tasks that benefit from specialized expertise. Direct tool usage is permitted when appropriate for simpler operations.
1166
315
 
1167
316
  ### Language Handling
1168
317
 
1169
318
  [HARD] Always use user's conversation_language for all output and prompts.
1170
319
 
1171
- WHY: User comprehension requires language consistency.
1172
-
1173
- IMPACT: Using wrong language reduces accessibility.
1174
-
1175
- [HARD] Never skip language confirmation in INITIALIZATION mode.
1176
-
1177
- WHY: Language choice determines all subsequent output.
1178
-
1179
- IMPACT: Missing language selection blocks localized experience.
1180
-
1181
- [SOFT] Auto-translate announcements after language changes using announcement_translator.py.
1182
-
1183
- WHY: Announcements should reflect user's selected language.
1184
-
1185
- ### Agent Delegation
1186
-
1187
- [HARD] Delegate ALL execution to manager-project agent.
1188
-
1189
- WHY: Agent provides specialized expertise and validation.
1190
-
1191
- IMPACT: Direct execution bypasses error recovery and consistency checks.
1192
-
1193
- [HARD] Route to correct mode based on command argument analysis.
1194
-
1195
- WHY: Correct routing enables appropriate workflow.
320
+ Read language from `.moai/config/sections/language.yaml` before starting.
1196
321
 
1197
- IMPACT: Wrong routing causes unexpected behavior.
322
+ WHY: User comprehension requires language consistency.
1198
323
 
1199
324
  ### User Interaction
1200
325
 
1201
326
  [HARD] Use AskUserQuestion for ALL user interaction at COMMAND level only.
1202
327
 
1203
- WHY: Subagents invoked via Task() operate in isolated, stateless contexts and cannot interact with users. AskUserQuestion requires real-time user response which subagents cannot receive.
1204
-
1205
- IMPACT: Attempting AskUserQuestion in subagents causes workflow failures or silent failures.
1206
-
1207
- [HARD] Collect all user choices via AskUserQuestion BEFORE delegating to agents.
1208
-
1209
- WHY: Subagents need pre-collected user decisions to execute without interaction.
1210
-
1211
- IMPACT: Missing parameters force subagents to make assumptions or fail.
1212
-
1213
- [HARD] Pass user choices as parameters when invoking Task().
1214
-
1215
- WHY: Agents must receive all necessary context at invocation time since they cannot request more.
1216
-
1217
- IMPACT: Incomplete context causes agents to fail or produce incorrect results.
1218
-
1219
- [HARD] Never include EMOJI characters in AskUserQuestion fields.
1220
-
1221
- WHY: Emoji parsing varies across platforms and may cause display issues.
1222
-
1223
- IMPACT: Platform inconsistencies create confusing user experience.
328
+ [HARD] No emoji characters in AskUserQuestion fields.
1224
329
 
1225
330
  [HARD] Maximum 4 options per AskUserQuestion question.
1226
331
 
1227
- WHY: Tool constraint limits options to 4 per question.
332
+ WHY: Subagents cannot interact with users directly; emoji parsing varies across platforms.
1228
333
 
1229
- IMPACT: Exceeding 4 options causes tool execution failure. Use multi-step questions for more choices.
1230
-
1231
- ### Tool Usage Constraints
1232
-
1233
- [HARD] Use ONLY Task() for agent orchestration and AskUserQuestion() for interaction.
334
+ ### Agent Delegation
1234
335
 
1235
- WHY: Direct tool usage bypasses agent expertise.
336
+ [HARD] Delegate ALL execution to specialized agents.
1236
337
 
1237
- IMPACT: Tool misuse causes validation and consistency failures.
338
+ Agent Chain:
1238
339
 
1239
- Prohibited Direct Tools:
340
+ 1. Explore agent: Codebase analysis
341
+ 2. Manager-docs agent: Documentation generation
1240
342
 
1241
- - NO Read for file operations
1242
- - NO Write for file creation or modification
1243
- - NO Edit for configuration changes
1244
- - NO Bash for command execution
1245
- - NO TodoWrite for task management
343
+ WHY: Agent provides specialized expertise and validation.
1246
344
 
1247
- All tool-based operations delegate to manager-project agent.
345
+ ---
1248
346
 
1249
- ### Configuration Management
347
+ ## Output Format
1250
348
 
1251
- [HARD] .moai/config/config.yaml settings ALWAYS take priority over defaults.
349
+ ### Output Format Rules
1252
350
 
1253
- WHY: Existing configuration represents user intent.
351
+ [HARD] User-Facing Reports: Always use Markdown formatting for user communication. Never display XML tags to users.
352
+ WHY: Users expect readable formatted text, not markup
353
+ IMPACT: XML tags in user output create confusion and reduce comprehension
1254
354
 
1255
- IMPACT: Ignoring existing config causes destructive overwrites.
355
+ [HARD] Internal Agent Data: XML tags are reserved for agent-to-agent data transfer only.
356
+ WHY: XML structure enables automated parsing for downstream agent coordination
357
+ IMPACT: Using XML for user output degrades user experience
1256
358
 
1257
- [SOFT] Respect existing language settings unless user explicitly requests change via SETTINGS Tab 1.
359
+ ### User-Facing Output (Markdown)
1258
360
 
1259
- WHY: Unexpected language changes disrupt user workflow.
361
+ Progress reports and completion summaries must use Markdown:
1260
362
 
1261
- IMPACT: Automatic changes without user consent reduce trust.
363
+ - Headers for phase identification
364
+ - Lists for itemized findings
365
+ - Bold for emphasis on key results
366
+ - Code blocks for file paths and technical details
1262
367
 
1263
- [SOFT] For fresh installs: language selection occurs FIRST before other configuration.
368
+ ### Internal Agent Communication (XML)
1264
369
 
1265
- WHY: Language choice affects all subsequent interactions.
370
+ For agent-to-agent data transfer only (never displayed to users):
1266
371
 
1267
- IMPACT: Deferred language selection complicates initial setup.
372
+ ```xml
373
+ <analysis>Codebase analysis results including detected technologies and architecture</analysis>
374
+ <approach>Documentation generation strategy based on analysis</approach>
375
+ <phase>Current execution phase with progress status</phase>
376
+ <completion>Summary of generated files and next recommended action</completion>
377
+ ```
1268
378
 
1269
379
  ---
1270
380
 
1271
- ## Output Format
381
+ ## Quick Reference
1272
382
 
1273
- Responses and status reports must follow structured XML format for clarity and automated processing:
383
+ Entry Point: /moai:0-project
1274
384
 
1275
- <analysis>
1276
- Context assessment including detected mode, language context, and user command arguments.
1277
- Example: "Detected AUTO-DETECT mode, user language is Korean (ko), existing config found at .moai/config/config.yaml"
1278
- </analysis>
385
+ Mode Detection:
1279
386
 
1280
- <approach>
1281
- Execution strategy selected based on analysis, including manager-project agent invocation parameters.
1282
- Example: "Delegating to manager-project agent with AUTO-DETECT mode context, language: ko, requesting settings review"
1283
- </approach>
387
+ - No existing docs: Fresh documentation generation
388
+ - Existing docs: Update documentation flow
1284
389
 
1285
- <phase>
1286
- Current execution phase (Phase 1, Phase 2, Phase 2.5, or Phase 3) with step-by-step progress.
1287
- Example: "Phase 2: Execute AUTO-DETECT Mode - Displaying current configuration and offering modification options"
1288
- </phase>
390
+ Agent Chain:
1289
391
 
1290
- <verification>
1291
- Quality checks and validation results at checkpoints, including language validation and configuration consistency checks.
1292
- Example: "Language validation passed (ko is valid), configuration loaded successfully, ready for user interaction"
1293
- </verification>
392
+ 1. Explore subagent: Analyze codebase
393
+ 2. Manager-docs subagent: Generate documentation
1294
394
 
1295
- <completion>
1296
- Mode-specific completion summary with files created, settings modified, and next recommended action.
1297
- Example: "Settings updated successfully. Modified 4 fields: user.name, conversation_language, language_name [auto], agent_prompt_language. Recommend next step: /moai:1-plan"
1298
- </completion>
395
+ Output Files:
1299
396
 
1300
- WHY: Structured output enables automated parsing and consistent status tracking across command executions.
1301
-
1302
- IMPACT: Unstructured output reduces ability to track execution state and causes user confusion about command progress.
1303
-
1304
- ---
1305
-
1306
- ## Quick Reference
1307
-
1308
- | Scenario | Mode | Entry Point | Key Phases |
1309
- | -------------------- | -------------- | --------------------------------- | -------------------------------------------------------------- |
1310
- | First-time setup | INITIALIZATION | `/moai:0-project` (no config) | Read language → Interview → Docs |
1311
- | Existing project | AUTO-DETECT | `/moai:0-project` (config exists) | Read language → Display → Options |
1312
- | Modify config | SETTINGS | `/moai:0-project setting` | Interactive tab selection → Conditional batches → Skill update |
1313
- | After package update | UPDATE | `/moai:0-project update` | Preserve language → Template merge → Announce |
397
+ - `.moai/project/product.md`
398
+ - `.moai/project/structure.md`
399
+ - `.moai/project/tech.md`
1314
400
 
1315
401
  Associated Skills:
1316
402
 
1317
- - moai-workflow-project - Unified project management skill providing:
1318
- - Language selection/change
1319
- - Config operations (atomic updates, backup/rollback)
1320
- - Template merging
1321
- - Tab-based batch questions
403
+ - moai-workflow-project: Project management and configuration
1322
404
 
1323
- Project Documentation Directory:
405
+ ---
1324
406
 
1325
- - Location: `.moai/project/` (singular, NOT `.moai/projects/`)
1326
- - Files: `product.md`, `structure.md`, `tech.md` (auto-generated or interactive)
1327
- - Language: Auto-translated to user's conversation_language
407
+ Version: 3.1.0 (LSP Server Check Integration)
408
+ Last Updated: 2026-01-10
409
+ Architecture: Commands to Agents to Skills (Complete delegation)
1328
410
 
1329
- Version: 2.0.0 (Tab-based Configuration with Conditional Batches & Fixed Field Alignment)
1330
- Last Updated: 2025-11-19
1331
- Architecture: Commands → Agents → Skills (Complete delegation, no direct backup in command)
1332
- Tab Schema: Available in moai-workflow-project skill (v2.0.0)
1333
- Improvements in v2.0.0:
411
+ Changes from v3.0.0:
1334
412
 
1335
- - Removed `[tab_ID]` argument Always use interactive tab selection
1336
- - Added git_strategy.mode selection (Batch 3.0) with Personal/Team/Hybrid conditional logic
1337
- - Expanded Tab 3: 16 29 settings (+81%)
1338
- - Fixed 26 outdated/incorrect field names (checkpoint_enabled→auto_checkpoint, etc)
1339
- - Enhanced validation checkpoints: 3 → 6 rules
1340
- - Total coverage: 41 → 57 settings (+39%)
413
+ - Added: PHASE 3.5 Development Environment Check
414
+ - Added: LSP server detection for 8 major languages
415
+ - Added: Installation guidance with language-specific commands
416
+ - Added: Auto-install option via expert-devops agent
1341
417
 
1342
- ---
418
+ Changes from v2.0.0:
1343
419
 
1344
- ## Final Step: Next Action Selection
1345
-
1346
- After command execution completes, use AskUserQuestion tool to guide user to next action:
1347
-
1348
- ```python
1349
- AskUserQuestion({
1350
- "questions": [{
1351
- "question": "Project setup is complete. What would you like to do next?",
1352
- "header": "Next Steps",
1353
- "multiSelect": false,
1354
- "options": [
1355
- {
1356
- "label": "Write Specification",
1357
- "description": "Execute /moai:1-plan to define feature specifications"
1358
- },
1359
- {
1360
- "label": "Review Project Structure",
1361
- "description": "Check current project status and settings"
1362
- },
1363
- {
1364
- "label": "Start New Session",
1365
- "description": "Initialize workspace and start fresh"
1366
- }
1367
- ]
1368
- }]
1369
- })
1370
- ```
420
+ - Removed: All configuration and settings functionality (moved to moai-adk init CLI)
421
+ - Removed: Tab-based question system (handled by CLI)
422
+ - Removed: Mode detection for SETTINGS, UPDATE, GLM_CONFIGURATION
423
+ - Simplified: Focus on documentation generation only
424
+ - Simplified: Two-agent chain (Explore + Manager-docs)
425
+ - Reduced: From 1400+ lines to approximately 250 lines
1371
426
 
1372
- Important:
427
+ ---
1373
428
 
1374
- - Use conversation language from config
1375
- - No emojis in any AskUserQuestion fields
1376
- - Always provide clear next step options
429
+ ## EXECUTION DIRECTIVE
1377
430
 
1378
- ## EXECUTION DIRECTIVE
431
+ You must NOW execute the command following the phases described above.
1379
432
 
1380
- You must NOW execute the command following the "Execution Philosophy" described above.
433
+ 1. Invoke Explore subagent to analyze codebase
434
+ 2. Present analysis results via AskUserQuestion
435
+ 3. Invoke Manager-docs subagent to generate documentation
436
+ 4. Confirm completion and offer next steps
1381
437
 
1382
- 1. Analyze the subcommand/context.
1383
- 2. Use the manager-project subagent to handle project setup.
1384
- 3. Do NOT just describe what you will do. DO IT.
438
+ Do NOT just describe what you will do. DO IT.