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.
- moai_adk/__init__.py +2 -6
- moai_adk/__main__.py +136 -21
- moai_adk/cli/__init__.py +6 -2
- moai_adk/cli/commands/__init__.py +1 -4
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +17 -5
- moai_adk/cli/commands/init.py +105 -47
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +8 -13
- moai_adk/cli/commands/update.py +1734 -65
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +144 -91
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +672 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +490 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +128 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +147 -16
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +2 -10
- moai_adk/core/git/checkpoint.py +1 -7
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +91 -2
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +20 -28
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +485 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +17 -39
- moai_adk/core/project/initializer.py +170 -33
- moai_adk/core/project/phase_executor.py +398 -68
- moai_adk/core/project/validator.py +7 -32
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +37 -101
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +82 -17
- moai_adk/core/template/config.py +112 -40
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +75 -26
- moai_adk/core/template/processor.py +750 -72
- moai_adk/core/template_engine.py +90 -48
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +373 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +264 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +383 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/checkpoint.py +9 -36
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/{alfred/shared/core → moai/lib}/project.py +63 -44
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/timeout.py +40 -16
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
- moai_adk/templates/.claude/settings.json +78 -50
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +312 -283
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +291 -94
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +469 -101
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
- moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
- moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
- moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +220 -13
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +197 -13
- moai_adk/templates/.mcp.json +20 -0
- moai_adk/templates/.moai/cache/personalization.json +10 -0
- moai_adk/templates/.moai/config/config.yaml +344 -0
- moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
- moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
- moai_adk/templates/.moai/config/presets/team.yaml +33 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
- moai_adk/templates/.moai/config/sections/system.yaml +14 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +310 -1050
- moai_adk/utils/__init__.py +24 -2
- moai_adk/utils/banner.py +7 -11
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/{templates/.claude/hooks/alfred/utils → utils}/timeout.py +8 -9
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.32.8.dist-info/METADATA +2478 -0
- moai_adk-0.32.8.dist-info/RECORD +396 -0
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
- {moai_adk-0.15.1.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -80
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -426
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1854
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -880
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -793
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1084
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +0 -288
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -116
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -419
- moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.1.dist-info/METADATA +0 -3094
- moai_adk-0.15.1.dist-info/RECORD +0 -365
- {moai_adk-0.15.1.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
|