moai-adk 0.25.4__py3-none-any.whl → 0.32.8__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 (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,520 @@
1
+ """
2
+ MoAI Menu Project - Integrated Module System
3
+
4
+ Comprehensive project management system that integrates documentation,
5
+ language initialization, and template optimization modules.
6
+
7
+ This module provides a unified interface for managing project setup,
8
+ documentation generation, multilingual support, and template optimization.
9
+ """
10
+
11
+ import json
12
+ from datetime import datetime
13
+ from pathlib import Path
14
+ from typing import Any, Dict, List
15
+
16
+ # Import module components
17
+ from .modules.documentation_manager import DocumentationManager
18
+ from .modules.language_initializer import LanguageInitializer
19
+ from .modules.template_optimizer import TemplateOptimizer
20
+
21
+
22
+ class MoaiMenuProject:
23
+ """
24
+ Main interface for MoAI Menu Project integrated system.
25
+
26
+ Provides unified access to documentation management, language initialization,
27
+ and template optimization capabilities.
28
+ """
29
+
30
+ def __init__(self, project_root: str = None, config: Dict[str, Any] = None):
31
+ """
32
+ Initialize the MoAI Menu Project system.
33
+
34
+ Args:
35
+ project_root: Root directory of the project
36
+ config: Configuration dictionary
37
+ """
38
+
39
+ # Determine project root
40
+ if project_root is None:
41
+ project_root = Path.cwd()
42
+ else:
43
+ project_root = Path(project_root)
44
+
45
+ self.project_root = project_root
46
+
47
+ # Load or create configuration
48
+ if config is None:
49
+ config = self._load_or_create_config()
50
+
51
+ self.config = config
52
+
53
+ # Initialize modules
54
+ self.documentation_manager = DocumentationManager(str(project_root), config)
55
+ self.language_initializer = LanguageInitializer(str(project_root), config)
56
+ self.template_optimizer = TemplateOptimizer(str(project_root), config)
57
+
58
+ # System metadata
59
+ self.version = "1.0.0"
60
+ self.initialized_at = datetime.now()
61
+
62
+ def _load_or_create_config(self) -> Dict[str, Any]:
63
+ """Load existing configuration or create default."""
64
+
65
+ config_path = self.project_root / ".moai/config/config.json"
66
+
67
+ if config_path.exists():
68
+ try:
69
+ return json.loads(config_path.read_text(encoding="utf-8"))
70
+ except (json.JSONDecodeError, UnicodeDecodeError):
71
+ pass
72
+
73
+ # Create default configuration
74
+ default_config = {
75
+ "project": {
76
+ "name": "My Project",
77
+ "type": "web_application",
78
+ "initialized_at": datetime.now().isoformat(),
79
+ },
80
+ "language": {
81
+ "conversation_language": "en",
82
+ "conversation_language_name": "English",
83
+ "agent_prompt_language": "english",
84
+ "documentation_language": "en",
85
+ },
86
+ "user": {"name": "Developer", "selected_at": datetime.now().isoformat()},
87
+ "menu_system": {
88
+ "version": self.version,
89
+ "initialized_at": datetime.now().isoformat(),
90
+ },
91
+ }
92
+
93
+ # Ensure config directory exists
94
+ config_path.parent.mkdir(parents=True, exist_ok=True)
95
+
96
+ # Save default configuration
97
+ config_path.write_text(json.dumps(default_config, indent=2, ensure_ascii=False), encoding="utf-8")
98
+
99
+ return default_config
100
+
101
+ def initialize_complete_project(
102
+ self,
103
+ language: str = None,
104
+ user_name: str = None,
105
+ domains: List[str] = None,
106
+ project_type: str = None,
107
+ optimization_enabled: bool = True,
108
+ ) -> Dict[str, Any]:
109
+ """
110
+ Initialize complete project with all modules.
111
+
112
+ Args:
113
+ language: Primary language for the project
114
+ user_name: User name for personalization
115
+ domains: List of domains to enable
116
+ project_type: Type of project (web_application, mobile_application, etc.)
117
+ optimization_enabled: Whether to run template optimization
118
+
119
+ Returns:
120
+ Complete initialization results
121
+ """
122
+
123
+ initialization_result = {
124
+ "timestamp": datetime.now().isoformat(),
125
+ "project_root": str(self.project_root),
126
+ "modules_initialized": [],
127
+ "configuration_updates": {},
128
+ "created_files": [],
129
+ "optimization_results": None,
130
+ "success": True,
131
+ "errors": [],
132
+ }
133
+
134
+ try:
135
+ # Update project type if provided
136
+ if project_type:
137
+ self.config["project"]["type"] = project_type
138
+
139
+ # Step 1: Initialize language configuration
140
+ language_result = self.language_initializer.initialize_language_configuration(
141
+ language=language, user_name=user_name, domains=domains
142
+ )
143
+
144
+ initialization_result["modules_initialized"].append("language_initializer")
145
+ initialization_result["configuration_updates"]["language"] = language_result
146
+
147
+ # Step 2: Initialize documentation structure
148
+ docs_result = self.documentation_manager.initialize_documentation_structure()
149
+
150
+ initialization_result["modules_initialized"].append("documentation_manager")
151
+ initialization_result["configuration_updates"]["documentation"] = docs_result
152
+ initialization_result["created_files"].extend(docs_result.get("created_files", []))
153
+
154
+ # Step 3: Create multilingual documentation structure
155
+ multilingual_result = self.language_initializer.create_multilingual_documentation_structure(
156
+ language=language_result.get("language", "en")
157
+ )
158
+
159
+ initialization_result["configuration_updates"]["multilingual"] = multilingual_result
160
+ initialization_result["created_files"].extend(multilingual_result.get("created_directories", []))
161
+
162
+ # Step 4: Analyze and optimize templates (if enabled)
163
+ if optimization_enabled:
164
+ template_analysis = self.template_optimizer.analyze_project_templates()
165
+
166
+ # Apply optimizations if opportunities exist
167
+ optimization_opportunities = template_analysis.get("optimization_opportunities", [])
168
+ if optimization_opportunities:
169
+ optimization_result = self.template_optimizer.create_optimized_templates()
170
+ initialization_result["optimization_results"] = optimization_result
171
+
172
+ initialization_result["modules_initialized"].append("template_optimizer")
173
+ initialization_result["configuration_updates"]["template_analysis"] = template_analysis
174
+
175
+ # Step 5: Create benchmarks (optional)
176
+ if optimization_enabled:
177
+ benchmark_result = self.template_optimizer.benchmark_template_performance()
178
+ initialization_result["configuration_updates"]["benchmark"] = benchmark_result
179
+
180
+ # Update final configuration
181
+ self.config["menu_system"]["fully_initialized"] = True
182
+ self.config["menu_system"]["initialization_completed_at"] = datetime.now().isoformat()
183
+ self._save_config()
184
+
185
+ except Exception as e:
186
+ initialization_result["success"] = False
187
+ initialization_result["errors"].append(str(e))
188
+
189
+ return initialization_result
190
+
191
+ def generate_documentation_from_spec(self, spec_data: Dict[str, Any]) -> Dict[str, Any]:
192
+ """
193
+ Generate comprehensive documentation from SPEC data.
194
+
195
+ Args:
196
+ spec_data: SPEC specification data
197
+
198
+ Returns:
199
+ Documentation generation results
200
+ """
201
+
202
+ # Generate base documentation
203
+ docs_result = self.documentation_manager.generate_documentation_from_spec(spec_data)
204
+
205
+ # Localize documentation based on language settings
206
+ language = self.config.get("language", {}).get("conversation_language", "en")
207
+
208
+ if language != "en":
209
+ # Apply language-specific customizations
210
+ localized_docs = self._localize_documentation(docs_result, language)
211
+ docs_result["localized_documentation"] = localized_docs
212
+
213
+ return docs_result
214
+
215
+ def _localize_documentation(self, docs_result: Dict[str, Any], language: str) -> Dict[str, Any]:
216
+ """Localize documentation content based on language."""
217
+
218
+ # This would apply language-specific formatting, terminology, and structure
219
+ # Implementation would be more sophisticated in practice
220
+
221
+ localized_docs = {
222
+ "language": language,
223
+ "localization_applied": True,
224
+ "modified_sections": [],
225
+ }
226
+
227
+ return localized_docs
228
+
229
+ def optimize_project_templates(self, options: Dict[str, Any] = None) -> Dict[str, Any]:
230
+ """
231
+ Optimize project templates with advanced analysis.
232
+
233
+ Args:
234
+ options: Optimization options
235
+
236
+ Returns:
237
+ Template optimization results
238
+ """
239
+
240
+ # Analyze current templates
241
+ analysis = self.template_optimizer.analyze_project_templates()
242
+
243
+ # Apply optimizations based on analysis
244
+ optimization_result = self.template_optimizer.create_optimized_templates(options)
245
+
246
+ # Create benchmarks for comparison
247
+ benchmark_result = self.template_optimizer.benchmark_template_performance()
248
+
249
+ return {
250
+ "analysis": analysis,
251
+ "optimization": optimization_result,
252
+ "benchmark": benchmark_result,
253
+ "timestamp": datetime.now().isoformat(),
254
+ }
255
+
256
+ def update_language_settings(self, language_updates: Dict[str, Any]) -> Dict[str, Any]:
257
+ """
258
+ Update language configuration.
259
+
260
+ Args:
261
+ language_updates: Language configuration updates
262
+
263
+ Returns:
264
+ Update results
265
+ """
266
+
267
+ # Update language configuration
268
+ update_result = self.language_initializer.update_language_settings(language_updates)
269
+
270
+ if update_result.get("success"):
271
+ # Reload configuration
272
+ self.config = self._load_or_create_config()
273
+
274
+ # Update documentation language if changed
275
+ doc_lang = language_updates.get("language.documentation_language")
276
+ if doc_lang:
277
+ # Update documentation structure for new language
278
+ multilingual_result = self.language_initializer.create_multilingual_documentation_structure(doc_lang)
279
+ update_result["documentation_updated"] = multilingual_result
280
+
281
+ return update_result
282
+
283
+ def get_project_status(self) -> Dict[str, Any]:
284
+ """
285
+ Get comprehensive project status.
286
+
287
+ Returns:
288
+ Project status and metrics
289
+ """
290
+
291
+ status = {
292
+ "timestamp": datetime.now().isoformat(),
293
+ "project_root": str(self.project_root),
294
+ "configuration": {
295
+ "project_name": self.config.get("project", {}).get("name", "Unknown"),
296
+ "project_type": self.config.get("project", {}).get("type", "unknown"),
297
+ "initialized_at": self.config.get("project", {}).get("initialized_at"),
298
+ "menu_system_version": self.config.get("menu_system", {}).get("version", "1.0.0"),
299
+ },
300
+ "modules": {
301
+ "documentation_manager": "initialized",
302
+ "language_initializer": "initialized",
303
+ "template_optimizer": "initialized",
304
+ },
305
+ "language_status": self.language_initializer.get_language_status(),
306
+ "documentation_status": self.documentation_manager.get_documentation_status(),
307
+ "template_analysis": None, # Will be populated on demand
308
+ }
309
+
310
+ # Check if fully initialized
311
+ status["fully_initialized"] = self.config.get("menu_system", {}).get("fully_initialized", False)
312
+
313
+ return status
314
+
315
+ def export_project_documentation(self, format_type: str = "markdown", language: str = None) -> Dict[str, Any]:
316
+ """
317
+ Export project documentation in specified format.
318
+
319
+ Args:
320
+ format_type: Export format (markdown, html, pdf)
321
+ language: Target language for export
322
+
323
+ Returns:
324
+ Export results
325
+ """
326
+
327
+ # Use specified language or default project language
328
+ if language is None:
329
+ language = self.config.get("language", {}).get("conversation_language", "en")
330
+
331
+ # Export documentation
332
+ export_result = self.documentation_manager.export_documentation(format_type)
333
+
334
+ # Apply language-specific customizations
335
+ export_result["language"] = language
336
+ export_result["localized"] = language != "en"
337
+
338
+ return export_result
339
+
340
+ def create_project_backup(self, backup_name: str = None) -> Dict[str, Any]:
341
+ """
342
+ Create comprehensive project backup.
343
+
344
+ Args:
345
+ backup_name: Name for the backup
346
+
347
+ Returns:
348
+ Backup creation results
349
+ """
350
+
351
+ if backup_name is None:
352
+ backup_name = f"project-backup-{datetime.now().strftime('%Y-%m-%d-%H-%M-%S')}"
353
+
354
+ backup_result = {
355
+ "backup_name": backup_name,
356
+ "timestamp": datetime.now().isoformat(),
357
+ "components": {},
358
+ }
359
+
360
+ # Backup templates
361
+ template_backup = self.template_optimizer._create_template_backup(f"{backup_name}-templates")
362
+ backup_result["components"]["templates"] = template_backup
363
+
364
+ # Backup configuration
365
+ config_backup_path = self.project_root / ".moai-backups" / backup_name / "config.json"
366
+ config_backup_path.parent.mkdir(parents=True, exist_ok=True)
367
+ config_backup_path.write_text(json.dumps(self.config, indent=2, ensure_ascii=False), encoding="utf-8")
368
+
369
+ backup_result["components"]["configuration"] = {
370
+ "success": True,
371
+ "backup_path": str(config_backup_path),
372
+ }
373
+
374
+ # Backup documentation if exists
375
+ docs_dir = self.project_root / "docs"
376
+ if docs_dir.exists():
377
+ import shutil
378
+
379
+ docs_backup_path = self.project_root / ".moai-backups" / backup_name / "docs"
380
+ if docs_backup_path.exists():
381
+ shutil.rmtree(docs_backup_path)
382
+ shutil.copytree(docs_dir, docs_backup_path)
383
+
384
+ backup_result["components"]["documentation"] = {
385
+ "success": True,
386
+ "backup_path": str(docs_backup_path),
387
+ }
388
+
389
+ backup_result["success"] = all(
390
+ component.get("success", False) for component in backup_result["components"].values()
391
+ )
392
+
393
+ return backup_result
394
+
395
+ def _save_config(self):
396
+ """Save current configuration to file."""
397
+
398
+ config_path = self.project_root / ".moai/config/config.json"
399
+ config_path.parent.mkdir(parents=True, exist_ok=True)
400
+
401
+ config_path.write_text(json.dumps(self.config, indent=2, ensure_ascii=False), encoding="utf-8")
402
+
403
+ def get_integration_matrix(self) -> Dict[str, Any]:
404
+ """
405
+ Get module integration matrix and workflow.
406
+
407
+ Returns:
408
+ Integration information and workflows
409
+ """
410
+
411
+ return {
412
+ "modules": {
413
+ "documentation_manager": {
414
+ "description": "Manages project documentation generation and maintenance",
415
+ "integrates_with": ["language_initializer"],
416
+ "output_formats": ["markdown", "html", "pdf"],
417
+ "key_features": [
418
+ "template-based generation",
419
+ "multilingual support",
420
+ "SPEC integration",
421
+ ],
422
+ },
423
+ "language_initializer": {
424
+ "description": "Handles language detection, configuration, and localization",
425
+ "integrates_with": ["documentation_manager"],
426
+ "supported_languages": ["en", "ko", "ja", "zh"],
427
+ "key_features": [
428
+ "auto-detection",
429
+ "locale management",
430
+ "agent prompt localization",
431
+ ],
432
+ },
433
+ "template_optimizer": {
434
+ "description": "Analyzes and optimizes project templates for performance",
435
+ "integrates_with": [],
436
+ "optimization_types": ["size", "performance", "complexity"],
437
+ "key_features": [
438
+ "automated analysis",
439
+ "backup creation",
440
+ "benchmarking",
441
+ ],
442
+ },
443
+ },
444
+ "workflows": {
445
+ "project_initialization": [
446
+ "language_initializer.initialize_language_configuration()",
447
+ "documentation_manager.initialize_documentation_structure()",
448
+ "language_initializer.create_multilingual_documentation_structure()",
449
+ "template_optimizer.analyze_project_templates()",
450
+ "template_optimizer.create_optimized_templates()",
451
+ ],
452
+ "documentation_generation": [
453
+ "language_initializer.detect_project_language()",
454
+ "documentation_manager.generate_documentation_from_spec()",
455
+ "language_initializer.localize_agent_prompts()",
456
+ "documentation_manager.export_documentation()",
457
+ ],
458
+ "template_optimization": [
459
+ "template_optimizer.analyze_project_templates()",
460
+ "template_optimizer.create_optimized_templates()",
461
+ "template_optimizer.benchmark_template_performance()",
462
+ "template_optimizer._create_template_backup()",
463
+ ],
464
+ },
465
+ "data_flow": {
466
+ "configuration": "Shared across all modules via config.json",
467
+ "language_settings": "language_initializer → documentation_manager",
468
+ "template_analysis": "template_optimizer (independent)",
469
+ "documentation_output": "documentation_manager → multiple formats",
470
+ },
471
+ }
472
+
473
+
474
+ # Convenience functions for easy access
475
+ def initialize_project(project_root: str = None, **kwargs) -> Dict[str, Any]:
476
+ """
477
+ Convenience function to initialize a complete MoAI project.
478
+
479
+ Args:
480
+ project_root: Root directory of the project
481
+ **kwargs: Additional initialization parameters
482
+
483
+ Returns:
484
+ Initialization results
485
+ """
486
+
487
+ project = MoaiMenuProject(project_root)
488
+ return project.initialize_complete_project(**kwargs)
489
+
490
+
491
+ def generate_docs(spec_data: Dict[str, Any], project_root: str = None) -> Dict[str, Any]:
492
+ """
493
+ Convenience function to generate documentation from SPEC.
494
+
495
+ Args:
496
+ spec_data: SPEC specification data
497
+ project_root: Root directory of the project
498
+
499
+ Returns:
500
+ Documentation generation results
501
+ """
502
+
503
+ project = MoaiMenuProject(project_root)
504
+ return project.generate_documentation_from_spec(spec_data)
505
+
506
+
507
+ def optimize_templates(project_root: str = None, **options) -> Dict[str, Any]:
508
+ """
509
+ Convenience function to optimize project templates.
510
+
511
+ Args:
512
+ project_root: Root directory of the project
513
+ **options: Optimization options
514
+
515
+ Returns:
516
+ Template optimization results
517
+ """
518
+
519
+ project = MoaiMenuProject(project_root)
520
+ return project.optimize_project_templates(options)