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
@@ -438,9 +438,7 @@ class CommitTemplates:
438
438
  """Get template by commit type"""
439
439
  return self.templates.get(commit_type)
440
440
 
441
- def generate_from_template(
442
- self, template: CommitTemplate, scope: str, description: str
443
- ) -> Dict[str, Any]:
441
+ def generate_from_template(self, template: CommitTemplate, scope: str, description: str) -> Dict[str, Any]:
444
442
  """Generate commit from template"""
445
443
  import re
446
444
 
@@ -489,9 +487,7 @@ class CommitTemplates:
489
487
  category_stats[category.value] = len(templates)
490
488
 
491
489
  # Find most used types
492
- most_used_types = sorted(
493
- self.templates.items(), key=lambda x: len(x[1].examples), reverse=True
494
- )[:5]
490
+ most_used_types = sorted(self.templates.items(), key=lambda x: len(x[1].examples), reverse=True)[:5]
495
491
 
496
492
  return {
497
493
  "total_templates": total_templates,
@@ -521,10 +517,7 @@ class CommitTemplates:
521
517
  matching_templates = []
522
518
 
523
519
  for template in self.templates.values():
524
- if any(
525
- keyword.lower() in [k.lower() for k in template.keywords]
526
- for keyword in keywords
527
- ):
520
+ if any(keyword.lower() in [k.lower() for k in template.keywords] for keyword in keywords):
528
521
  matching_templates.append(template)
529
522
 
530
523
  return matching_templates
@@ -545,8 +538,7 @@ class CommitTemplates:
545
538
  for name, template in self.templates.items()
546
539
  },
547
540
  "categories": {
548
- category.value: [t.type for t in templates]
549
- for category, templates in self.categories.items()
541
+ category.value: [t.type for t in templates] for category, templates in self.categories.items()
550
542
  },
551
543
  }
552
544
 
@@ -0,0 +1,376 @@
1
+ """
2
+ Git Workflow Management Implementation (moai-foundation-git).
3
+
4
+ Provides:
5
+ - GitVersionDetector: Detect Git version and modern features
6
+ - ConventionalCommitValidator: Validate Conventional Commits format
7
+ - BranchingStrategySelector: Select appropriate branching strategy
8
+ - GitWorkflowManager: Manage Git workflow operations
9
+ - GitPerformanceOptimizer: Performance optimization recommendations
10
+
11
+ Reference: moai-foundation-git for enterprise Git workflows
12
+ """
13
+
14
+ import re
15
+ from dataclasses import dataclass, field
16
+ from typing import Dict, List, Optional
17
+
18
+
19
+ @dataclass
20
+ class GitInfo:
21
+ """Git version and feature information."""
22
+
23
+ version: str
24
+ supports_switch: bool = False
25
+ supports_worktree: bool = False
26
+ supports_sparse_checkout: bool = False
27
+ modern_features: List[str] = field(default_factory=list)
28
+
29
+
30
+ @dataclass
31
+ class ValidateResult:
32
+ """Conventional Commits validation result."""
33
+
34
+ is_valid: bool
35
+ commit_type: Optional[str] = None
36
+ scope: Optional[str] = None
37
+ subject: Optional[str] = None
38
+ errors: List[str] = field(default_factory=list)
39
+ is_breaking_change: bool = False
40
+ suggestions: List[str] = field(default_factory=list)
41
+
42
+
43
+ @dataclass
44
+ class TDDCommitPhase:
45
+ """TDD commit phase information."""
46
+
47
+ phase_name: str # "RED", "GREEN", or "REFACTOR"
48
+ commit_type: str # "test", "feat", "refactor"
49
+ description: str
50
+ test_status: str # "failing", "passing", or "optimizing"
51
+
52
+
53
+ class GitVersionDetector:
54
+ """Detects Git version and supported modern features."""
55
+
56
+ MODERN_FEATURES = {
57
+ "switch": (2, 40), # git switch - alternative to checkout
58
+ "restore": (2, 40), # git restore - alternative to checkout
59
+ "worktree": (2, 30), # git worktree - parallel development
60
+ "sparse-checkout": (2, 25), # git sparse-checkout - monorepo optimization
61
+ "partial-clone": (2, 24), # --filter for partial clones
62
+ }
63
+
64
+ def detect(self, version_string: str) -> GitInfo:
65
+ """Detect Git version from version string."""
66
+ match = re.search(r"git version ([\d.]+)", version_string)
67
+ if not match:
68
+ return GitInfo(version="unknown")
69
+
70
+ version = match.group(1)
71
+ parts = [int(x) for x in version.split(".")[:2]] # major.minor
72
+ major = parts[0]
73
+ minor = parts[1] if len(parts) > 1 else 0
74
+
75
+ # Determine supported features
76
+ modern_features = []
77
+ supports_switch = False
78
+ supports_worktree = False
79
+ supports_sparse = False
80
+
81
+ for feature, (req_major, req_minor) in self.MODERN_FEATURES.items():
82
+ if major > req_major or (major == req_major and minor >= req_minor):
83
+ modern_features.append(feature)
84
+ if feature == "switch":
85
+ supports_switch = True
86
+ elif feature == "worktree":
87
+ supports_worktree = True
88
+ elif feature == "sparse-checkout":
89
+ supports_sparse = True
90
+
91
+ return GitInfo(
92
+ version=version,
93
+ supports_switch=supports_switch,
94
+ supports_worktree=supports_worktree,
95
+ supports_sparse_checkout=supports_sparse,
96
+ modern_features=modern_features,
97
+ )
98
+
99
+ def get_recommended_commands(self, git_info: GitInfo) -> Dict[str, str]:
100
+ """Get recommended commands based on Git version."""
101
+ commands = {}
102
+
103
+ if git_info.supports_switch:
104
+ commands["create_branch"] = "git switch -c branch-name"
105
+ commands["switch_branch"] = "git switch branch-name"
106
+ else:
107
+ commands["create_branch"] = "git checkout -b branch-name"
108
+ commands["switch_branch"] = "git checkout branch-name"
109
+
110
+ if git_info.supports_sparse_checkout:
111
+ commands["sparse_clone"] = "git clone --sparse repo.git"
112
+
113
+ if git_info.supports_worktree:
114
+ commands["parallel_work"] = "git worktree add ../dir branch-name"
115
+
116
+ return commands
117
+
118
+
119
+ class ConventionalCommitValidator:
120
+ """Validates Conventional Commits 2025 format."""
121
+
122
+ VALID_TYPES = {
123
+ "feat": "New feature",
124
+ "fix": "Bug fix",
125
+ "docs": "Documentation",
126
+ "style": "Code style (no logic change)",
127
+ "refactor": "Code refactoring",
128
+ "perf": "Performance improvement",
129
+ "test": "Test updates",
130
+ "chore": "Build/dependencies/tooling",
131
+ }
132
+
133
+ def validate(self, message: str) -> ValidateResult:
134
+ """Validate Conventional Commits format."""
135
+ lines = message.strip().split("\n")
136
+ first_line = lines[0]
137
+
138
+ # Check for breaking change indicator
139
+ is_breaking = "!" in first_line
140
+ if any("BREAKING CHANGE:" in line for line in lines):
141
+ is_breaking = True
142
+
143
+ # Validate format: type(scope): subject
144
+ pattern = r"^(feat|fix|docs|style|refactor|perf|test|chore)(\(.+?\))?(!)?:\s+.+$"
145
+ match = re.match(pattern, first_line)
146
+
147
+ if not match:
148
+ return ValidateResult(
149
+ is_valid=False,
150
+ errors=[
151
+ "Invalid Conventional Commits format",
152
+ "Expected: type(scope): subject",
153
+ f"Got: {first_line[:50]}...",
154
+ ],
155
+ suggestions=[
156
+ "Use one of: feat, fix, docs, style, refactor, perf, test, chore",
157
+ "Add scope in parentheses: feat(auth): ...",
158
+ "Use lowercase with clear description",
159
+ ],
160
+ )
161
+
162
+ # Extract components
163
+ type_match = re.match(r"^(\w+)(\((.+?)\))?(!)?", first_line)
164
+ if not type_match:
165
+ return ValidateResult(is_valid=False, errors=["Could not parse commit message"])
166
+
167
+ commit_type = type_match.group(1)
168
+ scope = type_match.group(3) if type_match.group(3) else None
169
+
170
+ # Extract subject (everything after ': ')
171
+ subject_match = re.search(r":\s+(.+)$", first_line)
172
+ subject = subject_match.group(1) if subject_match else None
173
+
174
+ return ValidateResult(
175
+ is_valid=True,
176
+ commit_type=commit_type,
177
+ scope=scope,
178
+ subject=subject,
179
+ is_breaking_change=is_breaking,
180
+ )
181
+
182
+ def validate_batch(self, messages: List[str]) -> Dict[str, ValidateResult]:
183
+ """Validate multiple commit messages."""
184
+ return {msg: self.validate(msg) for msg in messages}
185
+
186
+
187
+ class BranchingStrategySelector:
188
+ """Selects appropriate branching strategy for project."""
189
+
190
+ STRATEGIES = {
191
+ "feature_branch": {
192
+ "name": "Feature Branch",
193
+ "description": "Create feature branches, use PRs for review",
194
+ "best_for": ["Teams", "High-risk changes", "Code review required"],
195
+ "commands": [
196
+ "git switch -c feature/SPEC-001",
197
+ "gh pr create --base develop",
198
+ "gh pr merge --squash --auto",
199
+ ],
200
+ },
201
+ "direct_commit": {
202
+ "name": "Direct Commit",
203
+ "description": "Commit directly to main/develop branch",
204
+ "best_for": ["Solo developers", "Low-risk changes", "Rapid prototyping"],
205
+ "commands": [
206
+ "git switch develop",
207
+ "git commit -m 'feat: ...'",
208
+ "git push origin develop",
209
+ ],
210
+ },
211
+ "per_spec": {
212
+ "name": "Per-SPEC Choice",
213
+ "description": "Decide strategy for each SPEC",
214
+ "best_for": ["Hybrid workflows", "Mixed team projects"],
215
+ "commands": ["Flexible based on SPEC requirements"],
216
+ },
217
+ }
218
+
219
+ def select_strategy(self, team_size: int, risk_level: str, need_review: bool) -> str:
220
+ """Select branching strategy based on parameters."""
221
+ # Feature branch for teams, risky changes, or review requirements
222
+ if team_size > 1 or risk_level == "high" or need_review:
223
+ return "feature_branch"
224
+
225
+ # Direct commit for solo developers with low risk
226
+ if team_size == 1 and risk_level in ["low", "medium"] and not need_review:
227
+ return "direct_commit"
228
+
229
+ # Default to flexible per-SPEC choice
230
+ return "per_spec"
231
+
232
+ def get_strategy_details(self, strategy: str) -> Dict:
233
+ """Get details about a strategy."""
234
+ return self.STRATEGIES.get(strategy, {})
235
+
236
+
237
+ class GitWorkflowManager:
238
+ """Manages Git workflow operations for SPEC-first TDD."""
239
+
240
+ TDD_PHASES = {
241
+ "RED": {
242
+ "commit_type": "test",
243
+ "description": "Write failing tests",
244
+ "tests_status": "failing",
245
+ },
246
+ "GREEN": {
247
+ "commit_type": "feat",
248
+ "description": "Implement to pass tests",
249
+ "tests_status": "passing",
250
+ },
251
+ "REFACTOR": {
252
+ "commit_type": "refactor",
253
+ "description": "Optimize implementation",
254
+ "tests_status": "passing",
255
+ },
256
+ }
257
+
258
+ def create_branch_command(self, branch_name: str, use_modern: bool = True) -> str:
259
+ """Create branch creation command."""
260
+ if use_modern:
261
+ return f"git switch -c {branch_name}"
262
+ return f"git checkout -b {branch_name}"
263
+
264
+ def format_tdd_commit(self, commit_type: str, scope: str, subject: str, phase: str) -> str:
265
+ """Format TDD phase commit message."""
266
+ base_msg = f"{commit_type}({scope}): {subject}"
267
+
268
+ # Add phase indicator
269
+ phase_indicators = {
270
+ "RED": "(RED phase)",
271
+ "GREEN": "(GREEN phase)",
272
+ "REFACTOR": "(REFACTOR phase)",
273
+ }
274
+
275
+ phase_indicator = phase_indicators.get(phase, f"({phase})")
276
+ return f"{base_msg} {phase_indicator}"
277
+
278
+ def get_workflow_commands(self, strategy: str, spec_id: str) -> List[str]:
279
+ """Get workflow commands for strategy."""
280
+ commands = []
281
+
282
+ if strategy == "feature_branch":
283
+ commands = [
284
+ f"git switch -c feature/{spec_id}",
285
+ "# RED phase: git commit -m 'test(...): add tests'",
286
+ "# GREEN phase: git commit -m 'feat(...): implement'",
287
+ "# REFACTOR phase: git commit -m 'refactor(...): optimize'",
288
+ "gh pr create --base develop --generate-description",
289
+ f"gh pr merge {spec_id} --auto --squash",
290
+ ]
291
+ elif strategy == "direct_commit":
292
+ commands = [
293
+ "git switch develop",
294
+ "# RED phase: git commit -m 'test(...): add tests'",
295
+ "# GREEN phase: git commit -m 'feat(...): implement'",
296
+ "# REFACTOR phase: git commit -m 'refactor(...): optimize'",
297
+ "git push origin develop",
298
+ ]
299
+
300
+ return commands
301
+
302
+
303
+ class GitPerformanceOptimizer:
304
+ """Provides Git performance optimization recommendations."""
305
+
306
+ PERFORMANCE_TIPS = {
307
+ "small": [
308
+ "Standard clone operations sufficient",
309
+ "Keep working directory clean",
310
+ "Regular garbage collection",
311
+ ],
312
+ "medium": [
313
+ "Enable MIDX for faster operations",
314
+ "Use shallow clones for CI/CD",
315
+ "Consider sparse-checkout for selective directories",
316
+ ],
317
+ "large": [
318
+ "Enable MIDX: git config --global gc.writeMultiPackIndex true",
319
+ "Use partial clones: git clone --filter=blob:none (81% smaller)",
320
+ "Use sparse-checkout for monorepo (70% faster clone)",
321
+ "Implement shallow clones for CI/CD: git clone --depth 100",
322
+ "Run: git repack -ad --write-midx for 38% performance improvement",
323
+ ],
324
+ }
325
+
326
+ OPTIMIZATION_CONFIGS = {
327
+ "midx": {
328
+ "name": "Multi-Pack Indexes (MIDX)",
329
+ "benefit": "38% faster repository operations",
330
+ "command": "git config --global gc.writeMultiPackIndex true",
331
+ },
332
+ "partial_clone": {
333
+ "name": "Partial Clones (Blob-less)",
334
+ "benefit": "81% smaller downloads",
335
+ "command": "git clone --filter=blob:none https://repo.git",
336
+ },
337
+ "sparse_checkout": {
338
+ "name": "Sparse Checkout",
339
+ "benefit": "70% faster clone for monorepos",
340
+ "command": "git clone --sparse && git sparse-checkout init --cone",
341
+ },
342
+ "shallow_clone": {
343
+ "name": "Shallow Clones",
344
+ "benefit": "73% smaller initial download",
345
+ "command": "git clone --depth 100 https://repo.git",
346
+ },
347
+ }
348
+
349
+ def get_tips_for_repo_size(self, size: str) -> List[str]:
350
+ """Get performance tips for repository size."""
351
+ return self.PERFORMANCE_TIPS.get(size, [])
352
+
353
+ def get_optimization_configs(self) -> Dict:
354
+ """Get all optimization configurations."""
355
+ return self.OPTIMIZATION_CONFIGS
356
+
357
+ def get_recommended_optimizations(self, repo_size: str) -> List[str]:
358
+ """Get recommended optimizations for repo size."""
359
+ if repo_size == "large":
360
+ return ["midx", "partial_clone", "sparse_checkout"]
361
+ elif repo_size == "medium":
362
+ return ["midx", "shallow_clone"]
363
+ return []
364
+
365
+
366
+ # Export public API
367
+ __all__ = [
368
+ "GitInfo",
369
+ "ValidateResult",
370
+ "TDDCommitPhase",
371
+ "GitVersionDetector",
372
+ "ConventionalCommitValidator",
373
+ "BranchingStrategySelector",
374
+ "GitWorkflowManager",
375
+ "GitPerformanceOptimizer",
376
+ ]