moai-adk 0.15.1__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 (699) hide show
  1. moai_adk/__init__.py +2 -6
  2. moai_adk/__main__.py +136 -21
  3. moai_adk/cli/__init__.py +6 -2
  4. moai_adk/cli/commands/__init__.py +1 -4
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +17 -5
  7. moai_adk/cli/commands/init.py +105 -47
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +8 -13
  10. moai_adk/cli/commands/update.py +1734 -65
  11. moai_adk/cli/main.py +3 -2
  12. moai_adk/cli/prompts/init_prompts.py +144 -91
  13. moai_adk/cli/spec_status.py +263 -0
  14. moai_adk/cli/ui/__init__.py +44 -0
  15. moai_adk/cli/ui/progress.py +422 -0
  16. moai_adk/cli/ui/prompts.py +389 -0
  17. moai_adk/cli/ui/theme.py +129 -0
  18. moai_adk/cli/worktree/__init__.py +27 -0
  19. moai_adk/cli/worktree/__main__.py +31 -0
  20. moai_adk/cli/worktree/cli.py +672 -0
  21. moai_adk/cli/worktree/exceptions.py +89 -0
  22. moai_adk/cli/worktree/manager.py +490 -0
  23. moai_adk/cli/worktree/models.py +65 -0
  24. moai_adk/cli/worktree/registry.py +128 -0
  25. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  26. moai_adk/core/__init__.py +0 -1
  27. moai_adk/core/analysis/__init__.py +9 -0
  28. moai_adk/core/analysis/session_analyzer.py +400 -0
  29. moai_adk/core/claude_integration.py +393 -0
  30. moai_adk/core/command_helpers.py +270 -0
  31. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  32. moai_adk/core/config/__init__.py +6 -0
  33. moai_adk/core/config/auto_spec_config.py +340 -0
  34. moai_adk/core/config/migration.py +147 -16
  35. moai_adk/core/config/unified.py +436 -0
  36. moai_adk/core/context_manager.py +273 -0
  37. moai_adk/core/diagnostics/slash_commands.py +0 -1
  38. moai_adk/core/enterprise_features.py +1404 -0
  39. moai_adk/core/error_recovery_system.py +1902 -0
  40. moai_adk/core/event_driven_hook_system.py +1371 -0
  41. moai_adk/core/git/__init__.py +8 -1
  42. moai_adk/core/git/branch.py +0 -1
  43. moai_adk/core/git/branch_manager.py +2 -10
  44. moai_adk/core/git/checkpoint.py +1 -7
  45. moai_adk/core/git/commit.py +0 -1
  46. moai_adk/core/git/conflict_detector.py +413 -0
  47. moai_adk/core/git/event_detector.py +3 -5
  48. moai_adk/core/git/manager.py +91 -2
  49. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  50. moai_adk/core/input_validation_middleware.py +1006 -0
  51. moai_adk/core/integration/__init__.py +22 -0
  52. moai_adk/core/integration/engine.py +157 -0
  53. moai_adk/core/integration/integration_tester.py +226 -0
  54. moai_adk/core/integration/models.py +88 -0
  55. moai_adk/core/integration/utils.py +211 -0
  56. moai_adk/core/issue_creator.py +20 -28
  57. moai_adk/core/jit_context_loader.py +956 -0
  58. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  59. moai_adk/core/language_config.py +202 -0
  60. moai_adk/core/language_config_resolver.py +485 -0
  61. moai_adk/core/language_validator.py +543 -0
  62. moai_adk/core/mcp/setup.py +116 -0
  63. moai_adk/core/merge/__init__.py +9 -0
  64. moai_adk/core/merge/analyzer.py +481 -0
  65. moai_adk/core/migration/__init__.py +18 -0
  66. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  67. moai_adk/core/migration/backup_manager.py +277 -0
  68. moai_adk/core/migration/custom_element_scanner.py +358 -0
  69. moai_adk/core/migration/file_migrator.py +209 -0
  70. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  71. moai_adk/core/migration/selective_restorer.py +470 -0
  72. moai_adk/core/migration/template_utils.py +74 -0
  73. moai_adk/core/migration/user_selection_ui.py +338 -0
  74. moai_adk/core/migration/version_detector.py +139 -0
  75. moai_adk/core/migration/version_migrator.py +228 -0
  76. moai_adk/core/performance/__init__.py +6 -0
  77. moai_adk/core/performance/cache_system.py +316 -0
  78. moai_adk/core/performance/parallel_processor.py +116 -0
  79. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  80. moai_adk/core/project/__init__.py +0 -1
  81. moai_adk/core/project/backup_utils.py +2 -7
  82. moai_adk/core/project/checker.py +2 -4
  83. moai_adk/core/project/detector.py +17 -39
  84. moai_adk/core/project/initializer.py +170 -33
  85. moai_adk/core/project/phase_executor.py +398 -68
  86. moai_adk/core/project/validator.py +7 -32
  87. moai_adk/core/quality/__init__.py +1 -1
  88. moai_adk/core/quality/trust_checker.py +37 -101
  89. moai_adk/core/quality/validators/__init__.py +1 -1
  90. moai_adk/core/quality/validators/base_validator.py +1 -1
  91. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  92. moai_adk/core/robust_json_parser.py +611 -0
  93. moai_adk/core/rollback_manager.py +918 -0
  94. moai_adk/core/session_manager.py +651 -0
  95. moai_adk/core/skill_loading_system.py +579 -0
  96. moai_adk/core/spec/confidence_scoring.py +680 -0
  97. moai_adk/core/spec/ears_template_engine.py +1247 -0
  98. moai_adk/core/spec/quality_validator.py +687 -0
  99. moai_adk/core/spec_status_manager.py +478 -0
  100. moai_adk/core/template/__init__.py +0 -1
  101. moai_adk/core/template/backup.py +82 -17
  102. moai_adk/core/template/config.py +112 -40
  103. moai_adk/core/template/languages.py +0 -1
  104. moai_adk/core/template/merger.py +75 -26
  105. moai_adk/core/template/processor.py +750 -72
  106. moai_adk/core/template_engine.py +90 -48
  107. moai_adk/core/template_variable_synchronizer.py +417 -0
  108. moai_adk/core/unified_permission_manager.py +745 -0
  109. moai_adk/core/user_behavior_analytics.py +851 -0
  110. moai_adk/core/version_sync.py +429 -0
  111. moai_adk/foundation/__init__.py +56 -0
  112. moai_adk/foundation/backend.py +1027 -0
  113. moai_adk/foundation/database.py +1115 -0
  114. moai_adk/foundation/devops.py +1585 -0
  115. moai_adk/foundation/ears.py +431 -0
  116. moai_adk/foundation/frontend.py +870 -0
  117. moai_adk/foundation/git/commit_templates.py +557 -0
  118. moai_adk/foundation/git.py +376 -0
  119. moai_adk/foundation/langs.py +484 -0
  120. moai_adk/foundation/ml_ops.py +1162 -0
  121. moai_adk/foundation/testing.py +1524 -0
  122. moai_adk/foundation/trust/trust_principles.py +676 -0
  123. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  124. moai_adk/project/__init__.py +0 -0
  125. moai_adk/project/configuration.py +1084 -0
  126. moai_adk/project/documentation.py +566 -0
  127. moai_adk/project/schema.py +447 -0
  128. moai_adk/statusline/__init__.py +38 -0
  129. moai_adk/statusline/alfred_detector.py +105 -0
  130. moai_adk/statusline/config.py +373 -0
  131. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  132. moai_adk/statusline/git_collector.py +190 -0
  133. moai_adk/statusline/main.py +264 -0
  134. moai_adk/statusline/metrics_tracker.py +78 -0
  135. moai_adk/statusline/renderer.py +383 -0
  136. moai_adk/statusline/update_checker.py +129 -0
  137. moai_adk/statusline/version_reader.py +741 -0
  138. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  139. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  140. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  141. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  142. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  143. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  144. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  145. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  146. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  147. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  148. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  149. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  150. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  151. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  152. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  153. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  154. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  155. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  156. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  157. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  158. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  159. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  160. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  161. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  162. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  163. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  164. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  165. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  166. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  167. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  168. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  169. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  170. moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/checkpoint.py +9 -36
  171. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  172. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  173. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  179. moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/project.py +63 -44
  180. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  181. moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/timeout.py +40 -16
  182. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  183. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  184. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  185. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  186. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  187. moai_adk/templates/.claude/settings.json +78 -50
  188. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  189. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  190. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  191. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  192. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  193. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  194. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +312 -283
  195. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +291 -94
  196. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  197. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  198. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  199. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  200. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +469 -101
  201. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  202. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  203. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  204. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  205. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  206. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  207. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  208. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  209. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  210. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  211. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  212. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  213. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  214. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  215. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  229. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  230. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  231. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  232. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  233. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  253. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  254. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  255. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  256. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  257. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  258. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  259. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  260. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  261. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  262. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  263. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  264. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  265. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  266. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  267. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  268. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  269. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  270. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  271. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  272. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  273. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  274. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  275. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  276. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  277. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  278. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  279. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  280. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  281. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  282. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  283. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  284. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  285. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  286. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  287. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  288. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  289. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  290. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  291. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  323. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  324. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  325. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  326. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  327. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  328. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  329. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  330. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  331. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  332. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  333. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  334. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  335. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  336. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  337. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  338. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  339. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  340. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  341. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  342. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  343. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  344. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  345. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  346. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  347. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  348. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  349. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  350. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  351. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  352. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  353. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  354. moai_adk/templates/.git-hooks/pre-commit +128 -0
  355. moai_adk/templates/.git-hooks/pre-push +220 -13
  356. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  357. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  358. moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
  359. moai_adk/templates/.gitignore +197 -13
  360. moai_adk/templates/.mcp.json +20 -0
  361. moai_adk/templates/.moai/cache/personalization.json +10 -0
  362. moai_adk/templates/.moai/config/config.yaml +344 -0
  363. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  364. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  365. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  366. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  367. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  368. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  369. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  370. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  371. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  372. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  373. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  374. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  375. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  376. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  377. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  378. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  379. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  380. moai_adk/templates/CLAUDE.md +310 -1050
  381. moai_adk/utils/__init__.py +24 -2
  382. moai_adk/utils/banner.py +7 -11
  383. moai_adk/utils/common.py +294 -0
  384. moai_adk/utils/link_validator.py +241 -0
  385. moai_adk/utils/logger.py +4 -9
  386. moai_adk/utils/safe_file_reader.py +206 -0
  387. moai_adk/{templates/.claude/hooks/alfred/utils → utils}/timeout.py +8 -9
  388. moai_adk/utils/toon_utils.py +256 -0
  389. moai_adk/version.py +22 -0
  390. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  391. moai_adk-0.32.8.dist-info/RECORD +396 -0
  392. {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  393. {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  394. moai_adk/cli/commands/backup.py +0 -80
  395. moai_adk/core/tags/__init__.py +0 -86
  396. moai_adk/core/tags/ci_validator.py +0 -463
  397. moai_adk/core/tags/cli.py +0 -283
  398. moai_adk/core/tags/generator.py +0 -109
  399. moai_adk/core/tags/inserter.py +0 -99
  400. moai_adk/core/tags/mapper.py +0 -126
  401. moai_adk/core/tags/parser.py +0 -76
  402. moai_adk/core/tags/pre_commit_validator.py +0 -393
  403. moai_adk/core/tags/reporter.py +0 -956
  404. moai_adk/core/tags/tags.py +0 -149
  405. moai_adk/core/tags/validator.py +0 -897
  406. moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
  407. moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
  408. moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
  409. moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
  410. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
  411. moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
  412. moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
  413. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
  414. moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
  415. moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
  416. moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
  417. moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
  418. moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
  419. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
  420. moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
  421. moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
  422. moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
  423. moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
  424. moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
  425. moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
  426. moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
  427. moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
  428. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
  429. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
  430. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
  431. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
  432. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
  433. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
  434. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
  435. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
  436. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
  437. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
  438. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
  439. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
  440. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
  441. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
  442. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
  443. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
  444. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
  445. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
  446. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
  447. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
  448. moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
  449. moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
  450. moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
  451. moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
  452. moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
  453. moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
  454. moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
  455. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
  456. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
  457. moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
  458. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
  459. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
  460. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
  461. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
  462. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
  463. moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
  464. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
  465. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
  466. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
  467. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
  468. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
  469. moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
  470. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
  471. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
  472. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
  473. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
  474. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
  475. moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
  476. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
  477. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
  478. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
  479. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
  480. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
  481. moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
  482. moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
  483. moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
  484. moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
  485. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
  486. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
  487. moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
  488. moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
  489. moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
  490. moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
  491. moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
  492. moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
  493. moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
  494. moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
  495. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
  496. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
  497. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
  498. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
  499. moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
  500. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
  501. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
  502. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
  503. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
  504. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
  505. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
  506. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
  507. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
  508. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
  509. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
  510. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
  511. moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
  512. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
  513. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
  514. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
  515. moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
  516. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
  517. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
  518. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
  519. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
  520. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
  521. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
  522. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
  523. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
  524. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
  525. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
  526. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
  527. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
  528. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
  529. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
  530. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
  531. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
  532. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
  533. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
  534. moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
  535. moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
  536. moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
  537. moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
  538. moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
  539. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
  540. moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
  541. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
  542. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
  543. moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
  544. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
  545. moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
  546. moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
  547. moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
  548. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
  549. moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
  550. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
  551. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
  552. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
  553. moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
  554. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
  555. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
  556. moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
  557. moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
  558. moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
  559. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
  560. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
  561. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
  562. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
  563. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
  564. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
  565. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
  566. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
  567. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
  568. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
  569. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
  570. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
  571. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
  572. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
  573. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
  574. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
  575. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
  576. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
  577. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
  578. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
  579. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
  580. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
  581. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
  582. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
  583. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
  584. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
  585. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
  586. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
  587. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
  588. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
  589. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
  590. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
  591. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
  592. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
  593. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
  594. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
  595. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
  596. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
  597. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
  598. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
  599. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
  600. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
  601. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
  602. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
  603. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
  604. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
  605. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
  606. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
  607. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
  608. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
  609. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
  610. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
  611. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
  612. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
  613. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
  614. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  615. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
  616. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
  617. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
  618. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
  619. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
  620. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
  621. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
  622. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
  623. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
  624. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
  625. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
  626. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
  627. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
  628. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
  629. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
  630. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
  631. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
  632. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
  633. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
  634. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
  635. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
  636. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
  637. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
  638. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
  639. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
  640. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
  641. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
  642. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
  643. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
  644. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
  645. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
  646. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
  647. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
  648. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
  649. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
  650. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
  651. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
  652. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
  653. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
  654. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
  655. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
  656. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
  657. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
  658. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
  659. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
  660. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
  661. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
  662. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
  663. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
  664. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
  665. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
  666. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
  667. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
  668. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
  669. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
  670. moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
  671. moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
  672. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
  673. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
  674. moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
  675. moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
  676. moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
  677. moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
  678. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
  679. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -419
  680. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  681. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  682. moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
  683. moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
  684. moai_adk/templates/.github/workflows/release.yml +0 -118
  685. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
  686. moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
  687. moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
  688. moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
  689. moai_adk/templates/.github/workflows/tag-report.yml +0 -269
  690. moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
  691. moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
  692. moai_adk/templates/.moai/config.json +0 -115
  693. moai_adk/templates/workflows/go-tag-validation.yml +0 -30
  694. moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
  695. moai_adk/templates/workflows/python-tag-validation.yml +0 -42
  696. moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
  697. moai_adk-0.15.1.dist-info/METADATA +0 -3094
  698. moai_adk-0.15.1.dist-info/RECORD +0 -365
  699. {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,982 @@
1
+ # Integration Patterns Module
2
+
3
+ Purpose: Comprehensive integration patterns for moai-worktree with MoAI-ADK workflow, development tools, and external systems.
4
+
5
+ Version: 1.0.0
6
+ Last Updated: 2025-11-29
7
+
8
+ ---
9
+
10
+ ## Quick Reference (30 seconds)
11
+
12
+ Integration Points:
13
+ - MoAI-ADK Workflow: Seamless integration with `/moai:1-plan`, `/moai:2-run`, `/moai:3-sync`
14
+ - Development Tools: IDEs, editors, terminal emulators, and development servers
15
+ - Git Workflows: Branch management, CI/CD pipelines, and code review processes
16
+ - Team Collaboration: Shared worktrees, code sharing, and coordination patterns
17
+
18
+ Core Integration Pattern:
19
+ ```bash
20
+ # Plan Phase - Automatic worktree creation
21
+ /moai:1-plan "User Authentication" → auto-creates SPEC-001 worktree
22
+
23
+ # Development Phase - Isolated development
24
+ cd $(moai-worktree go SPEC-001)
25
+ /moai:2-run SPEC-001
26
+
27
+ # Sync Phase - Clean integration
28
+ moai-worktree sync SPEC-001
29
+ /moai:3-sync SPEC-001
30
+ ```
31
+
32
+ ---
33
+
34
+ ## MoAI-ADK Workflow Integration
35
+
36
+ ### Plan Phase Integration (`/moai:1-plan`)
37
+
38
+ Automatic Worktree Creation:
39
+
40
+ ```python
41
+ # Integration in /moai:1-plan command
42
+ def create_worktree_after_spec(spec_id: str, spec_title: str) -> None:
43
+ """Create worktree automatically after SPEC creation."""
44
+
45
+ try:
46
+ # Create worktree with automatic branching
47
+ branch_name = f"feature/SPEC-{spec_id}-{spec_title.lower().replace(' ', '-')}"
48
+
49
+ result = subprocess.run([
50
+ "moai-worktree", "new", spec_id, spec_title,
51
+ "--branch", branch_name,
52
+ "--template", "spec-development"
53
+ ], capture_output=True, text=True)
54
+
55
+ if result.returncode == 0:
56
+ print(f" Created worktree: {spec_id}")
57
+ print(f" Branch: {branch_name}")
58
+ print(f" Path: {extract_worktree_path(result.stdout)}")
59
+
60
+ print("\nNext steps:")
61
+ print(f"1. Switch to worktree: moai-worktree switch {spec_id}")
62
+ print(f"2. Or use shell eval: eval $(moai-worktree go {spec_id})")
63
+ print(f"3. Start development: /moai:2-run {spec_id}")
64
+ else:
65
+ print(f" Worktree creation failed: {result.stderr}")
66
+
67
+ except Exception as e:
68
+ print(f" Error creating worktree: {e}")
69
+
70
+ # Enhanced /moai:1-plan output with worktree information
71
+ def display_worktree_integration_info(spec_id: str, spec_title: str) -> None:
72
+ """Display comprehensive worktree integration guidance."""
73
+
74
+ print(f"""
75
+ Worktree Integration for SPEC-{spec_id}
76
+
77
+ Worktree Information:
78
+ SPEC ID: {spec_id}
79
+ Title: {spec_title}
80
+ Branch: feature/SPEC-{spec_id}-{spec_title.lower().replace(' ', '-')}
81
+ Path: ~/workflows/{os.path.basename(os.getcwd())}/SPEC-{spec_id}
82
+
83
+ Quick Start Options:
84
+ 1. Switch to worktree: moai-worktree switch SPEC-{spec_id}
85
+ 2. Shell integration: eval $(moai-worktree go SPEC-{spec_id})
86
+ 3. Start development: cd $(moai-worktree go SPEC-{spec_id}) && /moai:2-run SPEC-{spec_id}
87
+
88
+ Development Workflow:
89
+ Phase 1: SPEC created
90
+ Phase 2: → Worktree ready for development
91
+ Phase 3: → Implement with /moai:2-run
92
+ Phase 4: → Sync with /moai:3-sync
93
+ Phase 5: → Clean up with moai-worktree clean
94
+
95
+ Advanced Options:
96
+ • Create with custom template: moai-worktree new {spec_id} "{spec_title}" --template <template>
97
+ • Create from develop branch: moai-worktree new {spec_id} "{spec_title}" --base develop
98
+ • Create with shallow clone: moai-worktree new {spec_id} "{spec_title}" --shallow
99
+ """)
100
+ ```
101
+
102
+ Template-Based SPEC Development:
103
+
104
+ ```python
105
+ # SPEC development template configuration
106
+ SPEC_DEVELOPMENT_TEMPLATE = {
107
+ "setup_commands": [
108
+ "echo 'Setting up SPEC development environment...'",
109
+ "npm run setup:spec 2>/dev/null || echo 'No npm setup required'",
110
+ "python -m pip install -r requirements-dev.txt 2>/dev/null || echo 'No Python requirements'",
111
+ "echo 'Environment ready for SPEC development'"
112
+ ],
113
+ "files": {
114
+ ".spec-config": """
115
+ # SPEC Development Configuration
116
+ SPEC_ID={spec_id}
117
+ SPEC_TITLE={spec_title}
118
+ DEV_MODE=spec
119
+ LOG_LEVEL=debug
120
+ """,
121
+ ".vscode/tasks.json": """{
122
+ "version": "2.0.0",
123
+ "tasks": [
124
+ {{
125
+ "label": "Run SPEC Tests",
126
+ "type": "shell",
127
+ "command": "/moai:2-run {spec_id}",
128
+ "group": "test",
129
+ "presentation": {{
130
+ "echo": true,
131
+ "reveal": "always",
132
+ "focus": false,
133
+ "panel": "shared"
134
+ }}
135
+ }}
136
+ ]
137
+ }}"""
138
+ },
139
+ "env_vars": {
140
+ "SPEC_MODE": "true",
141
+ "DEVELOPMENT_SPEC": spec_id,
142
+ "SPEC_BRANCH": f"feature/SPEC-{spec_id}"
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### Development Phase Integration (`/moai:2-run`)
148
+
149
+ Worktree-Aware TDD Implementation:
150
+
151
+ ```python
152
+ # Enhanced manager-tdd for worktree environments
153
+ class WorktreeAwareTDDManager:
154
+ def __init__(self, spec_id: str):
155
+ self.spec_id = spec_id
156
+ self.worktree_path = self._detect_worktree_path()
157
+ self.is_worktree_env = self._is_in_worktree()
158
+
159
+ def _detect_worktree_path(self) -> Optional[Path]:
160
+ """Detect if running in worktree environment."""
161
+ current_path = Path.cwd()
162
+
163
+ # Check if current directory is a worktree
164
+ if current_path.name.startswith("SPEC-"):
165
+ return current_path
166
+
167
+ # Check if parent is worktrees directory
168
+ if "worktrees" in current_path.parts:
169
+ for i, part in enumerate(current_path.parts):
170
+ if part == "worktrees" and i + 1 < len(current_path.parts):
171
+ spec_part = current_path.parts[i + 1]
172
+ if spec_part.startswith("SPEC-"):
173
+ return current_path / spec_part
174
+
175
+ return None
176
+
177
+ def execute_tdd_in_worktree(self) -> TDDResult:
178
+ """Execute TDD cycle in worktree context."""
179
+
180
+ if not self.is_worktree_env:
181
+ print(f" Not in worktree environment. Consider running in worktree:")
182
+ print(f" moai-worktree switch {self.spec_id}")
183
+ print(f" or: eval $(moai-worktree go {self.spec_id})")
184
+
185
+ # TDD execution with worktree awareness
186
+ result = self._run_tdd_cycle()
187
+
188
+ # Update worktree metadata
189
+ if self.worktree_path:
190
+ self._update_worktree_metadata(result)
191
+
192
+ return result
193
+
194
+ def _update_worktree_metadata(self, tdd_result: TDDResult) -> None:
195
+ """Update worktree metadata after TDD execution."""
196
+
197
+ try:
198
+ # Update registry with TDD results
199
+ subprocess.run([
200
+ "moai-worktree", "config", "set",
201
+ f"last_tdd_result.{self.spec_id}",
202
+ json.dumps(tdd_result.to_dict())
203
+ ], check=False)
204
+
205
+ # Update last access time
206
+ subprocess.run([
207
+ "moai-worktree", "status", self.spec_id, "--update-access"
208
+ ], check=False)
209
+
210
+ except Exception as e:
211
+ print(f" Failed to update worktree metadata: {e}")
212
+ ```
213
+
214
+ ### Sync Phase Integration (`/moai:3-sync`)
215
+
216
+ Automated Worktree Synchronization:
217
+
218
+ ```python
219
+ # Enhanced /moai:3-sync with worktree integration
220
+ class WorktreeSyncManager:
221
+ def sync_spec_with_worktree(self, spec_id: str) -> SyncResult:
222
+ """Synchronize SPEC development with main repository."""
223
+
224
+ # Check if worktree exists
225
+ worktree_info = self._get_worktree_info(spec_id)
226
+ if not worktree_info:
227
+ print(f" No worktree found for {spec_id}")
228
+ print(f" Create with: moai-worktree new {spec_id}")
229
+ return SyncResult(skipped=True, reason="No worktree")
230
+
231
+ # Sync worktree with base branch
232
+ print(f" Syncing worktree {spec_id}...")
233
+
234
+ try:
235
+ sync_result = subprocess.run([
236
+ "moai-worktree", "sync", spec_id,
237
+ "--auto-resolve",
238
+ "--include", "src/", "docs/", "tests/"
239
+ ], capture_output=True, text=True)
240
+
241
+ if sync_result.returncode == 0:
242
+ print(f" Worktree {spec_id} synchronized successfully")
243
+
244
+ # Continue with regular sync process
245
+ return self._perform_regular_sync(spec_id, worktree_info)
246
+ else:
247
+ print(f" Worktree sync failed: {sync_result.stderr}")
248
+ return SyncResult(success=False, error=sync_result.stderr)
249
+
250
+ except Exception as e:
251
+ print(f" Error syncing worktree: {e}")
252
+ return SyncResult(success=False, error=str(e))
253
+
254
+ def _perform_regular_sync(self, spec_id: str, worktree_info: dict) -> SyncResult:
255
+ """Perform regular documentation sync after worktree sync."""
256
+
257
+ # Collect changes from worktree
258
+ worktree_path = worktree_info['path']
259
+
260
+ # Extract documentation updates
261
+ docs_updates = self._extract_documentation_updates(worktree_path)
262
+
263
+ # Generate updated documentation
264
+ updated_docs = self._generate_updated_documentation(spec_id, docs_updates)
265
+
266
+ # Create pull request if needed
267
+ if worktree_info.get('git_info', {}).get('commits_ahead', 0) > 0:
268
+ self._create_pull_request_for_spec(spec_id, worktree_info)
269
+
270
+ return SyncResult(
271
+ success=True,
272
+ worktree_synced=True,
273
+ documentation_updated=updated_docs
274
+ )
275
+ ```
276
+
277
+ ### Automated Cleanup Integration
278
+
279
+ Post-PR Cleanup Workflow:
280
+
281
+ ```python
282
+ # Automatic cleanup after successful integration
283
+ def cleanup_completed_spec(spec_id: str, merge_status: str) -> None:
284
+ """Clean up worktree after successful SPEC integration."""
285
+
286
+ if merge_status == "merged":
287
+ print(f" SPEC {spec_id} successfully merged!")
288
+
289
+ # Offer cleanup options
290
+ cleanup_choice = input("""
291
+ Clean up worktree options:
292
+ 1. Remove worktree (recommended)
293
+ 2. Keep worktree for reference
294
+ 3. Archive worktree
295
+ 4. Skip cleanup
296
+
297
+ Choice [1-4]: """)
298
+
299
+ if cleanup_choice == "1":
300
+ # Remove worktree
301
+ result = subprocess.run([
302
+ "moai-worktree", "remove", spec_id, "--force"
303
+ ], capture_output=True, text=True)
304
+
305
+ if result.returncode == 0:
306
+ print(f" Worktree {spec_id} removed successfully")
307
+ else:
308
+ print(f" Error removing worktree: {result.stderr}")
309
+
310
+ elif cleanup_choice == "3":
311
+ # Archive worktree
312
+ archive_path = f"~/workflows/archives/{spec_id}-{datetime.now().strftime('%Y%m%d')}"
313
+ subprocess.run([
314
+ "moai-worktree", "remove", spec_id, "--backup"
315
+ ], capture_output=True, text=True)
316
+
317
+ print(f" Worktree {spec_id} archived to {archive_path}")
318
+
319
+ # Update registry
320
+ subprocess.run([
321
+ "moai-worktree", "config", "set",
322
+ f"completed_specs.{spec_id}", json.dumps({
323
+ "merged_at": datetime.utcnow().isoformat(),
324
+ "cleanup_action": cleanup_choice
325
+ })
326
+ ], check=False)
327
+ ```
328
+
329
+ ---
330
+
331
+ ## Development Tools Integration
332
+
333
+ ### IDE Integration
334
+
335
+ VS Code Multi-Root Workspace:
336
+
337
+ ```json
338
+ // .vscode/workspaces.json - Auto-generated
339
+ {
340
+ "version": "0.1.0",
341
+ "folders": [
342
+ {
343
+ "name": "Main Repository",
344
+ "path": "."
345
+ }
346
+ ],
347
+ "extensions": {
348
+ "recommendations": [
349
+ "ms-vscode.vscode-typescript-next",
350
+ "ms-python.python",
351
+ "bradlc.vscode-tailwindcss"
352
+ ]
353
+ },
354
+ "launch": {
355
+ "version": "0.2.0",
356
+ "configurations": []
357
+ }
358
+ }
359
+ ```
360
+
361
+ Dynamic Workspace Generator:
362
+
363
+ ```python
364
+ # generate_vscode_workspace.py
365
+ def generate_workspace_with_worktrees():
366
+ """Generate VS Code workspace including all active worktrees."""
367
+
368
+ worktrees = get_active_worktrees()
369
+ workspace_config = {
370
+ "version": "0.1.0",
371
+ "folders": [
372
+ {
373
+ "name": "Main Repository",
374
+ "path": "."
375
+ }
376
+ ],
377
+ "extensions": {
378
+ "recommendations": get_workspace_extensions()
379
+ },
380
+ "launch": {
381
+ "version": "0.2.0",
382
+ "configurations": []
383
+ },
384
+ "tasks": {
385
+ "version": "2.0.0",
386
+ "tasks": []
387
+ }
388
+ }
389
+
390
+ # Add worktree folders
391
+ for worktree in worktrees:
392
+ workspace_config["folders"].append({
393
+ "name": f"SPEC-{worktree['id']}",
394
+ "path": worktree['path']
395
+ })
396
+
397
+ # Add worktree-specific tasks
398
+ workspace_config["tasks"]["tasks"].extend(
399
+ generate_worktree_tasks(worktree)
400
+ )
401
+
402
+ # Write workspace file
403
+ with open(".vscode/workspaces.json", "w") as f:
404
+ json.dump(workspace_config, f, indent=2)
405
+
406
+ print(" VS Code workspace updated with worktrees")
407
+
408
+ def generate_worktree_tasks(worktree: dict) -> List[dict]:
409
+ """Generate VS Code tasks for specific worktree."""
410
+
411
+ spec_id = worktree['id']
412
+ worktree_path = worktree['path']
413
+
414
+ return [
415
+ {
416
+ "label": f"Run SPEC-{spec_id} Tests",
417
+ "type": "shell",
418
+ "command": f"cd {worktree_path} && /moai:2-run {spec_id}",
419
+ "group": "test",
420
+ "presentation": {
421
+ "echo": true,
422
+ "reveal": "always",
423
+ "focus": false,
424
+ "panel": "shared"
425
+ }
426
+ },
427
+ {
428
+ "label": f"Sync SPEC-{spec_id}",
429
+ "type": "shell",
430
+ "command": f"moai-worktree sync {spec_id}",
431
+ "group": "build"
432
+ },
433
+ {
434
+ "label": f"Switch to SPEC-{spec_id}",
435
+ "type": "shell",
436
+ "command": f"moai-worktree switch {spec_id}",
437
+ "group": "navigation"
438
+ }
439
+ ]
440
+ ```
441
+
442
+ ### Terminal Integration
443
+
444
+ Enhanced Shell Profile:
445
+
446
+ ```bash
447
+ # ~/.bashrc or ~/.zshrc - Worktree integration
448
+
449
+ # Worktree completion
450
+ _moai_worktree_completion() {
451
+ local worktrees=($(moai-worktree list --format json 2>/dev/null | jq -r '.worktrees[].id' 2>/dev/null))
452
+ COMPREPLY=($(compgen -W "${worktrees[*]}" "${COMP_WORDS[COMP_CWORD]}"))
453
+ }
454
+
455
+ complete -F _moai_worktree_completion moai-worktree
456
+
457
+ # Worktree-aware prompt
458
+ update_prompt_with_worktree() {
459
+ if [ -f "../.moai-worktree-registry.json" ]; then
460
+ local spec_id=$(basename $(pwd) 2>/dev/null | grep '^SPEC-' || echo "")
461
+ if [ -n "$spec_id" ]; then
462
+ export WORKTREE_SPEC=$spec_id
463
+ export PS1="\[\033[36m\]$spec_id\[\033[0m\]:$PS1"
464
+ fi
465
+ else
466
+ unset WORKTREE_SPEC
467
+ fi
468
+ }
469
+
470
+ PROMPT_COMMAND=update_prompt_with_worktree
471
+
472
+ # Worktree navigation aliases
473
+ alias mw='moai-worktree'
474
+ alias mwl='moai-worktree list'
475
+ alias mws='moai-worktree switch'
476
+ alias mwg='eval $(moai-worktree go'
477
+ alias mwsync='moai-worktree sync'
478
+ alias mwclean='moai-worktree clean'
479
+
480
+ # Quick worktree functions
481
+ mwnew() {
482
+ local spec_id="$1"
483
+ local description="$2"
484
+ moai-worktree new "$spec_id" "$description"
485
+ moai-worktree switch "$spec_id"
486
+ }
487
+
488
+ mwdev() {
489
+ local spec_id="$1"
490
+ moai-worktree switch "$spec_id"
491
+ /moai:2-run "$spec_id"
492
+ }
493
+
494
+ mwpush() {
495
+ local spec_id="${1:-$WORKTREE_SPEC}"
496
+ if [ -n "$spec_id" ]; then
497
+ moai-worktree sync "$spec_id"
498
+ cd $(moai-worktree go "$spec_id")
499
+ git push origin "feature/SPEC-$spec_id"
500
+ else
501
+ echo "No SPEC ID provided or detected"
502
+ fi
503
+ }
504
+ ```
505
+
506
+ ### Git Integration
507
+
508
+ Enhanced Git Hooks:
509
+
510
+ ```bash
511
+ # .git/hooks/post-checkout
512
+ #!/bin/bash
513
+ echo "Post-checkout hook: Checking worktree status"
514
+
515
+ # Check if we're in a worktree
516
+ if [ -f "../.moai-worktree-registry.json" ]; then
517
+ SPEC_ID=$(basename $(pwd))
518
+ echo "Switched to worktree: $SPEC_ID"
519
+
520
+ # Update last access time
521
+ moai-worktree status "$SPEC_ID" --update-access 2>/dev/null || true
522
+
523
+ # Check if sync is needed
524
+ SYNC_STATUS=$(moai-worktree status "$SPEC_ID" --sync-check 2>/dev/null || echo "unknown")
525
+ if echo "$SYNC_STATUS" | grep -q "needs sync"; then
526
+ echo " Worktree needs synchronization"
527
+ echo " Run: moai-worktree sync $SPEC_ID"
528
+ fi
529
+
530
+ # Load worktree-specific environment
531
+ if [ -f ".worktree-env" ]; then
532
+ echo "Loading worktree environment..."
533
+ source .worktree-env
534
+ fi
535
+ fi
536
+
537
+ # .git/hooks/pre-push
538
+ #!/bin/bash
539
+ echo "Pre-push hook: Validating worktree state"
540
+
541
+ # Check if we're pushing from a worktree
542
+ if [ -f "../.moai-worktree-registry.json" ]; then
543
+ SPEC_ID=$(basename $(pwd))
544
+ echo "Pushing from worktree: $SPEC_ID"
545
+
546
+ # Check for uncommitted changes
547
+ if ! git diff --quiet || ! git diff --cached --quiet; then
548
+ echo " Uncommitted changes detected"
549
+ echo " Commit changes before pushing or use --force"
550
+ exit 1
551
+ fi
552
+
553
+ # Check if worktree is synced with base
554
+ SYNC_STATUS=$(moai-worktree status "$SPEC_ID" --sync-check 2>/dev/null || echo "unknown")
555
+ if echo "$SYNC_STATUS" | grep -q "behind"; then
556
+ echo " Worktree is behind base branch"
557
+ echo " Run: moai-worktree sync $SPEC_ID"
558
+ echo " Continue anyway? (y/N)"
559
+ read -r response
560
+ if [[ ! "$response" =~ ^[Yy]$ ]]; then
561
+ exit 1
562
+ fi
563
+ fi
564
+
565
+ # Update worktree metadata
566
+ moai-worktree config set "last_push.$SPEC_ID" "$(date -Iseconds)" 2>/dev/null || true
567
+ fi
568
+ ```
569
+
570
+ ---
571
+
572
+ ## Team Collaboration Integration
573
+
574
+ ### Shared Worktree Patterns
575
+
576
+ Team Worktree Registry:
577
+
578
+ ```python
579
+ # Shared registry configuration
580
+ class TeamWorktreeRegistry:
581
+ def __init__(self, team_name: str, shared_registry_path: str):
582
+ self.team_name = team_name
583
+ self.shared_registry_path = Path(shared_registry_path)
584
+ self.local_registry_path = Path.home() / "worktrees" / team_name / ".moai-worktree-registry.json"
585
+
586
+ def sync_with_team_registry(self) -> None:
587
+ """Synchronize local registry with team shared registry."""
588
+
589
+ try:
590
+ # Fetch latest team registry
591
+ if self.shared_registry_path.exists():
592
+ team_registry = self.load_registry(self.shared_registry_path)
593
+ local_registry = self.load_registry(self.local_registry_path)
594
+
595
+ # Merge registries
596
+ merged_registry = self.merge_registries(team_registry, local_registry)
597
+
598
+ # Save merged registry
599
+ self.save_registry(merged_registry, self.local_registry_path)
600
+
601
+ print(f" Synced with team registry: {self.team_name}")
602
+
603
+ except Exception as e:
604
+ print(f" Failed to sync with team registry: {e}")
605
+
606
+ def share_worktree_with_team(self, spec_id: str, share_config: dict) -> None:
607
+ """Share worktree configuration with team."""
608
+
609
+ # Update team registry
610
+ team_registry = self.load_registry(self.shared_registry_path)
611
+
612
+ worktree_info = team_registry['worktrees'].get(spec_id, {})
613
+ worktree_info.update({
614
+ 'shared_with': share_config.get('team_members', []),
615
+ 'share_level': share_config.get('level', 'read-only'),
616
+ 'shared_at': datetime.utcnow().isoformat(),
617
+ 'shared_by': os.getenv('USER', 'unknown')
618
+ })
619
+
620
+ team_registry['worktrees'][spec_id] = worktree_info
621
+ self.save_registry(team_registry, self.shared_registry_path)
622
+
623
+ print(f" Worktree {spec_id} shared with team")
624
+ ```
625
+
626
+ Collaborative Development Workflow:
627
+
628
+ ```bash
629
+ # Team collaboration script
630
+ collaborative_development() {
631
+ local spec_id="$1"
632
+ local team_members="$2" # Comma-separated list
633
+
634
+ echo "Setting up collaborative development for $spec_id..."
635
+
636
+ # Create shared worktree
637
+ moai-worktree new "$spec_id" "Team Collaborative Development" --template collaborative
638
+
639
+ # Configure team access
640
+ IFS=',' read -ra MEMBERS <<< "$team_members"
641
+ for member in "${MEMBERS[@]}"; do
642
+ moai-worktree config set "team_access.$spec_id.$member" "read-write"
643
+ echo " Granted read-write access to $member"
644
+ done
645
+
646
+ # Create shared configuration
647
+ cd $(moai-worktree go "$spec_id")
648
+
649
+ cat > .team-config << EOF
650
+ team_members: [$(echo "$team_members" | sed 's/,/, /g')]
651
+ collaboration_mode: active
652
+ shared_branch: feature/SPEC-$spec_id-collaborative
653
+ review_required: true
654
+ EOF
655
+
656
+ echo " Team collaboration setup completed"
657
+ echo "Team members can now join with:"
658
+ echo " moai-worktree join $spec_id --team-member <name>"
659
+ }
660
+ ```
661
+
662
+ ---
663
+
664
+ ## External System Integration
665
+
666
+ ### CI/CD Pipeline Integration
667
+
668
+ GitHub Actions Worktree Integration:
669
+
670
+ ```yaml
671
+ # .github/workflows/worktree-integration.yml
672
+ name: Worktree Integration CI
673
+
674
+ on:
675
+ push:
676
+ branches: [ "feature/SPEC-*" ]
677
+ pull_request:
678
+ branches: [ "main", "develop" ]
679
+
680
+ jobs:
681
+ detect-spec:
682
+ runs-on: ubuntu-latest
683
+ outputs:
684
+ spec-id: ${{ steps.spec.outputs.id }}
685
+ spec-title: ${{ steps.spec.outputs.title }}
686
+ is-worktree-branch: ${{ steps.spec.outputs.is-worktree }}
687
+ steps:
688
+ - uses: actions/checkout@v3
689
+
690
+ - name: Detect SPEC information
691
+ id: spec
692
+ run: |
693
+ if [[ "${{ github.ref }}" == refs/heads/feature/SPEC-* ]]; then
694
+ SPEC_ID=$(echo "${{ github.ref }}" | sed 's/.*feature\/SPEC-\([0-9]*\).*/SPEC-\1/')
695
+ SPEC_TITLE=$(echo "${{ github.ref }}" | sed 's/.*feature\/SPEC-[0-9]*-\(.*\)/\1/')
696
+ echo "id=$SPEC_ID" >> $GITHUB_OUTPUT
697
+ echo "title=$SPEC_TITLE" >> $GITHUB_OUTPUT
698
+ echo "is-worktree=true" >> $GITHUB_OUTPUT
699
+ else
700
+ echo "id=none" >> $GITHUB_OUTPUT
701
+ echo "title=none" >> $GITHUB_OUTPUT
702
+ echo "is-worktree=false" >> $GITHUB_OUTPUT
703
+ fi
704
+
705
+ worktree-tests:
706
+ needs: detect-spec
707
+ if: needs.detect-spec.outputs.is-worktree == 'true'
708
+ runs-on: ubuntu-latest
709
+ strategy:
710
+ matrix:
711
+ test-type: [unit, integration, e2e]
712
+ steps:
713
+ - uses: actions/checkout@v3
714
+ with:
715
+ fetch-depth: 0
716
+
717
+ - name: Setup worktree environment
718
+ run: |
719
+ SPEC_ID="${{ needs.detect-spec.outputs.spec-id }}"
720
+ echo "Setting up worktree for $SPEC_ID"
721
+
722
+ # Create worktree directory structure
723
+ mkdir -p ./worktrees/$SPEC_ID
724
+
725
+ # Checkout worktree branch
726
+ git checkout "feature/SPEC-${SPEC_ID#SPEC-}-*" 2>/dev/null || git checkout main
727
+
728
+ # Copy source files to simulate worktree
729
+ mkdir -p ./worktrees/$SPEC_ID/src
730
+ cp -r src/* ./worktrees/$SPEC_ID/src/
731
+
732
+ # Setup test environment
733
+ cd ./worktrees/$SPEC_ID
734
+
735
+ if [ -f "../requirements.txt" ]; then
736
+ pip install -r ../requirements.txt
737
+ fi
738
+
739
+ if [ -f "../package.json" ]; then
740
+ npm install
741
+ fi
742
+
743
+ - name: Run ${{ matrix.test-type }} tests
744
+ run: |
745
+ cd ./worktrees/${{ needs.detect-spec.outputs.spec-id }}
746
+
747
+ case "${{ matrix.test-type }}" in
748
+ unit)
749
+ python -m pytest tests/unit/ -v || npm test -- --coverage
750
+ ;;
751
+ integration)
752
+ python -m pytest tests/integration/ -v || npm run test:integration
753
+ ;;
754
+ e2e)
755
+ npm run test:e2e || python -m pytest tests/e2e/ -v
756
+ ;;
757
+ esac
758
+
759
+ - name: Upload test results
760
+ uses: actions/upload-artifact@v3
761
+ if: always()
762
+ with:
763
+ name: test-results-${{ matrix.test-type }}-${{ needs.detect-spec.outputs.spec-id }}
764
+ path: |
765
+ ./worktrees/${{ needs.detect-spec.outputs.spec-id }}/test-results/
766
+ ./worktrees/${{ needs.detect-spec.outputs.spec-id }}/coverage/
767
+ ```
768
+
769
+ ### Monitoring and Analytics Integration
770
+
771
+ Worktree Usage Analytics:
772
+
773
+ ```python
774
+ # Worktree analytics collector
775
+ class WorktreeAnalytics:
776
+ def __init__(self, registry_path: Path):
777
+ self.registry_path = registry_path
778
+
779
+ def collect_usage_metrics(self) -> dict:
780
+ """Collect comprehensive usage metrics."""
781
+
782
+ registry = self.load_registry()
783
+ worktrees = registry.get('worktrees', {})
784
+
785
+ metrics = {
786
+ 'timestamp': datetime.utcnow().isoformat(),
787
+ 'total_worktrees': len(worktrees),
788
+ 'active_worktrees': len([w for w in worktrees.values() if w.get('status') == 'active']),
789
+ 'disk_usage': self.calculate_total_disk_usage(worktrees),
790
+ 'sync_frequency': self.calculate_sync_frequency(worktrees),
791
+ 'developer_activity': self.analyze_developer_activity(worktrees),
792
+ 'performance_metrics': self.collect_performance_metrics(worktrees)
793
+ }
794
+
795
+ return metrics
796
+
797
+ def export_analytics(self, output_format: str = 'json') -> str:
798
+ """Export analytics in specified format."""
799
+
800
+ metrics = self.collect_usage_metrics()
801
+
802
+ if output_format == 'json':
803
+ return json.dumps(metrics, indent=2)
804
+ elif output_format == 'csv':
805
+ return self.convert_to_csv(metrics)
806
+ elif output_format == 'prometheus':
807
+ return self.convert_to_prometheus(metrics)
808
+ else:
809
+ raise ValueError(f"Unsupported format: {output_format}")
810
+
811
+ def send_to_monitoring_system(self, metrics: dict) -> None:
812
+ """Send metrics to external monitoring system."""
813
+
814
+ # Example: Send to Prometheus Pushgateway
815
+ import requests
816
+
817
+ pushgateway_url = os.getenv('PROMETHEUS_PUSHGATEWAY_URL')
818
+ if pushgateway_url:
819
+ try:
820
+ response = requests.post(
821
+ f"{pushgateway_url}/metrics/job/worktree-analytics",
822
+ data=self.convert_to_prometheus(metrics),
823
+ headers={'Content-Type': 'text/plain'}
824
+ )
825
+
826
+ if response.status_code == 200:
827
+ print(" Metrics sent to monitoring system")
828
+ else:
829
+ print(f" Failed to send metrics: {response.status_code}")
830
+
831
+ except Exception as e:
832
+ print(f" Error sending metrics: {e}")
833
+ ```
834
+
835
+ ---
836
+
837
+ ## Performance Optimization
838
+
839
+ ### Resource Management Integration
840
+
841
+ Intelligent Resource Allocation:
842
+
843
+ ```python
844
+ # Resource manager for parallel worktree operations
845
+ class WorktreeResourceManager:
846
+ def __init__(self):
847
+ self.cpu_count = os.cpu_count()
848
+ self.memory_gb = self.get_available_memory_gb()
849
+ self.max_concurrent_worktrees = min(self.cpu_count, 4)
850
+
851
+ def optimize_parallel_operations(self, worktrees: List[str]) -> List[str]:
852
+ """Optimize worktree operations based on available resources."""
853
+
854
+ # Sort worktrees by priority and size
855
+ prioritized_worktrees = self.prioritize_worktrees(worktrees)
856
+
857
+ # Group worktrees for parallel execution
858
+ operation_groups = self.group_worktrees_for_parallel_execution(
859
+ prioritized_worktrees
860
+ )
861
+
862
+ return operation_groups
863
+
864
+ def execute_with_resource_limits(self, operations: List[Callable]) -> List[Any]:
865
+ """Execute operations with resource limits."""
866
+
867
+ import concurrent.futures
868
+
869
+ results = []
870
+
871
+ with concurrent.futures.ThreadPoolExecutor(
872
+ max_workers=self.max_concurrent_worktrees
873
+ ) as executor:
874
+ # Submit all operations
875
+ future_to_operation = {
876
+ executor.submit(op): op for op in operations
877
+ }
878
+
879
+ # Collect results as they complete
880
+ for future in concurrent.futures.as_completed(future_to_operation):
881
+ operation = future_to_operation[future]
882
+ try:
883
+ result = future.result()
884
+ results.append(result)
885
+ except Exception as e:
886
+ print(f" Operation failed: {e}")
887
+ results.append(None)
888
+
889
+ return results
890
+ ```
891
+
892
+ ---
893
+
894
+ ## Error Handling and Recovery
895
+
896
+ ### Integration Error Recovery
897
+
898
+ Comprehensive Error Handling:
899
+
900
+ ```python
901
+ # Integration error recovery system
902
+ class IntegrationErrorHandler:
903
+ def __init__(self):
904
+ self.error_log = []
905
+ self.recovery_strategies = {
906
+ 'worktree_not_found': self.recover_missing_worktree,
907
+ 'sync_conflict': self.recover_sync_conflict,
908
+ 'permission_denied': self.recover_permission_error,
909
+ 'disk_space': self.recover_disk_space_error,
910
+ 'network_error': self.recover_network_error
911
+ }
912
+
913
+ def handle_integration_error(self, error: Exception, context: dict) -> bool:
914
+ """Handle integration error with appropriate recovery strategy."""
915
+
916
+ error_type = self.classify_error(error)
917
+
918
+ if error_type in self.recovery_strategies:
919
+ try:
920
+ recovery_result = self.recovery_strategies[error_type](error, context)
921
+
922
+ if recovery_result.success:
923
+ print(f" Recovered from {error_type}: {recovery_result.message}")
924
+ return True
925
+ else:
926
+ print(f" Recovery failed for {error_type}: {recovery_result.message}")
927
+ return False
928
+
929
+ except Exception as recovery_error:
930
+ print(f" Recovery failed with exception: {recovery_error}")
931
+ return False
932
+ else:
933
+ print(f" No recovery strategy for error type: {error_type}")
934
+ return False
935
+
936
+ def recover_missing_worktree(self, error: Exception, context: dict) -> RecoveryResult:
937
+ """Recover from missing worktree error."""
938
+
939
+ spec_id = context.get('spec_id')
940
+ if not spec_id:
941
+ return RecoveryResult(success=False, message="No SPEC ID in context")
942
+
943
+ try:
944
+ # Offer to recreate worktree
945
+ print(f"Worktree {spec_id} not found. Recreating...")
946
+
947
+ # Attempt recreation with backup if available
948
+ backup_path = self.find_worktree_backup(spec_id)
949
+
950
+ if backup_path:
951
+ print(f"Found backup: {backup_path}")
952
+ restore_result = self.restore_worktree_from_backup(spec_id, backup_path)
953
+
954
+ if restore_result:
955
+ return RecoveryResult(
956
+ success=True,
957
+ message=f"Worktree {spec_id} restored from backup"
958
+ )
959
+
960
+ # Create new worktree
961
+ subprocess.run([
962
+ "moai-worktree", "new", spec_id,
963
+ "Auto-recreated after error"
964
+ ], check=True)
965
+
966
+ return RecoveryResult(
967
+ success=True,
968
+ message=f"Worktree {spec_id} recreated successfully"
969
+ )
970
+
971
+ except Exception as e:
972
+ return RecoveryResult(
973
+ success=False,
974
+ message=f"Failed to recreate worktree: {e}"
975
+ )
976
+ ```
977
+
978
+ ---
979
+
980
+ Version: 1.0.0
981
+ Last Updated: 2025-11-29
982
+ Module: Comprehensive integration patterns for moai-worktree with MoAI-ADK workflow, development tools, and external systems