moai-adk 0.32.8__py3-none-any.whl → 0.41.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (545) hide show
  1. moai_adk/cli/commands/init.py +4 -1
  2. moai_adk/cli/commands/update.py +31 -26
  3. moai_adk/cli/worktree/cli.py +54 -43
  4. moai_adk/cli/worktree/manager.py +17 -14
  5. moai_adk/cli/worktree/registry.py +313 -19
  6. moai_adk/core/config/unified.py +237 -63
  7. moai_adk/core/error_recovery_system.py +22 -4
  8. moai_adk/core/git/conflict_detector.py +10 -1
  9. moai_adk/core/git/event_detector.py +16 -5
  10. moai_adk/core/language_config_resolver.py +96 -3
  11. moai_adk/core/merge/analyzer.py +509 -324
  12. moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
  13. moai_adk/core/migration/backup_manager.py +54 -4
  14. moai_adk/core/migration/file_migrator.py +174 -2
  15. moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
  16. moai_adk/core/migration/version_detector.py +123 -19
  17. moai_adk/core/migration/version_migrator.py +44 -9
  18. moai_adk/core/project/backup_utils.py +9 -1
  19. moai_adk/core/project/initializer.py +33 -96
  20. moai_adk/core/project/phase_executor.py +79 -33
  21. moai_adk/core/quality/trust_checker.py +30 -10
  22. moai_adk/core/realtime_monitoring_dashboard.py +3 -3
  23. moai_adk/core/rollback_manager.py +46 -19
  24. moai_adk/core/template/backup.py +4 -3
  25. moai_adk/core/template/config.py +33 -9
  26. moai_adk/core/template/merger.py +34 -8
  27. moai_adk/core/template/processor.py +144 -9
  28. moai_adk/core/template_engine.py +10 -1
  29. moai_adk/core/template_variable_synchronizer.py +16 -2
  30. moai_adk/core/version_sync.py +54 -6
  31. moai_adk/project/configuration.py +1 -1
  32. moai_adk/statusline/config.py +5 -2
  33. moai_adk/statusline/main.py +58 -0
  34. moai_adk/statusline/renderer.py +56 -84
  35. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +218 -51
  36. moai_adk/templates/.claude/agents/moai/builder-agent.md +46 -11
  37. moai_adk/templates/.claude/agents/moai/builder-command.md +88 -26
  38. moai_adk/templates/.claude/agents/moai/builder-plugin.md +753 -0
  39. moai_adk/templates/.claude/agents/moai/builder-skill.md +79 -8
  40. moai_adk/templates/.claude/agents/moai/expert-backend.md +100 -28
  41. moai_adk/templates/.claude/agents/moai/expert-database.md +20 -12
  42. moai_adk/templates/.claude/agents/moai/expert-debug.md +19 -8
  43. moai_adk/templates/.claude/agents/moai/expert-devops.md +36 -25
  44. moai_adk/templates/.claude/agents/moai/expert-frontend.md +99 -38
  45. moai_adk/templates/.claude/agents/moai/expert-performance.md +661 -0
  46. moai_adk/templates/.claude/agents/moai/expert-refactoring.md +218 -0
  47. moai_adk/templates/.claude/agents/moai/expert-security.md +55 -4
  48. moai_adk/templates/.claude/agents/moai/expert-testing.md +737 -0
  49. moai_adk/templates/.claude/agents/moai/expert-uiux.md +20 -11
  50. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +13 -4
  51. moai_adk/templates/.claude/agents/moai/manager-docs.md +15 -7
  52. moai_adk/templates/.claude/agents/moai/manager-git.md +192 -37
  53. moai_adk/templates/.claude/agents/moai/manager-project.md +13 -7
  54. moai_adk/templates/.claude/agents/moai/manager-quality.md +48 -6
  55. moai_adk/templates/.claude/agents/moai/manager-spec.md +110 -8
  56. moai_adk/templates/.claude/agents/moai/manager-strategy.md +203 -17
  57. moai_adk/templates/.claude/agents/moai/manager-tdd.md +217 -23
  58. moai_adk/templates/.claude/agents/moai/mcp-context7.md +102 -7
  59. moai_adk/templates/.claude/agents/moai/mcp-figma.md +107 -86
  60. moai_adk/templates/.claude/agents/moai/mcp-notion.md +50 -4
  61. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +52 -4
  62. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +49 -5
  63. moai_adk/templates/.claude/commands/moai/0-project.md +503 -307
  64. moai_adk/templates/.claude/commands/moai/1-plan.md +255 -323
  65. moai_adk/templates/.claude/commands/moai/2-run.md +257 -315
  66. moai_adk/templates/.claude/commands/moai/3-sync.md +421 -56
  67. moai_adk/templates/.claude/commands/moai/9-feedback.md +40 -34
  68. moai_adk/templates/.claude/hooks/moai/__init__.py +0 -0
  69. moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
  70. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +19 -0
  71. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
  72. moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
  73. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +12 -14
  74. moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
  75. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +1 -1
  76. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +104 -14
  77. moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
  78. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
  79. moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
  80. moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +804 -0
  81. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +14 -2
  82. moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +256 -0
  83. moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +253 -0
  84. moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +307 -0
  85. moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +231 -0
  86. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +40 -24
  87. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +248 -32
  88. moai_adk/templates/.claude/output-styles/moai/r2d2.md +265 -2
  89. moai_adk/templates/.claude/output-styles/moai/yoda.md +23 -2
  90. moai_adk/templates/.claude/settings.json +44 -6
  91. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +303 -0
  92. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  93. moai_adk/templates/.claude/skills/moai-ai-nano-banana/reference.md +139 -0
  94. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  95. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  96. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -196
  97. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +252 -0
  98. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
  99. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
  100. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
  101. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
  102. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
  103. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +234 -0
  104. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +19 -13
  105. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  106. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  107. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +21 -14
  108. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  109. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  110. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +124 -425
  111. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  112. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
  113. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
  114. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
  115. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
  116. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
  117. moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
  118. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  119. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +17 -15
  120. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +105 -315
  121. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  122. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
  123. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +6 -6
  124. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  125. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +197 -154
  126. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  127. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
  128. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
  129. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
  130. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
  131. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
  132. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
  133. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +2 -2
  134. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
  135. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +432 -0
  136. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
  137. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
  138. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
  139. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
  140. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  141. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +12 -1
  142. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  143. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  144. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +33 -134
  145. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  146. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +31 -18
  147. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +30 -30
  148. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
  149. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
  150. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
  151. moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
  152. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
  153. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
  154. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
  155. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
  156. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
  157. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
  158. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  159. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +311 -0
  160. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  161. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  162. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  163. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  164. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  165. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  166. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +17 -16
  167. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +431 -0
  168. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +17 -0
  169. moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
  170. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +17 -0
  171. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +194 -0
  172. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
  173. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
  174. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
  175. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
  176. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
  177. moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
  178. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
  179. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +395 -0
  180. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +17 -0
  181. moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
  182. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +17 -0
  183. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +473 -0
  184. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  185. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  186. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +378 -0
  187. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  188. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  189. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +387 -0
  190. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  191. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  192. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +419 -0
  193. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
  194. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
  195. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +384 -0
  196. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  197. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  198. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +505 -0
  199. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +17 -0
  200. moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
  201. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +17 -0
  202. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +490 -0
  203. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  204. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  205. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +390 -0
  206. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +17 -0
  207. moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
  208. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +17 -0
  209. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +433 -0
  210. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +17 -0
  211. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
  212. moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
  213. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +17 -0
  214. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +378 -0
  215. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  216. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  217. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +212 -0
  218. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  219. moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
  220. moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
  221. moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
  222. moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
  223. moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
  224. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  225. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +192 -0
  226. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  227. moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
  228. moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
  229. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
  230. moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
  231. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  232. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +365 -0
  233. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  234. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  235. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +94 -227
  236. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +26 -6
  237. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  238. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
  239. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
  240. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  241. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +17 -13
  242. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +1 -1
  243. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +284 -0
  244. moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
  245. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
  246. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
  247. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
  248. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
  249. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
  250. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
  251. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
  252. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
  253. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
  254. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
  255. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
  256. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
  257. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
  258. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
  259. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
  260. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
  261. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
  262. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
  263. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
  264. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
  265. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
  266. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
  267. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
  268. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
  269. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
  270. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
  271. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
  272. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
  273. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
  274. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
  275. moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
  276. moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
  277. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +426 -0
  278. moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
  279. moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
  280. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +229 -0
  281. moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
  282. moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
  283. moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
  284. moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
  285. moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
  286. moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
  287. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +250 -0
  288. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
  289. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
  290. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
  291. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
  292. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
  293. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +231 -0
  294. moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
  295. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
  296. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
  297. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
  298. moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
  299. moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
  300. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +206 -0
  301. moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
  302. moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
  303. moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
  304. moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
  305. moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
  306. moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
  307. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +224 -0
  308. moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
  309. moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
  310. moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
  311. moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
  312. moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
  313. moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
  314. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +207 -0
  315. moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
  316. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
  317. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
  318. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
  319. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
  320. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
  321. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
  322. moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
  323. moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
  324. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +210 -0
  325. moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
  326. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
  327. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
  328. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
  329. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
  330. moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
  331. moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
  332. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  333. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  334. moai_adk/templates/.claude/skills/moai-plugin-builder/modules/migration.md +341 -0
  335. moai_adk/templates/.claude/skills/moai-plugin-builder/modules/validation.md +373 -0
  336. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +464 -0
  337. moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +307 -0
  338. moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
  339. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
  340. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
  341. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
  342. moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
  343. moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
  344. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
  345. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
  346. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
  347. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
  348. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
  349. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
  350. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
  351. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
  352. moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
  353. moai_adk/templates/.claude/skills/moai-tool-opencode/SKILL.md +215 -0
  354. moai_adk/templates/.claude/skills/moai-tool-opencode/examples.md +697 -0
  355. moai_adk/templates/.claude/skills/moai-tool-opencode/index.md +96 -0
  356. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/acp.md +115 -0
  357. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/agents.md +241 -0
  358. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/commands.md +197 -0
  359. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/custom-tools.md +197 -0
  360. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/formatters.md +164 -0
  361. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/keybinds.md +150 -0
  362. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/lsp-servers.md +156 -0
  363. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/mcp-servers.md +214 -0
  364. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/models.md +197 -0
  365. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/permissions.md +162 -0
  366. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/rules.md +129 -0
  367. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/skills.md +192 -0
  368. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/themes.md +200 -0
  369. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/configure/tools.md +169 -0
  370. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/config.md +211 -0
  371. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/enterprise.md +68 -0
  372. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/intro.md +127 -0
  373. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/migration-1.0.md +82 -0
  374. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/network.md +72 -0
  375. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/providers.md +310 -0
  376. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/core/troubleshooting.md +124 -0
  377. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/ecosystem.md +75 -0
  378. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/plugins.md +218 -0
  379. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/sdk.md +266 -0
  380. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/develop/server.md +207 -0
  381. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/cli.md +159 -0
  382. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/github.md +181 -0
  383. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/gitlab.md +122 -0
  384. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/ide.md +74 -0
  385. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/share.md +106 -0
  386. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/tui.md +129 -0
  387. moai_adk/templates/.claude/skills/moai-tool-opencode/modules/usage/zen.md +118 -0
  388. moai_adk/templates/.claude/skills/moai-tool-opencode/reference.md +790 -0
  389. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +190 -424
  390. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  391. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +188 -314
  393. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +284 -212
  396. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +2 -2
  397. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +1 -1
  398. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +22 -1
  399. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +337 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +13 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +222 -367
  407. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
  409. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
  410. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
  420. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
  433. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
  458. moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
  459. moai_adk/templates/.git-hooks/pre-push +168 -50
  460. moai_adk/templates/.gitignore +0 -3
  461. moai_adk/templates/.lsp.json +152 -0
  462. moai_adk/templates/.mcp.json +5 -12
  463. moai_adk/templates/.moai/config/config.yaml +20 -306
  464. moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
  465. moai_adk/templates/.moai/config/questions/_schema.yaml +105 -10
  466. moai_adk/templates/.moai/config/questions/tab0-init.yaml +259 -0
  467. moai_adk/templates/.moai/config/questions/tab1-user.yaml +4 -5
  468. moai_adk/templates/.moai/config/questions/tab2-project.yaml +12 -55
  469. moai_adk/templates/.moai/config/questions/tab3-git.yaml +111 -21
  470. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +34 -18
  471. moai_adk/templates/.moai/config/questions/tab5-system.yaml +19 -75
  472. moai_adk/templates/.moai/config/sections/git-strategy.yaml +83 -7
  473. moai_adk/templates/.moai/config/sections/language.yaml +7 -7
  474. moai_adk/templates/.moai/config/sections/project.yaml +1 -1
  475. moai_adk/templates/.moai/config/sections/quality.yaml +7 -4
  476. moai_adk/templates/.moai/config/sections/system.yaml +11 -1
  477. moai_adk/templates/.moai/config/statusline-config.yaml +19 -13
  478. moai_adk/templates/.moai/scripts/setup-glm.py +4 -4
  479. moai_adk/templates/CLAUDE.md +578 -154
  480. moai_adk/utils/common.py +33 -0
  481. moai_adk/version.py +1 -1
  482. {moai_adk-0.32.8.dist-info → moai_adk-0.41.2.dist-info}/METADATA +905 -109
  483. moai_adk-0.41.2.dist-info/RECORD +683 -0
  484. moai_adk/core/config/auto_spec_config.py +0 -340
  485. moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
  486. moai_adk/core/spec/confidence_scoring.py +0 -680
  487. moai_adk/core/spec/ears_template_engine.py +0 -1247
  488. moai_adk/core/spec/quality_validator.py +0 -687
  489. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
  490. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +0 -352
  491. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +0 -52
  492. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +0 -334
  493. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +0 -310
  494. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +0 -256
  495. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +0 -253
  496. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +0 -133
  497. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +0 -296
  498. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +0 -1269
  499. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +0 -331
  500. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
  501. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +0 -186
  502. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +0 -290
  503. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +0 -1225
  504. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +0 -567
  505. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +0 -323
  506. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +0 -204
  507. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
  508. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
  509. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
  510. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
  511. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
  512. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -135
  513. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
  514. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
  515. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
  516. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
  517. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
  518. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
  519. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
  520. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
  521. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
  522. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
  523. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
  524. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -410
  525. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
  526. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
  527. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
  528. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
  529. moai_adk/templates/.moai/cache/personalization.json +0 -10
  530. moai_adk/templates/.moai/config/presets/manual.yaml +0 -28
  531. moai_adk/templates/.moai/config/presets/personal.yaml +0 -30
  532. moai_adk/templates/.moai/config/presets/team.yaml +0 -33
  533. moai_adk-0.32.8.dist-info/RECORD +0 -396
  534. /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  535. /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
  536. /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
  537. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  538. /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
  539. /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
  540. /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
  541. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
  542. /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
  543. {moai_adk-0.32.8.dist-info → moai_adk-0.41.2.dist-info}/WHEEL +0 -0
  544. {moai_adk-0.32.8.dist-info → moai_adk-0.41.2.dist-info}/entry_points.txt +0 -0
  545. {moai_adk-0.32.8.dist-info → moai_adk-0.41.2.dist-info}/licenses/LICENSE +0 -0
@@ -13,13 +13,20 @@ Features:
13
13
  - Deep merge for nested configs
14
14
  - Configuration migration between versions
15
15
  - Domain-specific facades for different subsystems
16
+ - Modular section-based YAML configuration (new in v0.36.0)
16
17
 
17
18
  Design Philosophy:
18
- - Single source of truth for `.moai/config/config.yaml` (with JSON fallback)
19
+ - Primary: Modular section files `.moai/config/sections/*.yaml`
20
+ - Fallback: Legacy monolithic `.moai/config/config.yaml` or `config.json`
19
21
  - Best patterns from StatuslineConfig, UnifiedConfigManager, ConfigurationManager
20
22
  - Backward compatible with existing ConfigManager interfaces
21
23
  - Performance optimized with caching and minimal I/O
22
24
 
25
+ Configuration Architecture:
26
+ - New projects: Modular sections (language.yaml, user.yaml, project.yaml, etc.)
27
+ - Legacy projects: Monolithic config.json/config.yaml (auto-migrated on update)
28
+ - Priority: Section files override monolithic config if both exist
29
+
23
30
  Usage:
24
31
  >>> from moai_adk.core.config.unified import get_unified_config
25
32
  >>> config = get_unified_config()
@@ -95,62 +102,59 @@ class UnifiedConfigManager:
95
102
  Initialize configuration manager (called once by singleton).
96
103
 
97
104
  Args:
98
- config_path: Optional path to config file
105
+ config_path: Optional path to config file (legacy mode) or sections directory
99
106
  """
100
107
  # Set config path with auto-detection
101
108
  if config_path:
102
109
  self._config_path = Path(config_path)
103
110
  else:
104
- # Auto-detect YAML (preferred) or JSON (fallback)
111
+ # Auto-detect configuration strategy
105
112
  base_path = Path.cwd() / ".moai" / "config"
106
- yaml_path = base_path / "config.yaml"
107
- json_path = base_path / "config.json"
113
+ sections_dir = base_path / "sections"
108
114
 
109
- if YAML_AVAILABLE and yaml_path.exists():
110
- self._config_path = yaml_path
111
- elif json_path.exists():
112
- self._config_path = json_path
115
+ # Priority 1: Section-based configuration (new approach)
116
+ if sections_dir.exists() and sections_dir.is_dir():
117
+ self._config_path = sections_dir
113
118
  else:
114
- # Default to YAML for new projects
115
- self._config_path = yaml_path if YAML_AVAILABLE else json_path
119
+ # Priority 2: Monolithic YAML (legacy)
120
+ yaml_path = base_path / "config.yaml"
121
+ json_path = base_path / "config.json"
122
+
123
+ if YAML_AVAILABLE and yaml_path.exists():
124
+ self._config_path = yaml_path
125
+ elif json_path.exists():
126
+ self._config_path = json_path
127
+ else:
128
+ # Default to sections for new projects
129
+ self._config_path = sections_dir if YAML_AVAILABLE else yaml_path
116
130
 
117
131
  # Load configuration
118
132
  self._load_config()
119
133
 
120
134
  def _load_config(self) -> None:
121
135
  """
122
- Load configuration from file with caching.
136
+ Load configuration from file or sections with caching.
123
137
 
124
138
  Implements cache invalidation based on file modification time.
125
139
  Falls back to default configuration if file doesn't exist.
126
- Supports both YAML (preferred) and JSON (legacy) formats.
140
+ Supports three modes:
141
+ 1. Section-based YAML (new): Load from .moai/config/sections/*.yaml
142
+ 2. Monolithic YAML (legacy): Load from .moai/config/config.yaml
143
+ 3. Monolithic JSON (legacy): Load from .moai/config/config.json
127
144
  """
128
145
  try:
129
- # Check if file exists
146
+ # Check if path exists
130
147
  if not self._config_path.exists():
131
- logger.warning(f"Config file not found: {self._config_path}")
148
+ logger.warning(f"Config path not found: {self._config_path}")
132
149
  self._config = self._get_default_config()
133
150
  return
134
151
 
135
- # Check cache validity
136
- current_mtime = self._config_path.stat().st_mtime
137
- if self._last_modified and current_mtime == self._last_modified:
138
- # Cache is still valid
139
- return
140
-
141
- # Load from file (auto-detect format)
142
- with open(self._config_path, "r", encoding="utf-8") as f:
143
- if self._config_path.suffix == ".yaml" or self._config_path.suffix == ".yml":
144
- if not YAML_AVAILABLE:
145
- raise ImportError("PyYAML is required for YAML config files. Install with: pip install pyyaml")
146
- self._config = yaml.safe_load(f) or {}
147
- else:
148
- self._config = json.load(f)
149
-
150
- # Update cache timestamp
151
- self._last_modified = current_mtime
152
-
153
- logger.debug(f"Loaded config from {self._config_path}")
152
+ # Section-based configuration (new approach)
153
+ if self._config_path.is_dir():
154
+ self._load_from_sections()
155
+ else:
156
+ # Monolithic configuration (legacy)
157
+ self._load_from_monolithic()
154
158
 
155
159
  except (
156
160
  json.JSONDecodeError,
@@ -161,6 +165,69 @@ class UnifiedConfigManager:
161
165
  logger.error(f"Failed to load config: {e}")
162
166
  self._config = self._get_default_config()
163
167
 
168
+ def _load_from_sections(self) -> None:
169
+ """
170
+ Load configuration from modular section YAML files.
171
+
172
+ Loads and merges all *.yaml files from sections directory:
173
+ - sections/language.yaml
174
+ - sections/user.yaml
175
+ - sections/project.yaml
176
+ - sections/system.yaml
177
+ - sections/git-strategy.yaml
178
+ - sections/quality.yaml
179
+ """
180
+ # Check cache validity (use directory mtime)
181
+ current_mtime = self._config_path.stat().st_mtime
182
+ if self._last_modified and current_mtime == self._last_modified:
183
+ # Cache is still valid
184
+ return
185
+
186
+ if not YAML_AVAILABLE:
187
+ raise ImportError("PyYAML is required for section-based config. Install with: pip install pyyaml")
188
+
189
+ # Merge all section files
190
+ merged_config: dict[str, Any] = {}
191
+ section_files = sorted(self._config_path.glob("*.yaml"))
192
+
193
+ for section_file in section_files:
194
+ try:
195
+ with open(section_file, "r", encoding="utf-8") as f:
196
+ section_data = yaml.safe_load(f) or {}
197
+ merged_config = self._deep_merge(merged_config, section_data)
198
+ logger.debug(f"Loaded section: {section_file.name}")
199
+ except Exception as e:
200
+ logger.warning(f"Failed to load section {section_file.name}: {e}")
201
+
202
+ self._config = merged_config
203
+ self._last_modified = current_mtime
204
+ logger.debug(f"Loaded config from {len(section_files)} section files")
205
+
206
+ def _load_from_monolithic(self) -> None:
207
+ """
208
+ Load configuration from single monolithic file (legacy).
209
+
210
+ Supports both YAML and JSON formats.
211
+ """
212
+ # Check cache validity
213
+ current_mtime = self._config_path.stat().st_mtime
214
+ if self._last_modified and current_mtime == self._last_modified:
215
+ # Cache is still valid
216
+ return
217
+
218
+ # Load from file (auto-detect format)
219
+ with open(self._config_path, "r", encoding="utf-8") as f:
220
+ if self._config_path.suffix == ".yaml" or self._config_path.suffix == ".yml":
221
+ if not YAML_AVAILABLE:
222
+ raise ImportError("PyYAML is required for YAML config files. Install with: pip install pyyaml")
223
+ self._config = yaml.safe_load(f) or {}
224
+ else:
225
+ self._config = json.load(f)
226
+
227
+ # Update cache timestamp
228
+ self._last_modified = current_mtime
229
+ logger.debug(f"Loaded config from {self._config_path}")
230
+
164
231
  def get(self, key: str, default: Any = None) -> Any:
165
232
  """
166
233
  Get configuration value with dot-notation support.
@@ -238,7 +305,7 @@ class UnifiedConfigManager:
238
305
 
239
306
  def save(self, backup: bool = True) -> bool:
240
307
  """
241
- Save configuration to file with atomic write.
308
+ Save configuration to file or sections with atomic write.
242
309
 
243
310
  Args:
244
311
  backup: If True, create backup before saving (default: True)
@@ -247,42 +314,123 @@ class UnifiedConfigManager:
247
314
  bool: True if save successful, False otherwise
248
315
 
249
316
  Pattern: Temp file → Atomic rename (prevents corruption)
317
+
318
+ Note: For section-based configs, saves to individual section files.
319
+ For monolithic configs, saves to single file.
250
320
  """
251
321
  try:
252
- # Create backup if requested
253
- if backup and self._config_path.exists():
254
- self._create_backup()
322
+ # Section-based configuration
323
+ if self._config_path.is_dir():
324
+ return self._save_to_sections(backup)
325
+ else:
326
+ # Monolithic configuration (legacy)
327
+ return self._save_to_monolithic(backup)
255
328
 
256
- # Atomic write pattern: temp file → rename
257
- temp_path = self._config_path.with_suffix(".tmp")
329
+ except (OSError, PermissionError) as e:
330
+ logger.error(f"Failed to save config: {e}")
331
+ return False
332
+
333
+ def _save_to_sections(self, backup: bool) -> bool:
334
+ """
335
+ Save configuration to modular section YAML files.
336
+
337
+ Args:
338
+ backup: If True, create backup before saving
339
+
340
+ Returns:
341
+ bool: True if successful
342
+ """
343
+ if not YAML_AVAILABLE:
344
+ raise ImportError("PyYAML is required for section-based config. Install with: pip install pyyaml")
345
+
346
+ # Create backup if requested
347
+ if backup and self._config_path.exists():
348
+ self._create_backup()
349
+
350
+ # Define section mapping (top-level keys to section files)
351
+ section_mapping = {
352
+ "language": "language.yaml",
353
+ "user": "user.yaml",
354
+ "project": "project.yaml",
355
+ "moai": "system.yaml",
356
+ "github": "system.yaml",
357
+ "git": "git-strategy.yaml",
358
+ "quality": "quality.yaml",
359
+ "tdd": "quality.yaml",
360
+ "hooks": "system.yaml",
361
+ "session": "system.yaml",
362
+ }
363
+
364
+ # Group config data by section file
365
+ section_data: Dict[str, Dict[str, Any]] = {}
366
+ for key, value in self._config.items():
367
+ section_file = section_mapping.get(key, "system.yaml")
368
+ if section_file not in section_data:
369
+ section_data[section_file] = {}
370
+ section_data[section_file][key] = value
371
+
372
+ # Write each section file atomically
373
+ for section_file, data in section_data.items():
374
+ section_path = self._config_path / section_file
375
+ temp_path = section_path.with_suffix(".tmp")
258
376
 
259
- # Write to temp file (auto-detect format)
260
377
  with open(temp_path, "w", encoding="utf-8") as f:
261
- if self._config_path.suffix == ".yaml" or self._config_path.suffix == ".yml":
262
- if not YAML_AVAILABLE:
263
- raise ImportError("PyYAML is required for YAML config files. Install with: pip install pyyaml")
264
- yaml.safe_dump(
265
- self._config,
266
- f,
267
- default_flow_style=False,
268
- allow_unicode=True,
269
- sort_keys=False,
270
- )
271
- else:
272
- json.dump(self._config, f, indent=2, ensure_ascii=False)
378
+ yaml.safe_dump(
379
+ data,
380
+ f,
381
+ default_flow_style=False,
382
+ allow_unicode=True,
383
+ sort_keys=False,
384
+ )
273
385
 
274
386
  # Atomic rename
275
- temp_path.replace(self._config_path)
387
+ temp_path.replace(section_path)
276
388
 
277
- # Update cache timestamp
278
- self._last_modified = self._config_path.stat().st_mtime
389
+ # Update cache timestamp
390
+ self._last_modified = self._config_path.stat().st_mtime
391
+ logger.info(f"Saved config to {len(section_data)} section files")
392
+ return True
279
393
 
280
- logger.info(f"Saved config to {self._config_path}")
281
- return True
394
+ def _save_to_monolithic(self, backup: bool) -> bool:
395
+ """
396
+ Save configuration to single monolithic file (legacy).
282
397
 
283
- except (OSError, PermissionError) as e:
284
- logger.error(f"Failed to save config: {e}")
285
- return False
398
+ Args:
399
+ backup: If True, create backup before saving
400
+
401
+ Returns:
402
+ bool: True if successful
403
+ """
404
+ # Create backup if requested
405
+ if backup and self._config_path.exists():
406
+ self._create_backup()
407
+
408
+ # Atomic write pattern: temp file → rename
409
+ temp_path = self._config_path.with_suffix(".tmp")
410
+
411
+ # Write to temp file (auto-detect format)
412
+ with open(temp_path, "w", encoding="utf-8") as f:
413
+ if self._config_path.suffix == ".yaml" or self._config_path.suffix == ".yml":
414
+ if not YAML_AVAILABLE:
415
+ raise ImportError("PyYAML is required for YAML config files. Install with: pip install pyyaml")
416
+ yaml.safe_dump(
417
+ self._config,
418
+ f,
419
+ default_flow_style=False,
420
+ allow_unicode=True,
421
+ sort_keys=False,
422
+ )
423
+ else:
424
+ json.dump(self._config, f, indent=2, ensure_ascii=False)
425
+
426
+ # Atomic rename
427
+ temp_path.replace(self._config_path)
428
+
429
+ # Update cache timestamp
430
+ self._last_modified = self._config_path.stat().st_mtime
431
+
432
+ logger.info(f"Saved config to {self._config_path}")
433
+ return True
286
434
 
287
435
  def _create_backup(self) -> None:
288
436
  """Create timestamped backup of config file."""
@@ -393,8 +541,34 @@ def get_unified_config(
393
541
  # Convenience functions for common operations
394
542
  @lru_cache(maxsize=1)
395
543
  def get_config_path() -> Path:
396
- """Get path to configuration file."""
397
- return Path.cwd() / ".moai" / "config" / "config.json"
544
+ """
545
+ Get path to configuration file or sections directory.
546
+
547
+ Returns:
548
+ Path: Path to sections directory (new) or config file (legacy)
549
+
550
+ Note: Prioritizes section-based config over monolithic files.
551
+ Legacy projects may still use config.json or config.yaml.
552
+ """
553
+ base_path = Path.cwd() / ".moai" / "config"
554
+ sections_dir = base_path / "sections"
555
+
556
+ # Priority 1: Section-based configuration (new approach)
557
+ if sections_dir.exists() and sections_dir.is_dir():
558
+ return sections_dir
559
+
560
+ # Priority 2: Monolithic YAML (legacy)
561
+ yaml_path = base_path / "config.yaml"
562
+ if yaml_path.exists():
563
+ return yaml_path
564
+
565
+ # Priority 3: Monolithic JSON (legacy)
566
+ json_path = base_path / "config.json"
567
+ if json_path.exists():
568
+ return json_path
569
+
570
+ # Default: Prefer sections for new projects
571
+ return sections_dir if YAML_AVAILABLE else yaml_path
398
572
 
399
573
 
400
574
  def get_config_value(key: str, default: Any = None) -> Any:
@@ -855,7 +855,11 @@ class ErrorRecoverySystem:
855
855
  return False
856
856
 
857
857
  def _restore_config_backup(self, error_report: ErrorReport, parameters: Dict[str, Any]) -> bool:
858
- """Restore configuration from backup"""
858
+ """Restore configuration from backup.
859
+
860
+ Supports both YAML and JSON configuration formats with backward
861
+ compatibility for legacy JSON-only backups.
862
+ """
859
863
  try:
860
864
  logger.info("Restoring configuration from backup...")
861
865
 
@@ -864,16 +868,30 @@ class ErrorRecoverySystem:
864
868
  logger.warning("No configuration backup directory found")
865
869
  return False
866
870
 
867
- # Find most recent backup
868
- backup_files = list(backup_dir.glob("config_*.json"))
871
+ # Find most recent backup - check both YAML and JSON formats
872
+ yaml_backups = list(backup_dir.glob("config_*.yaml"))
873
+ json_backups = list(backup_dir.glob("config_*.json"))
874
+ backup_files = yaml_backups + json_backups
875
+
869
876
  if not backup_files:
870
877
  logger.warning("No configuration backups found")
871
878
  return False
872
879
 
873
880
  latest_backup = max(backup_files, key=lambda f: f.stat().st_mtime)
881
+ is_yaml_backup = latest_backup.suffix in (".yaml", ".yml")
882
+
883
+ # Determine target config file based on backup format
884
+ if is_yaml_backup:
885
+ config_file = self.project_root / ".moai" / "config" / "config.yaml"
886
+ else:
887
+ # Legacy JSON backup - check if project uses YAML now
888
+ yaml_config = self.project_root / ".moai" / "config" / "config.yaml"
889
+ if yaml_config.exists():
890
+ config_file = yaml_config
891
+ else:
892
+ config_file = self.project_root / ".moai" / "config" / "config.json"
874
893
 
875
894
  # Restore configuration
876
- config_file = self.project_root / ".moai" / "config" / "config.json"
877
895
  import shutil
878
896
 
879
897
  shutil.copy2(latest_backup, config_file)
@@ -42,7 +42,14 @@ class GitConflictDetector:
42
42
  "CLAUDE.md",
43
43
  ".gitignore",
44
44
  ".claude/settings.json",
45
- ".moai/config/config.json",
45
+ ".moai/config/config.json", # Legacy monolithic config
46
+ ".moai/config/config.yaml", # Legacy monolithic config
47
+ ".moai/config/sections/language.yaml", # Section-based config
48
+ ".moai/config/sections/user.yaml",
49
+ ".moai/config/sections/project.yaml",
50
+ ".moai/config/sections/system.yaml",
51
+ ".moai/config/sections/git-strategy.yaml",
52
+ ".moai/config/sections/quality.yaml",
46
53
  }
47
54
 
48
55
  # Config file patterns that are generally safe
@@ -53,6 +60,8 @@ class GitConflictDetector:
53
60
  ".prettierrc",
54
61
  "settings.json",
55
62
  "config.json",
63
+ "config.yaml",
64
+ ".yaml", # YAML files (includes section files)
56
65
  ".md", # Markdown files
57
66
  }
58
67
 
@@ -13,11 +13,14 @@ class EventDetector:
13
13
  CRITICAL_FILES = {
14
14
  "CLAUDE.md",
15
15
  "config.json",
16
- ".moai/config/config.json",
16
+ "config.yaml",
17
+ ".moai/config/config.json", # Legacy monolithic config
18
+ ".moai/config/config.yaml", # Legacy monolithic config
17
19
  }
18
20
 
19
21
  CRITICAL_DIRS = {
20
22
  ".moai/memory",
23
+ ".moai/config/sections", # Section-based config directory
21
24
  }
22
25
 
23
26
  def is_risky_deletion(self, deleted_files: list[str]) -> bool:
@@ -52,7 +55,13 @@ class EventDetector:
52
55
  """
53
56
  Determine whether the file is critical.
54
57
 
55
- SPEC requirement: modifying CLAUDE.md, config.json, or .moai/memory/*.md is risky.
58
+ SPEC requirement: modifying CLAUDE.md, config files, or .moai/memory/*.md is risky.
59
+
60
+ Critical files include:
61
+ - CLAUDE.md
62
+ - Legacy: config.json, config.yaml, .moai/config/config.{json,yaml}
63
+ - New: .moai/config/sections/*.yaml
64
+ - Memory: .moai/memory/*.md
56
65
 
57
66
  Args:
58
67
  file_path: File path to inspect.
@@ -67,11 +76,13 @@ class EventDetector:
67
76
  # Convert to string for further checks
68
77
  path_str = str(file_path)
69
78
 
70
- # Detect .moai/config/config.json paths
71
- if ".moai/config/config.json" in path_str or ".moai\\config.json" in path_str:
79
+ # Detect .moai/config/config.{json,yaml} paths (legacy monolithic)
80
+ if ".moai/config/config.json" in path_str or ".moai\\config\\config.json" in path_str:
81
+ return True
82
+ if ".moai/config/config.yaml" in path_str or ".moai\\config\\config.yaml" in path_str:
72
83
  return True
73
84
 
74
- # Detect files inside the .moai/memory/ directory
85
+ # Detect files inside critical directories (.moai/memory, .moai/config/sections)
75
86
  for critical_dir in self.CRITICAL_DIRS:
76
87
  if critical_dir in path_str or critical_dir.replace("/", "\\") in path_str:
77
88
  return True
@@ -3,11 +3,17 @@ MoAI-ADK Language Configuration Resolver
3
3
 
4
4
  Centralized system for resolving language configuration from multiple sources:
5
5
  1. Environment variables (highest priority)
6
- 2. Configuration file (.moai/config/config.json)
7
- 3. Default values (fallback)
6
+ 2. Section files (.moai/config/sections/language.yaml, user.yaml)
7
+ 3. Legacy config file (.moai/config/config.yaml or config.json)
8
+ 4. Default values (fallback)
9
+
10
+ Configuration Architecture:
11
+ - New projects: Use modular section files for better organization
12
+ - Legacy projects: Continue using config.json or config.yaml
13
+ - Section files take priority over monolithic config if both exist
8
14
 
9
15
  This module provides a unified interface for all language-related configuration
10
- needs across the MoAI-ADK system.
16
+ needs across the MoAI-ADK system with backward compatibility.
11
17
  """
12
18
 
13
19
  import json
@@ -116,6 +122,93 @@ class LanguageConfigResolver:
116
122
  return config
117
123
 
118
124
  def _load_config_file(self) -> Optional[Dict[str, Any]]:
125
+ """
126
+ Load configuration from .moai/config/config.yaml or section files.
127
+
128
+ Priority:
129
+ 1. Section files (.moai/config/sections/*.yaml) - highest
130
+ 2. Main config file (.moai/config/config.yaml)
131
+ 3. None if neither exists
132
+
133
+ Returns:
134
+ Configuration dictionary or None if file doesn't exist
135
+ """
136
+ config = {}
137
+
138
+ # Try loading from section files first (higher priority)
139
+ section_config = self._load_section_files()
140
+ if section_config:
141
+ config.update(section_config)
142
+
143
+ # Try loading from main config file (fallback)
144
+ main_config = self._load_main_config_file()
145
+ if main_config:
146
+ # Only update fields not already set by section files
147
+ for key, value in main_config.items():
148
+ if key not in config:
149
+ config[key] = value
150
+
151
+ return config if config else None
152
+
153
+ def _load_section_files(self) -> Optional[Dict[str, Any]]:
154
+ """
155
+ Load configuration from section files in .moai/config/sections/
156
+
157
+ Section files:
158
+ - user.yaml: User identification
159
+ - language.yaml: Language preferences
160
+
161
+ Returns:
162
+ Configuration dictionary or None if section files don't exist
163
+ """
164
+ if not YAML_AVAILABLE:
165
+ return None
166
+
167
+ sections_dir = self.project_root / ".moai" / "config" / "sections"
168
+ if not sections_dir.exists():
169
+ return None
170
+
171
+ config = {}
172
+
173
+ try:
174
+ # Load user.yaml
175
+ user_file = sections_dir / "user.yaml"
176
+ if user_file.exists():
177
+ with open(user_file, "r", encoding="utf-8") as f:
178
+ user_data = yaml.safe_load(f) or {}
179
+ user_config = user_data.get("user", {})
180
+ if "name" in user_config:
181
+ config["user_name"] = user_config["name"]
182
+
183
+ # Load language.yaml
184
+ language_file = sections_dir / "language.yaml"
185
+ if language_file.exists():
186
+ with open(language_file, "r", encoding="utf-8") as f:
187
+ lang_data = yaml.safe_load(f) or {}
188
+ language_config = lang_data.get("language", {})
189
+
190
+ if "conversation_language" in language_config:
191
+ config["conversation_language"] = language_config["conversation_language"]
192
+ if "conversation_language_name" in language_config:
193
+ config["conversation_language_name"] = language_config["conversation_language_name"]
194
+ if "agent_prompt_language" in language_config:
195
+ config["agent_prompt_language"] = language_config["agent_prompt_language"]
196
+ if "git_commit_messages" in language_config:
197
+ config["git_commit_messages"] = language_config["git_commit_messages"]
198
+ if "code_comments" in language_config:
199
+ config["code_comments"] = language_config["code_comments"]
200
+ if "documentation" in language_config:
201
+ config["documentation"] = language_config["documentation"]
202
+ if "error_messages" in language_config:
203
+ config["error_messages"] = language_config["error_messages"]
204
+
205
+ return config if config else None
206
+
207
+ except (yaml.YAMLError, IOError, KeyError) as e:
208
+ print(f"Warning: Failed to load section files: {e}")
209
+ return None
210
+
211
+ def _load_main_config_file(self) -> Optional[Dict[str, Any]]:
119
212
  """
120
213
  Load configuration from .moai/config/config.yaml or config.json file.
121
214