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

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

Potentially problematic release.


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

Files changed (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,778 @@
1
+ # Parallel Development Module
2
+
3
+ Purpose: Advanced patterns and workflows for parallel SPEC development using isolated worktrees, enabling true concurrent development without context switching overhead.
4
+
5
+ Version: 1.0.0
6
+ Last Updated: 2025-11-29
7
+
8
+ ---
9
+
10
+ ## Quick Reference (30 seconds)
11
+
12
+ Parallel Development Benefits:
13
+ - Context Isolation: Each SPEC has independent Git state, files, and environment
14
+ - Zero Switching Cost: Instant switching between worktrees without loading/unloading
15
+ - Concurrent Development: Multiple SPECs developed simultaneously by single developer
16
+ - Safe Experimentation: Isolated environments prevent conflicts and contamination
17
+ - Clean Integration: Automatic sync and conflict resolution maintain code integrity
18
+
19
+ Core Workflow:
20
+ ```bash
21
+ # Create parallel environments
22
+ moai-worktree new SPEC-001 "User Authentication"
23
+ moai-worktree new SPEC-002 "Payment Gateway"
24
+ moai-worktree new SPEC-003 "Dashboard Analytics"
25
+
26
+ # Parallel development
27
+ cd $(moai-worktree go SPEC-001) && /moai:2-run SPEC-001 &
28
+ cd $(moai-worktree go SPEC-002) && /moai:2-run SPEC-002 &
29
+ cd $(moai-worktree go SPEC-003) && /moai:2-run SPEC-003 &
30
+
31
+ # Integration and sync
32
+ moai-worktree sync --all
33
+ moai-worktree clean --merged-only
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Parallel Development Architecture
39
+
40
+ ### Worktree Isolation Model
41
+
42
+ Complete Isolation Layers:
43
+
44
+ ```
45
+
46
+ Developer Machine
47
+
48
+ Main Repository (project_root/)
49
+ .git/
50
+ src/
51
+ docs/
52
+ .moai-worktree-registry.json
53
+
54
+ Worktree Root (~/workflows/project-name/)
55
+
56
+ SPEC-001/ ← Isolated Environment 1
57
+ .git/ ← Worktree Git metadata
58
+ src/ ← Complete project copy
59
+ .env.local ← Worktree-specific env vars
60
+ .vscode/ ← Worktree-specific IDE config
61
+
62
+ SPEC-002/ ← Isolated Environment 2
63
+ .git/
64
+ src/
65
+ node_modules/ ← Independent dependencies
66
+ build/ ← Independent build artifacts
67
+
68
+ SPEC-003/ ← Isolated Environment 3
69
+ .git/
70
+ src/
71
+ .venv/ ← Independent Python environment
72
+ test_results/ ← Independent test results
73
+
74
+ ```
75
+
76
+ Isolation Benefits:
77
+
78
+ 1. Git State Isolation: Each worktree has independent branch state, commits, and history
79
+ 2. File System Isolation: Complete project copy with independent modifications
80
+ 3. Dependency Isolation: Separate node_modules, .venv, and build artifacts
81
+ 4. Configuration Isolation: Worktree-specific .env, IDE settings, and tool configurations
82
+ 5. Process Isolation: Independent development servers, test runners, and build processes
83
+
84
+ ### Parallel Development Patterns
85
+
86
+ #### Pattern 1: Independent SPEC Development
87
+
88
+ Use Case: Multiple unrelated features developed simultaneously
89
+
90
+ ```bash
91
+ # Phase 1: Setup parallel environments
92
+ echo "Setting up parallel development environments..."
93
+
94
+ # Create worktrees for different feature areas
95
+ moai-worktree new SPEC-AUTH-001 "User Authentication System"
96
+ moai-worktree new SPEC-PAY-001 "Payment Gateway Integration"
97
+ moai-worktree new SPEC-DASH-001 "Analytics Dashboard"
98
+
99
+ # Phase 2: Initialize each environment
100
+ echo "Initializing development environments..."
101
+
102
+ # Setup authentication worktree
103
+ cd $(moai-worktree go SPEC-AUTH-001)
104
+ npm install
105
+ npm run setup:auth
106
+ npm run dev &
107
+ AUTH_PID=$!
108
+
109
+ # Setup payment worktree
110
+ cd $(moai-worktree go SPEC-PAY-001)
111
+ python -m venv venv
112
+ source venv/bin/activate
113
+ pip install -r requirements.txt
114
+ python manage.py migrate &
115
+ PAY_PID=$!
116
+
117
+ # Setup dashboard worktree
118
+ cd $(moai-worktree go SPEC-DASH-001)
119
+ yarn install
120
+ yarn build &
121
+ DASH_PID=$!
122
+
123
+ # Phase 3: Parallel development
124
+ echo "Starting parallel development..."
125
+
126
+ # Work on authentication in first terminal
127
+ moai-worktree switch SPEC-AUTH-001
128
+ /moai:2-run SPEC-AUTH-001
129
+
130
+ # Work on payment in second terminal (simultaneous)
131
+ moai-worktree switch SPEC-PAY-001
132
+ /moai:2-run SPEC-PAY-001
133
+
134
+ # Work on dashboard in third terminal (simultaneous)
135
+ moai-worktree switch SPEC-DASH-001
136
+ /moai:2-run SPEC-DASH-001
137
+
138
+ # Phase 4: Integration
139
+ echo "Integrating parallel development work..."
140
+
141
+ moai-worktree sync --all
142
+ /moai:3-sync --parallel SPEC-AUTH-001,SPEC-PAY-001,SPEC-DASH-001
143
+ ```
144
+
145
+ #### Pattern 2: Sequential Feature Development
146
+
147
+ Use Case: Features with dependencies, developed in sequence with overlap
148
+
149
+ ```bash
150
+ # Sequential development with preparation overlap
151
+ echo "Sequential development with preparation..."
152
+
153
+ # Step 1: Start foundation work (SPEC-FOUND-001)
154
+ moai-worktree new SPEC-FOUND-001 "Foundation Services"
155
+ cd $(moai-worktree go SPEC-FOUND-001)
156
+ /moai:2-run SPEC-FOUND-001
157
+
158
+ # Step 2: While foundation develops, prepare dependent feature
159
+ moai-worktree new SPEC-API-001 "API Layer" --base develop
160
+ cd $(moai-worktree go SPEC-API-001)
161
+ # Setup API structure, wait for foundation
162
+
163
+ # Step 3: Foundation complete → switch to API
164
+ moai-worktree switch SPEC-FOUND-001
165
+ # Complete foundation, merge to develop
166
+ git checkout develop
167
+ git merge feature/SPEC-FOUND-001-foundation-services
168
+ git push origin develop
169
+
170
+ # Step 4: API development with foundation available
171
+ moai-worktree switch SPEC-API-001
172
+ moai-worktree sync SPEC-API-001 # Get foundation changes
173
+ /moai:2-run SPEC-API-001
174
+
175
+ # Step 5: While API develops, prepare UI layer
176
+ moai-worktree new SPEC-UI-001 "User Interface" --base develop
177
+ cd $(moai-worktree go SPEC-UI-001)
178
+ # Setup UI structure, wait for API
179
+ ```
180
+
181
+ #### Pattern 3: Experiment-Production Parallel
182
+
183
+ Use Case: Experimental features alongside stable production work
184
+
185
+ ```bash
186
+ # Parallel experimental and production work
187
+ echo "Experimental and production parallel development..."
188
+
189
+ # Production worktree (stable)
190
+ moai-worktree new SPEC-PROD-001 "Production Bug Fixes" --base main
191
+ cd $(moai-worktree go SPEC-PROD-001)
192
+ # Stable production fixes
193
+
194
+ # Experimental worktree (innovative)
195
+ moai-worktree new SPEC-EXP-001 "Experimental Feature X" --base develop
196
+ cd $(moai-worktree go SPEC-EXP-001)
197
+ # Experimental development without affecting production
198
+
199
+ # Context switching for reviews
200
+ alias prod="cd \$(moai-worktree go SPEC-PROD-001)"
201
+ alias exp="cd \$(moai-worktree go SPEC-EXP-001)"
202
+
203
+ # Quick comparison
204
+ prod
205
+ git log --oneline -10
206
+ exp
207
+ git log --oneline -10
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Advanced Parallel Workflows
213
+
214
+ ### Multi-Developer Coordination
215
+
216
+ Team Parallel Development:
217
+
218
+ ```bash
219
+ # Developer A - Authentication worktree
220
+ moai-worktree new SPEC-AUTH-001 "User Authentication" --developer alice
221
+ cd $(moai-worktree go SPEC-AUTH-001)
222
+ /moai:2-run SPEC-AUTH-001
223
+
224
+ # Developer B - Payment worktree
225
+ moai-worktree new SPEC-PAY-001 "Payment Processing" --developer bob
226
+ cd $(moai-worktree go SPEC-PAY-001)
227
+ /moai:2-run SPEC-PAY-001
228
+
229
+ # Developer C - Integration worktree
230
+ moai-worktree new SPEC-INT-001 "Service Integration" --developer charlie
231
+ cd $(moai-worktree go SPEC-INT-001)
232
+ # Integrates AUTH and PAY services
233
+
234
+ # Team coordination commands
235
+ moai-worktree list --all-developers
236
+ moai-worktree status --team-overview
237
+ moai-worktree sync --all --parallel
238
+ ```
239
+
240
+ Conflict Prevention Strategies:
241
+
242
+ ```bash
243
+ # Pre-development coordination
244
+ echo "Setting up coordinated development..."
245
+
246
+ # Define integration points early
247
+ moai-worktree new SPEC-AUTH-001 "Authentication API" --base main
248
+ moai-worktree new SPEC-PAY-001 "Payment Service" --base main
249
+
250
+ # Create integration contract
251
+ cd $(moai-worktree go SPEC-AUTH-001)
252
+ mkdir -p contracts
253
+ echo '{"auth_endpoint": "/api/auth", "version": "1.0"}' > contracts/api.json
254
+
255
+ cd $(moai-worktree go SPEC-PAY-001)
256
+ mkdir -p contracts
257
+ echo '{"payment_endpoint": "/api/pay", "auth_required": true}' > contracts/api.json
258
+
259
+ # Shared integration worktree
260
+ moai-worktree new SPEC-INT-001 "Service Integration"
261
+ cd $(moai-worktree go SPEC-INT-001)
262
+ # Pulls contracts from AUTH and PAY worktrees
263
+ ```
264
+
265
+ ### Continuous Integration Parallel
266
+
267
+ CI/CD Pipeline Integration:
268
+
269
+ ```yaml
270
+ # .github/workflows/parallel-development.yml
271
+ name: Parallel Development CI
272
+
273
+ on:
274
+ push:
275
+ branches: [ "feature/SPEC-*" ]
276
+
277
+ jobs:
278
+ detect-worktree:
279
+ runs-on: ubuntu-latest
280
+ outputs:
281
+ spec-id: ${{ steps.detect.outputs.spec-id }}
282
+ worktree-type: ${{ steps.detect.outputs.worktree-type }}
283
+ steps:
284
+ - name: Detect SPEC and worktree type
285
+ id: detect
286
+ run: |
287
+ SPEC_ID=$(echo "${{ github.ref }}" | sed 's/.*feature\/SPEC-\([0-9]*\).*/SPEC-\1/')
288
+ WORKTREE_TYPE=$(echo "${{ github.ref }}" | sed 's/.*feature\/SPEC-[0-9]*-\(.*\)/\1/')
289
+ echo "spec-id=$SPEC_ID" >> $GITHUB_OUTPUT
290
+ echo "worktree-type=$WORKTREE_TYPE" >> $GITHUB_OUTPUT
291
+
292
+ test-worktree:
293
+ needs: detect-worktree
294
+ runs-on: ubuntu-latest
295
+ strategy:
296
+ matrix:
297
+ worktree-type: [auth, payment, dashboard]
298
+ steps:
299
+ - uses: actions/checkout@v3
300
+ with:
301
+ fetch-depth: 0
302
+
303
+ - name: Setup worktree environment
304
+ run: |
305
+ # Simulate worktree isolation
306
+ mkdir -p ./worktrees/${{ needs.detect-worktree.outputs.spec-id }}
307
+ cd ./worktrees/${{ needs.detect-worktree.outputs.spec-id }}
308
+
309
+ # Copy project structure
310
+ cp -r ../../src ./
311
+ cp -r ../../tests ./
312
+ cp -r ../../requirements.txt ./
313
+
314
+ # Setup environment based on worktree type
315
+ if [ "${{ matrix.worktree-type }}" = "auth" ]; then
316
+ pip install -r requirements-auth.txt
317
+ elif [ "${{ matrix.worktree-type }}" = "payment" ]; then
318
+ pip install -r requirements-payment.txt
319
+ fi
320
+
321
+ - name: Run worktree-specific tests
322
+ run: |
323
+ cd ./worktrees/${{ needs.detect-worktree.outputs.spec-id }}
324
+ python -m pytest tests/${{ matrix.worktree-type }}/ -v
325
+
326
+ sync-worktrees:
327
+ needs: [detect-worktree, test-worktree]
328
+ runs-on: ubuntu-latest
329
+ if: success()
330
+ steps:
331
+ - name: Sync worktrees
332
+ run: |
333
+ echo "All worktree tests passed for ${{ needs.detect-worktree.outputs.spec-id }}"
334
+ echo "Triggering worktree sync..."
335
+ # This would trigger worktree sync in development environment
336
+ ```
337
+
338
+ ### Performance Optimization for Parallel Development
339
+
340
+ Resource Management:
341
+
342
+ ```bash
343
+ # Resource-aware worktree management
344
+ echo "Optimizing for parallel development..."
345
+
346
+ # Lightweight worktrees for rapid iteration
347
+ moai-worktree new SPEC-PROTO-001 "Prototype" --shallow --depth 1
348
+ cd $(moai-worktree go SPEC-PROTO-001)
349
+ # Fast setup, minimal history
350
+
351
+ # Full worktrees for comprehensive development
352
+ moai-worktree new SPEC-FULL-001 "Complete Feature"
353
+ cd $(moai-worktree go SPEC-FULL-001)
354
+ # Full history, complete setup
355
+
356
+ # Background operations for parallel work
357
+ sync_all_background() {
358
+ for spec in $(moai-worktree list --status active --format json | jq -r '.worktrees[].id'); do
359
+ (moai-worktree sync "$spec" --background) &
360
+ done
361
+ wait
362
+ }
363
+
364
+ # Memory-efficient switching
365
+ quick_switch() {
366
+ local target_spec=$1
367
+ # Pre-load worktree metadata in background
368
+ (moai-worktree status "$target_spec" --quiet > /dev/null) &
369
+
370
+ # Switch immediately
371
+ moai-worktree switch "$target_spec"
372
+
373
+ # Background process completes metadata loading
374
+ wait
375
+ }
376
+ ```
377
+
378
+ Development Server Management:
379
+
380
+ ```bash
381
+ # Multi-server development environment
382
+ echo "Managing parallel development servers..."
383
+
384
+ # Start servers for each worktree
385
+ start_parallel_servers() {
386
+ local worktrees=($(moai-worktree list --status active --format json | jq -r '.worktrees[].id'))
387
+
388
+ for spec in "${worktrees[@]}"; do
389
+ (
390
+ echo "Starting server for $spec..."
391
+ cd $(moai-worktree go "$spec")
392
+
393
+ case $spec in
394
+ *AUTH*)
395
+ npm run dev:auth --port 3001 &
396
+ echo $! > .auth_server.pid
397
+ ;;
398
+ *PAY*)
399
+ python manage.py runserver --port 8002 &
400
+ echo $! > .payment_server.pid
401
+ ;;
402
+ *DASH*)
403
+ yarn start --port 3003 &
404
+ echo $! > .dashboard_server.pid
405
+ ;;
406
+ esac
407
+ ) &
408
+ done
409
+
410
+ wait
411
+ echo "All development servers started"
412
+ }
413
+
414
+ # Stop all servers
415
+ stop_parallel_servers() {
416
+ local worktrees=($(moai-worktree list --status active --format json | jq -r '.worktrees[].id'))
417
+
418
+ for spec in "${worktrees[@]}"; do
419
+ (
420
+ cd $(moai-worktree go "$spec")
421
+
422
+ # Kill servers by PID files
423
+ for pid_file in ./*_server.pid; do
424
+ if [ -f "$pid_file" ]; then
425
+ kill $(cat "$pid_file") 2>/dev/null || true
426
+ rm "$pid_file"
427
+ fi
428
+ done
429
+
430
+ # Kill by port as fallback
431
+ for port in 3001 8002 3003; do
432
+ lsof -ti:$port | xargs kill -9 2>/dev/null || true
433
+ done
434
+ ) &
435
+ done
436
+
437
+ wait
438
+ echo "All development servers stopped"
439
+ }
440
+ ```
441
+
442
+ ---
443
+
444
+ ## Integration Patterns
445
+
446
+ ### IDE Integration
447
+
448
+ VS Code Multi-Root Setup:
449
+
450
+ ```json
451
+ // .vscode/workspaces.json
452
+ {
453
+ "folders": [
454
+ {
455
+ "name": "Main Repository",
456
+ "path": "."
457
+ },
458
+ {
459
+ "name": "SPEC-AUTH-001",
460
+ "path": "~/workflows/project-name/SPEC-AUTH-001"
461
+ },
462
+ {
463
+ "name": "SPEC-PAY-001",
464
+ "path": "~/workflows/project-name/SPEC-PAY-001"
465
+ },
466
+ {
467
+ "name": "SPEC-DASH-001",
468
+ "path": "~/workflows/project-name/SPEC-DASH-001"
469
+ }
470
+ ],
471
+ "settings": {
472
+ "git.autoFetch": false,
473
+ "git.autorefresh": true,
474
+ "workbench.editor.enablePreview": false
475
+ },
476
+ "extensions": {
477
+ "recommendations": [
478
+ "ms-vscode.vscode-json",
479
+ "ms-python.python",
480
+ "bradlc.vscode-tailwindcss"
481
+ ]
482
+ }
483
+ }
484
+ ```
485
+
486
+ Worktree-Specific Settings:
487
+
488
+ ```json
489
+ // ~/workflows/project-name/SPEC-AUTH-001/.vscode/settings.json
490
+ {
491
+ "python.defaultInterpreterPath": "./.venv/bin/python",
492
+ "python.linting.enabled": true,
493
+ "python.linting.pylintEnabled": true,
494
+ "python.formatting.provider": "black",
495
+ "files.exclude": {
496
+ "/__pycache__": true,
497
+ "/.pytest_cache": true
498
+ }
499
+ }
500
+ ```
501
+
502
+ ### Shell Integration
503
+
504
+ Parallel Development Shell Functions:
505
+
506
+ ```bash
507
+ # Add to ~/.bashrc or ~/.zshrc
508
+
509
+ # Enhanced worktree switching with context
510
+ mwswitch() {
511
+ local spec_id="$1"
512
+ local current_spec=$(basename $(pwd) 2>/dev/null | grep '^SPEC-' || echo "")
513
+
514
+ if [ "$current_spec" = "$spec_id" ]; then
515
+ echo "Already in worktree: $spec_id"
516
+ return 0
517
+ fi
518
+
519
+ # Save current context
520
+ if [ -n "$current_spec" ]; then
521
+ echo "$current_spec" > ~/.last_worktree
522
+ echo "Saved context: $current_spec → ~/.last_worktree"
523
+ fi
524
+
525
+ # Switch to new worktree
526
+ moai-worktree switch "$spec_id"
527
+
528
+ # Load worktree-specific environment
529
+ if [ -f ".worktree-env" ]; then
530
+ source .worktree-env
531
+ echo "Loaded worktree environment"
532
+ fi
533
+ }
534
+
535
+ # Quick toggle between last two worktrees
536
+ mwtoggle() {
537
+ local last_spec=$(cat ~/.last_worktree 2>/dev/null)
538
+
539
+ if [ -z "$last_spec" ]; then
540
+ echo "No previous worktree saved"
541
+ return 1
542
+ fi
543
+
544
+ local current_spec=$(basename $(pwd) 2>/dev/null | grep '^SPEC-' || echo "")
545
+ mwswitch "$last_spec"
546
+ echo "$current_spec" > ~/.last_worktree
547
+ }
548
+
549
+ # Parallel development status
550
+ mwstatus() {
551
+ echo "=== Parallel Development Status ==="
552
+ moai-worktree status --all
553
+
554
+ echo ""
555
+ echo "=== Active Development Servers ==="
556
+
557
+ local worktrees=($(moai-worktree list --status active --format json | jq -r '.worktrees[].id'))
558
+
559
+ for spec in "${worktrees[@]}"; do
560
+ echo ""
561
+ echo "$spec:"
562
+ cd $(moai-worktree go "$spec") 2>/dev/null
563
+
564
+ # Check for running servers
565
+ if [ -f ".auth_server.pid" ] && kill -0 $(cat .auth_server.pid) 2>/dev/null; then
566
+ echo " Auth server running (PID: $(cat .auth_server.pid))"
567
+ fi
568
+
569
+ if [ -f ".payment_server.pid" ] && kill -0 $(cat .payment_server.pid) 2>/dev/null; then
570
+ echo " Payment server running (PID: $(cat .payment_server.pid))"
571
+ fi
572
+
573
+ # Check for uncommitted changes
574
+ if ! git diff --quiet || ! git diff --cached --quiet; then
575
+ echo " Has uncommitted changes"
576
+ fi
577
+ done
578
+ }
579
+ ```
580
+
581
+ ---
582
+
583
+ ## Advanced Use Cases
584
+
585
+ ### Feature Flag Development
586
+
587
+ Parallel Feature Flag Implementation:
588
+
589
+ ```bash
590
+ # Feature flag worktree pattern
591
+ echo "Setting up feature flag development..."
592
+
593
+ # Create worktrees for different feature flag configurations
594
+ moai-worktree new SPEC-FF-001 "Feature Flag Backend"
595
+ moai-worktree new SPEC-FF-002 "Feature Flag Frontend"
596
+ moai-worktree new SPEC-FF-003 "Feature Flag Integration"
597
+
598
+ # Backend worktree - flag implementation
599
+ cd $(moai-worktree go SPEC-FF-001)
600
+ cat > src/flags.py << 'EOF'
601
+ FEATURE_NEW_AUTH = os.getenv('FEATURE_NEW_AUTH', 'false').lower() == 'true'
602
+ FEATURE_ENHANCED_PAYMENT = os.getenv('FEATURE_ENHANCED_PAYMENT', 'false').lower() == 'true'
603
+ EOF
604
+
605
+ # Frontend worktree - flag consumption
606
+ cd $(moai-worktree go SPEC-FF-002)
607
+ cat > src/featureFlags.ts << 'EOF'
608
+ export const flags = {
609
+ NEW_AUTH: process.env.REACT_APP_NEW_AUTH === 'true',
610
+ ENHANCED_PAYMENT: process.env.REACT_APP_ENHANCED_PAYMENT === 'true'
611
+ };
612
+ EOF
613
+
614
+ # Integration worktree - testing different flag combinations
615
+ cd $(moai-worktree go SPEC-FF-003)
616
+
617
+ # Test different flag configurations
618
+ test_flag_combination() {
619
+ local auth_flag=$1
620
+ local payment_flag=$2
621
+
622
+ export FEATURE_NEW_AUTH=$auth_flag
623
+ export REACT_APP_NEW_AUTH=$auth_flag
624
+ export FEATURE_ENHANCED_PAYMENT=$payment_flag
625
+ export REACT_APP_ENHANCED_PAYMENT=$payment_flag
626
+
627
+ echo "Testing flags: NEW_AUTH=$auth_flag, ENHANCED_PAYMENT=$payment_flag"
628
+
629
+ # Run integration tests
630
+ npm run test:integration
631
+
632
+ # Run E2E tests
633
+ npm run test:e2e
634
+ }
635
+
636
+ # Test all combinations
637
+ for auth in true false; do
638
+ for payment in true false; do
639
+ test_flag_combination $auth $payment
640
+ done
641
+ done
642
+ ```
643
+
644
+ ### Microservices Parallel Development
645
+
646
+ Microservice Architecture Pattern:
647
+
648
+ ```bash
649
+ # Microservices parallel development
650
+ echo "Setting up microservices parallel development..."
651
+
652
+ # Service-specific worktrees
653
+ SERVICES=("auth-service" "payment-service" "notification-service" "gateway-service")
654
+
655
+ for service in "${SERVICES[@]}"; do
656
+ spec_id="SPEC-MS-${service//service/}"
657
+ description="Microservice: ${service^}"
658
+
659
+ moai-worktree new "$spec_id" "$description" --template microservice
660
+
661
+ cd $(moai-worktree go "$spec_id")
662
+
663
+ # Service-specific setup
664
+ echo "PORT=$((3000 + ${#SERVICES[@]}))" > .env
665
+ echo "SERVICE_NAME=$service" >> .env
666
+ echo "DATABASE_URL=postgresql://localhost:5432/${service}_dev" >> .env
667
+
668
+ # Start service in background
669
+ docker-compose up -d &
670
+ done
671
+
672
+ # Gateway worktree for integration
673
+ moai-worktree new SPEC-MS-GATEWAY "API Gateway Integration"
674
+ cd $(moai-worktree go SPEC-MS-GATEWAY)
675
+
676
+ # Configure service discovery
677
+ cat > config/services.yaml << 'EOF'
678
+ services:
679
+ auth-service:
680
+ url: http://localhost:3001
681
+ health_check: /health
682
+ payment-service:
683
+ url: http://localhost:3002
684
+ health_check: /health
685
+ notification-service:
686
+ url: http://localhost:3003
687
+ health_check: /health
688
+ EOF
689
+
690
+ # Parallel testing
691
+ test_microservices() {
692
+ echo "Testing microservices in parallel..."
693
+
694
+ # Test each service independently
695
+ for service in "${SERVICES[@]}"; do
696
+ spec_id="SPEC-MS-${service//service/}"
697
+ (
698
+ cd $(moai-worktree go "$spec_id")
699
+ npm run test &
700
+ )
701
+ done
702
+
703
+ wait
704
+
705
+ # Test integration through gateway
706
+ cd $(moai-worktree go SPEC-MS-GATEWAY)
707
+ npm run test:integration
708
+ }
709
+ ```
710
+
711
+ ---
712
+
713
+ ## Performance and Optimization
714
+
715
+ ### Memory and CPU Optimization
716
+
717
+ Resource-Aware Development:
718
+
719
+ ```bash
720
+ # Resource monitoring for parallel development
721
+ monitor_parallel_resources() {
722
+ echo "=== Parallel Development Resource Monitor ==="
723
+
724
+ local worktrees=($(moai-worktree list --status active --format json | jq -r '.worktrees[].id'))
725
+
726
+ for spec in "${worktrees[@]}"; do
727
+ echo ""
728
+ echo "$spec:"
729
+
730
+ # Check for running processes
731
+ local processes=$(pgrep -f "$(moai-worktree go "$spec")" | wc -l)
732
+ echo " Processes: $processes"
733
+
734
+ # Check disk usage
735
+ local disk_usage=$(du -sh "$(moai-worktree go "$spec")" 2>/dev/null | cut -f1)
736
+ echo " Disk Usage: $disk_usage"
737
+
738
+ # Check for memory-intensive processes
739
+ local memory_usage=$(ps aux | grep "$(moai-worktree go "$spec")" | awk '{sum+=$6} END {print sum/1024}' 2>/dev/null)
740
+ echo " Memory Usage: ${memory_usage:-0}MB"
741
+ done
742
+
743
+ # System-wide resource usage
744
+ echo ""
745
+ echo "System Resources:"
746
+ echo " CPU Load: $(uptime | awk -F'load average:' '{ print $2 }' | awk '{ print $1 }')"
747
+ echo " Memory Usage: $(free -h | awk 'NR==2{printf "%.1f%%", $3*100/$2}')"
748
+ echo " Disk Usage: $(df -h . | awk 'NR==2{print $5}')"
749
+ }
750
+
751
+ # Optimize worktree for parallel development
752
+ optimize_worktree() {
753
+ local spec_id="$1"
754
+
755
+ echo "Optimizing worktree: $spec_id"
756
+
757
+ cd $(moai-worktree go "$spec_id")
758
+
759
+ # Clean unnecessary files
760
+ find . -name "*.log" -delete 2>/dev/null || true
761
+ find . -name ".pytest_cache" -type d -exec rm -rf {} + 2>/dev/null || true
762
+ find . -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
763
+
764
+ # Optimize Git repository
765
+ git gc --aggressive --prune=now
766
+
767
+ # Compress large files if they exist
768
+ find . -name "*.tar.gz" -exec gzip {} \; 2>/dev/null || true
769
+
770
+ echo "Worktree optimization completed"
771
+ }
772
+ ```
773
+
774
+ ---
775
+
776
+ Version: 1.0.0
777
+ Last Updated: 2025-11-29
778
+ Module: Advanced parallel development patterns with isolation, coordination, and optimization strategies