moai-adk 0.35.1__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 +10 -0
- moai_adk/__main__.py +199 -0
- moai_adk/cli/__init__.py +6 -0
- moai_adk/cli/commands/__init__.py +17 -0
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +272 -0
- moai_adk/cli/commands/init.py +372 -0
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +104 -0
- moai_adk/cli/commands/update.py +2686 -0
- moai_adk/cli/main.py +13 -0
- moai_adk/cli/prompts/__init__.py +5 -0
- moai_adk/cli/prompts/init_prompts.py +219 -0
- 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 +683 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +493 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +422 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +1 -0
- 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 +19 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +244 -0
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/__init__.py +19 -0
- moai_adk/core/diagnostics/slash_commands.py +159 -0
- 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 +31 -0
- moai_adk/core/git/branch.py +25 -0
- moai_adk/core/git/branch_manager.py +129 -0
- moai_adk/core/git/checkpoint.py +134 -0
- moai_adk/core/git/commit.py +67 -0
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +79 -0
- moai_adk/core/git/manager.py +216 -0
- 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 +305 -0
- 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 +572 -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 +605 -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 +1 -0
- moai_adk/core/project/backup_utils.py +70 -0
- moai_adk/core/project/checker.py +300 -0
- moai_adk/core/project/detector.py +293 -0
- moai_adk/core/project/initializer.py +387 -0
- moai_adk/core/project/phase_executor.py +716 -0
- moai_adk/core/project/validator.py +139 -0
- moai_adk/core/quality/__init__.py +6 -0
- moai_adk/core/quality/trust_checker.py +377 -0
- moai_adk/core/quality/validators/__init__.py +6 -0
- moai_adk/core/quality/validators/base_validator.py +19 -0
- 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 +7 -0
- moai_adk/core/template/backup.py +174 -0
- moai_adk/core/template/config.py +191 -0
- moai_adk/core/template/languages.py +43 -0
- moai_adk/core/template/merger.py +233 -0
- moai_adk/core/template/processor.py +1200 -0
- moai_adk/core/template_engine.py +310 -0
- 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 +376 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +322 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +343 -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 +714 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
- moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
- moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -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/moai/lib/checkpoint.py +244 -0
- 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/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- 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 +1083 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -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-docs-generation/reference.md +328 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
- 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-database/reference.md +545 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -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/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 +492 -0
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -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-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -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-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -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 +359 -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-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -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-lang-cpp/SKILL.md +649 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -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 +319 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -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-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -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-mcp-figma/SKILL.md +402 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -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 +175 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -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/reference.md +275 -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 +1434 -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 +92 -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-spec/SKILL.md +534 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -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-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -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/examples.md +672 -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/reference.md +440 -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 +411 -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 +365 -0
- 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 +337 -0
- moai_adk/templates/.gitignore +222 -0
- moai_adk/templates/.mcp.json +13 -0
- moai_adk/templates/.moai/config/config.yaml +58 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -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 +17 -0
- moai_adk/templates/.moai/config/sections/system.yaml +24 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +642 -0
- moai_adk/utils/__init__.py +30 -0
- moai_adk/utils/banner.py +38 -0
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +147 -0
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.35.1.dist-info/METADATA +3018 -0
- moai_adk-0.35.1.dist-info/RECORD +502 -0
- moai_adk-0.35.1.dist-info/WHEEL +4 -0
- moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
- moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,606 @@
|
|
|
1
|
+
# MoAI Worktree Examples
|
|
2
|
+
|
|
3
|
+
Purpose: Real-world usage examples and patterns for moai-worktree skill integration with MoAI-ADK workflow.
|
|
4
|
+
|
|
5
|
+
Version: 1.0.0
|
|
6
|
+
Last Updated: 2025-11-29
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Command Integration Examples
|
|
11
|
+
|
|
12
|
+
### Example 1: SPEC Development with Worktree
|
|
13
|
+
|
|
14
|
+
Scenario: Creating a new SPEC with automatic worktree setup
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Plan Phase - Create SPEC with worktree
|
|
18
|
+
/moai:1-plan "User Authentication System" --worktree
|
|
19
|
+
|
|
20
|
+
# Output:
|
|
21
|
+
# SPEC created: SPEC-AUTH-001
|
|
22
|
+
# Worktree created: ~/workflows/MoAI-ADK/SPEC-AUTH-001
|
|
23
|
+
#
|
|
24
|
+
# Next steps:
|
|
25
|
+
# 1. Switch to worktree: moai-worktree switch SPEC-AUTH-001
|
|
26
|
+
# 2. Or use shell eval: eval $(moai-worktree go SPEC-AUTH-001)
|
|
27
|
+
# 3. Start development: /moai:2-run SPEC-AUTH-001
|
|
28
|
+
|
|
29
|
+
# Development Phase - Implement in isolated environment
|
|
30
|
+
eval $(moai-worktree go SPEC-AUTH-001)
|
|
31
|
+
/moai:2-run SPEC-AUTH-001
|
|
32
|
+
|
|
33
|
+
# Sync Phase - Synchronize and integrate
|
|
34
|
+
moai-worktree sync SPEC-AUTH-001
|
|
35
|
+
/moai:3-sync SPEC-AUTH-001
|
|
36
|
+
|
|
37
|
+
# Cleanup Phase - Remove completed worktree
|
|
38
|
+
moai-worktree remove SPEC-AUTH-001
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Example 2: Parallel SPEC Development
|
|
42
|
+
|
|
43
|
+
Scenario: Working on multiple SPECs simultaneously
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Create multiple worktrees for parallel development
|
|
47
|
+
moai-worktree new SPEC-AUTH-001 "User Authentication"
|
|
48
|
+
moai-worktree new SPEC-PAY-001 "Payment Processing"
|
|
49
|
+
moai-worktree new SPEC-DASH-001 "Dashboard Analytics"
|
|
50
|
+
|
|
51
|
+
# Switch between worktrees
|
|
52
|
+
moai-worktree switch SPEC-AUTH-001
|
|
53
|
+
# Work on authentication...
|
|
54
|
+
|
|
55
|
+
moai-worktree switch SPEC-PAY-001
|
|
56
|
+
# Work on payment system...
|
|
57
|
+
|
|
58
|
+
moai-worktree switch SPEC-DASH-001
|
|
59
|
+
# Work on dashboard...
|
|
60
|
+
|
|
61
|
+
# Check status of all worktrees
|
|
62
|
+
moai-worktree status --all
|
|
63
|
+
|
|
64
|
+
# Sync all worktrees
|
|
65
|
+
moai-worktree sync --all
|
|
66
|
+
|
|
67
|
+
# Clean up completed worktrees
|
|
68
|
+
moai-worktree clean --merged-only
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Example 3: Worktree in Development Commands
|
|
72
|
+
|
|
73
|
+
Scenario: Using worktree-aware TDD implementation
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# /moai:2-run automatically detects worktree environment
|
|
77
|
+
/moai:2-run SPEC-AUTH-001
|
|
78
|
+
|
|
79
|
+
# Command behavior in worktree:
|
|
80
|
+
# - Detects worktree: SPEC-AUTH-001
|
|
81
|
+
# - Loads worktree-specific configuration
|
|
82
|
+
# - Executes TDD in isolated environment
|
|
83
|
+
# - Updates worktree metadata
|
|
84
|
+
|
|
85
|
+
# Manual worktree management during development
|
|
86
|
+
moai-worktree status SPEC-AUTH-001
|
|
87
|
+
moai-worktree sync SPEC-AUTH-001 --include "src/"
|
|
88
|
+
moai-worktree config get worktree_root
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Agent Integration Examples
|
|
94
|
+
|
|
95
|
+
### Example 4: Manager-Project with Worktree Setup
|
|
96
|
+
|
|
97
|
+
Agent Usage: Project initialization with worktree support
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
# In manager-project agent context
|
|
101
|
+
Skill("moai-worktree") # Load worktree patterns
|
|
102
|
+
|
|
103
|
+
# Setup project with worktree support
|
|
104
|
+
project_config = {
|
|
105
|
+
"name": "User Authentication System",
|
|
106
|
+
"worktree_enabled": True,
|
|
107
|
+
"worktree_root": "~/workflows/UserAuth",
|
|
108
|
+
"auto_create_worktree": True
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
# Create worktree after project setup
|
|
112
|
+
if project_config.get("worktree_enabled"):
|
|
113
|
+
from moai_worktree import WorktreeManager
|
|
114
|
+
|
|
115
|
+
worktree_manager = WorktreeManager(
|
|
116
|
+
repo_path=Path.cwd(),
|
|
117
|
+
worktree_root=Path(project_config["worktree_root"]).expanduser()
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
worktree_info = worktree_manager.create(
|
|
121
|
+
spec_id="SPEC-AUTH-001",
|
|
122
|
+
description="User Authentication System",
|
|
123
|
+
template="authentication"
|
|
124
|
+
)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Example 5: Manager-Git with Worktree Branch Management
|
|
128
|
+
|
|
129
|
+
Agent Usage: Git operations with worktree awareness
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
# In manager-git agent context
|
|
133
|
+
Skill("moai-worktree") # Load worktree patterns
|
|
134
|
+
|
|
135
|
+
def create_feature_branch_with_worktree(spec_id: str, description: str):
|
|
136
|
+
"""Create feature branch and associated worktree."""
|
|
137
|
+
|
|
138
|
+
# Check if in worktree environment
|
|
139
|
+
current_worktree = detect_worktree_environment()
|
|
140
|
+
|
|
141
|
+
if current_worktree:
|
|
142
|
+
# In worktree - create branch from worktree
|
|
143
|
+
branch_name = f"feature/SPEC-{spec_id}-{description.lower().replace(' ', '-')}"
|
|
144
|
+
|
|
145
|
+
# Create worktree-specific branch
|
|
146
|
+
git_checkout(branch_name, create_new=True)
|
|
147
|
+
|
|
148
|
+
# Update worktree registry
|
|
149
|
+
update_worktree_branch(current_worktree, branch_name)
|
|
150
|
+
else:
|
|
151
|
+
# In main repo - create worktree
|
|
152
|
+
from moai_worktree import WorktreeManager
|
|
153
|
+
|
|
154
|
+
worktree_manager = WorktreeManager(Path.cwd())
|
|
155
|
+
worktree_manager.create(
|
|
156
|
+
spec_id=spec_id,
|
|
157
|
+
description=description,
|
|
158
|
+
branch=branch_name
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
# Usage in agent workflow
|
|
162
|
+
create_feature_branch_with_worktree("SPEC-AUTH-001", "User Authentication")
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Workflow Integration Examples
|
|
168
|
+
|
|
169
|
+
### Example 6: Complete SPEC Development Workflow
|
|
170
|
+
|
|
171
|
+
End-to-End Example: Full SPEC development cycle with worktree
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
#!/bin/bash
|
|
175
|
+
# spec_development_workflow.sh
|
|
176
|
+
|
|
177
|
+
SPEC_ID="$1"
|
|
178
|
+
SPEC_DESCRIPTION="$2"
|
|
179
|
+
|
|
180
|
+
echo " Starting SPEC development workflow for $SPEC_ID"
|
|
181
|
+
|
|
182
|
+
# Phase 1: Plan (with worktree)
|
|
183
|
+
echo " Phase 1: Creating SPEC and worktree..."
|
|
184
|
+
/moai:1-plan "$SPEC_DESCRIPTION" --worktree --spec-id "$SPEC_ID"
|
|
185
|
+
|
|
186
|
+
# Check if worktree was created successfully
|
|
187
|
+
if moai-worktree list --format json | jq -r ".worktrees[\"$SPEC_ID\"]" > /dev/null; then
|
|
188
|
+
echo " Worktree $SPEC_ID created successfully"
|
|
189
|
+
|
|
190
|
+
# Phase 2: Develop
|
|
191
|
+
echo " Phase 2: Switching to worktree for development..."
|
|
192
|
+
cd $(moai-worktree go "$SPEC_ID")
|
|
193
|
+
|
|
194
|
+
# Development loop
|
|
195
|
+
while true; do
|
|
196
|
+
echo " Running TDD implementation..."
|
|
197
|
+
/moai:2-run "$SPEC_ID"
|
|
198
|
+
|
|
199
|
+
echo " Continue development? (y/n)"
|
|
200
|
+
read -r response
|
|
201
|
+
if [[ ! "$response" =~ ^[Yy]$ ]]; then
|
|
202
|
+
break
|
|
203
|
+
fi
|
|
204
|
+
done
|
|
205
|
+
|
|
206
|
+
# Phase 3: Sync
|
|
207
|
+
echo " Phase 3: Synchronizing worktree..."
|
|
208
|
+
moai-worktree sync "$SPEC_ID"
|
|
209
|
+
cd - # Return to main repository
|
|
210
|
+
/moai:3-sync "$SPEC_ID"
|
|
211
|
+
|
|
212
|
+
# Phase 4: Cleanup (optional)
|
|
213
|
+
echo " Phase 4: Clean up options"
|
|
214
|
+
echo "Remove worktree $SPEC_ID? (y/n)"
|
|
215
|
+
read -r cleanup_response
|
|
216
|
+
if [[ "$cleanup_response" =~ ^[Yy]$ ]]; then
|
|
217
|
+
moai-worktree remove "$SPEC_ID"
|
|
218
|
+
echo " Worktree $SPEC_ID removed"
|
|
219
|
+
fi
|
|
220
|
+
|
|
221
|
+
else
|
|
222
|
+
echo " Worktree creation failed. Falling back to branch development."
|
|
223
|
+
/moai:1-plan "$SPEC_DESCRIPTION" --branch --spec-id "$SPEC_ID"
|
|
224
|
+
fi
|
|
225
|
+
|
|
226
|
+
echo " SPEC development workflow completed for $SPEC_ID"
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Example 7: Team Collaboration Workflow
|
|
230
|
+
|
|
231
|
+
Team Setup: Shared worktree configuration for team development
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
#!/bin/bash
|
|
235
|
+
# team_worktree_setup.sh
|
|
236
|
+
|
|
237
|
+
TEAM_NAME="$1"
|
|
238
|
+
PROJECT_NAME="$2"
|
|
239
|
+
|
|
240
|
+
echo " Setting up team worktree configuration for $TEAM_NAME"
|
|
241
|
+
|
|
242
|
+
# Create shared worktree root
|
|
243
|
+
WORKTREE_ROOT="~/workflows/$PROJECT_NAME"
|
|
244
|
+
mkdir -p "$WORKTREE_ROOT"
|
|
245
|
+
|
|
246
|
+
# Configure team registry
|
|
247
|
+
cat > "$WORKTREE_ROOT/.team-config.json" << EOF
|
|
248
|
+
{
|
|
249
|
+
"team": "$TEAM_NAME",
|
|
250
|
+
"project": "$PROJECT_NAME",
|
|
251
|
+
"worktree_root": "$WORKTREE_ROOT",
|
|
252
|
+
"shared_registry": true,
|
|
253
|
+
"auto_sync": true,
|
|
254
|
+
"cleanup_policy": "team_coordinated"
|
|
255
|
+
}
|
|
256
|
+
EOF
|
|
257
|
+
|
|
258
|
+
# Initialize shared registry
|
|
259
|
+
moai-worktree config set worktree_root "$WORKTREE_ROOT"
|
|
260
|
+
moai-worktree config set registry_type team
|
|
261
|
+
|
|
262
|
+
echo " Team worktree configuration completed"
|
|
263
|
+
echo "Team members can now join with: moai-worktree join --team $TEAM_NAME"
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Advanced Usage Examples
|
|
269
|
+
|
|
270
|
+
### Example 8: Custom Worktree Templates
|
|
271
|
+
|
|
272
|
+
Template Creation: Development environment templates
|
|
273
|
+
|
|
274
|
+
```python
|
|
275
|
+
# custom_worktree_templates.py
|
|
276
|
+
|
|
277
|
+
from pathlib import Path
|
|
278
|
+
|
|
279
|
+
def create_fullstack_template():
|
|
280
|
+
"""Create fullstack development template."""
|
|
281
|
+
|
|
282
|
+
template_config = {
|
|
283
|
+
"name": "fullstack",
|
|
284
|
+
"description": "Fullstack development environment",
|
|
285
|
+
"setup_commands": [
|
|
286
|
+
"npm install",
|
|
287
|
+
"pip install -r requirements.txt",
|
|
288
|
+
"docker-compose up -d database",
|
|
289
|
+
"echo 'Environment ready for fullstack development'"
|
|
290
|
+
],
|
|
291
|
+
"files": {
|
|
292
|
+
"docker-compose.yml": """version: '3.8'
|
|
293
|
+
services:
|
|
294
|
+
database:
|
|
295
|
+
image: postgres:13
|
|
296
|
+
environment:
|
|
297
|
+
POSTGRES_DB: app_development
|
|
298
|
+
POSTGRES_USER: developer
|
|
299
|
+
POSTGRES_PASSWORD: password
|
|
300
|
+
ports:
|
|
301
|
+
- "5432:5432"
|
|
302
|
+
volumes:
|
|
303
|
+
- postgres_data:/var/lib/postgresql/data
|
|
304
|
+
|
|
305
|
+
volumes:
|
|
306
|
+
postgres_data:""",
|
|
307
|
+
|
|
308
|
+
".env.example": """# Environment Configuration
|
|
309
|
+
DATABASE_URL=postgresql://developer:password@localhost:5432/app_development
|
|
310
|
+
NODE_ENV=development
|
|
311
|
+
FLASK_ENV=development
|
|
312
|
+
DEBUG=true""",
|
|
313
|
+
|
|
314
|
+
".vscode/launch.json": """{
|
|
315
|
+
"version": "0.2.0",
|
|
316
|
+
"configurations": [
|
|
317
|
+
{
|
|
318
|
+
"name": "Debug Frontend",
|
|
319
|
+
"type": "node",
|
|
320
|
+
"request": "launch",
|
|
321
|
+
"program": "${workspaceFolder}/src/frontend/index.js",
|
|
322
|
+
"console": "integratedTerminal"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"name": "Debug Backend",
|
|
326
|
+
"type": "python",
|
|
327
|
+
"request": "launch",
|
|
328
|
+
"program": "${workspaceFolder}/src/backend/app.py",
|
|
329
|
+
"console": "integratedTerminal"
|
|
330
|
+
}
|
|
331
|
+
]
|
|
332
|
+
}"""
|
|
333
|
+
},
|
|
334
|
+
"env_vars": {
|
|
335
|
+
"TEMPLATE_TYPE": "fullstack",
|
|
336
|
+
"INCLUDE_DATABASE": "true",
|
|
337
|
+
"INCLUDE_FRONTEND": "true",
|
|
338
|
+
"INCLUDE_BACKEND": "true"
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
# Save template
|
|
343
|
+
template_path = Path.home() / ".moai-worktree/templates" / "fullstack.json"
|
|
344
|
+
template_path.parent.mkdir(parents=True, exist_ok=True)
|
|
345
|
+
|
|
346
|
+
import json
|
|
347
|
+
with open(template_path, 'w') as f:
|
|
348
|
+
json.dump(template_config, f, indent=2)
|
|
349
|
+
|
|
350
|
+
print(f" Fullstack template created: {template_path}")
|
|
351
|
+
|
|
352
|
+
# Usage
|
|
353
|
+
create_fullstack_template()
|
|
354
|
+
|
|
355
|
+
# Create worktree with template
|
|
356
|
+
# moai-worktree new SPEC-FULL-001 "Fullstack Application" --template fullstack
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Example 9: Worktree Automation Script
|
|
360
|
+
|
|
361
|
+
Automation: Batch worktree operations
|
|
362
|
+
|
|
363
|
+
```python
|
|
364
|
+
# worktree_automation.py
|
|
365
|
+
|
|
366
|
+
import subprocess
|
|
367
|
+
import json
|
|
368
|
+
from pathlib import Path
|
|
369
|
+
from datetime import datetime
|
|
370
|
+
|
|
371
|
+
class WorktreeAutomation:
|
|
372
|
+
def __init__(self, project_root: str):
|
|
373
|
+
self.project_root = Path(project_root)
|
|
374
|
+
|
|
375
|
+
def batch_create_worktrees(self, specs: list):
|
|
376
|
+
"""Create multiple worktrees from SPEC list."""
|
|
377
|
+
|
|
378
|
+
results = []
|
|
379
|
+
|
|
380
|
+
for spec in specs:
|
|
381
|
+
spec_id = spec.get('id')
|
|
382
|
+
description = spec.get('description', f"Development for {spec_id}")
|
|
383
|
+
template = spec.get('template', 'default')
|
|
384
|
+
|
|
385
|
+
try:
|
|
386
|
+
print(f" Creating worktree: {spec_id}")
|
|
387
|
+
|
|
388
|
+
result = subprocess.run([
|
|
389
|
+
"moai-worktree", "new", spec_id, description,
|
|
390
|
+
"--template", template
|
|
391
|
+
], capture_output=True, text=True, check=True)
|
|
392
|
+
|
|
393
|
+
worktree_info = {
|
|
394
|
+
'spec_id': spec_id,
|
|
395
|
+
'status': 'created',
|
|
396
|
+
'path': self._extract_worktree_path(result.stdout),
|
|
397
|
+
'created_at': datetime.utcnow().isoformat()
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
results.append(worktree_info)
|
|
401
|
+
print(f" Worktree {spec_id} created successfully")
|
|
402
|
+
|
|
403
|
+
except subprocess.CalledProcessError as e:
|
|
404
|
+
error_info = {
|
|
405
|
+
'spec_id': spec_id,
|
|
406
|
+
'status': 'failed',
|
|
407
|
+
'error': e.stderr,
|
|
408
|
+
'created_at': datetime.utcnow().isoformat()
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
results.append(error_info)
|
|
412
|
+
print(f" Failed to create worktree {spec_id}: {e.stderr}")
|
|
413
|
+
|
|
414
|
+
return results
|
|
415
|
+
|
|
416
|
+
def batch_sync_worktrees(self, spec_ids: list = None):
|
|
417
|
+
"""Sync multiple worktrees."""
|
|
418
|
+
|
|
419
|
+
if spec_ids is None:
|
|
420
|
+
# Get all active worktrees
|
|
421
|
+
result = subprocess.run([
|
|
422
|
+
"moai-worktree", "list", "--status", "active", "--format", "json"
|
|
423
|
+
], capture_output=True, text=True, check=True)
|
|
424
|
+
|
|
425
|
+
worktrees = json.loads(result.stdout)
|
|
426
|
+
spec_ids = list(worktrees['worktrees'].keys())
|
|
427
|
+
|
|
428
|
+
results = []
|
|
429
|
+
|
|
430
|
+
for spec_id in spec_ids:
|
|
431
|
+
try:
|
|
432
|
+
print(f" Syncing worktree: {spec_id}")
|
|
433
|
+
|
|
434
|
+
result = subprocess.run([
|
|
435
|
+
"moai-worktree", "sync", spec_id
|
|
436
|
+
], capture_output=True, text=True, check=True)
|
|
437
|
+
|
|
438
|
+
sync_info = {
|
|
439
|
+
'spec_id': spec_id,
|
|
440
|
+
'status': 'synced',
|
|
441
|
+
'details': result.stdout,
|
|
442
|
+
'synced_at': datetime.utcnow().isoformat()
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
results.append(sync_info)
|
|
446
|
+
print(f" Worktree {spec_id} synced successfully")
|
|
447
|
+
|
|
448
|
+
except subprocess.CalledProcessError as e:
|
|
449
|
+
error_info = {
|
|
450
|
+
'spec_id': spec_id,
|
|
451
|
+
'status': 'sync_failed',
|
|
452
|
+
'error': e.stderr,
|
|
453
|
+
'synced_at': datetime.utcnow().isoformat()
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
results.append(error_info)
|
|
457
|
+
print(f" Failed to sync worktree {spec_id}: {e.stderr}")
|
|
458
|
+
|
|
459
|
+
return results
|
|
460
|
+
|
|
461
|
+
def generate_worktree_report(self):
|
|
462
|
+
"""Generate comprehensive worktree status report."""
|
|
463
|
+
|
|
464
|
+
# Get worktree status
|
|
465
|
+
status_result = subprocess.run([
|
|
466
|
+
"moai-worktree", "status", "--all", "--format", "json"
|
|
467
|
+
], capture_output=True, text=True, check=True)
|
|
468
|
+
|
|
469
|
+
worktrees = json.loads(status_result.stdout)
|
|
470
|
+
|
|
471
|
+
# Generate report
|
|
472
|
+
report = {
|
|
473
|
+
'generated_at': datetime.utcnow().isoformat(),
|
|
474
|
+
'total_worktrees': len(worktrees.get('worktrees', {})),
|
|
475
|
+
'active_worktrees': len([
|
|
476
|
+
w for w in worktrees.get('worktrees', {}).values()
|
|
477
|
+
if w.get('status') == 'active'
|
|
478
|
+
]),
|
|
479
|
+
'worktrees': worktrees.get('worktrees', {}),
|
|
480
|
+
'recommendations': self._generate_recommendations(worktrees)
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
return report
|
|
484
|
+
|
|
485
|
+
def _extract_worktree_path(self, output: str) -> str:
|
|
486
|
+
"""Extract worktree path from command output."""
|
|
487
|
+
|
|
488
|
+
for line in output.split('\n'):
|
|
489
|
+
if 'Path:' in line:
|
|
490
|
+
return line.split('Path:')[-1].strip()
|
|
491
|
+
return ""
|
|
492
|
+
|
|
493
|
+
def _generate_recommendations(self, worktrees: dict) -> list:
|
|
494
|
+
"""Generate cleanup and optimization recommendations."""
|
|
495
|
+
|
|
496
|
+
recommendations = []
|
|
497
|
+
|
|
498
|
+
# Check for stale worktrees
|
|
499
|
+
stale_worktrees = [
|
|
500
|
+
w_id for w_id, w_info in worktrees.get('worktrees', {}).items()
|
|
501
|
+
if self._is_stale(w_info)
|
|
502
|
+
]
|
|
503
|
+
|
|
504
|
+
if stale_worktrees:
|
|
505
|
+
recommendations.append({
|
|
506
|
+
'type': 'cleanup',
|
|
507
|
+
'message': f"Found {len(stale_worktrees)} stale worktrees: {', '.join(stale_worktrees)}",
|
|
508
|
+
'action': 'moai-worktree clean --stale --days 30'
|
|
509
|
+
})
|
|
510
|
+
|
|
511
|
+
# Check for large worktrees
|
|
512
|
+
large_worktrees = [
|
|
513
|
+
w_id for w_id, w_info in worktrees.get('worktrees', {}).items()
|
|
514
|
+
if w_info.get('metadata', {}).get('estimated_size', '0') > '500MB'
|
|
515
|
+
]
|
|
516
|
+
|
|
517
|
+
if large_worktrees:
|
|
518
|
+
recommendations.append({
|
|
519
|
+
'type': 'optimization',
|
|
520
|
+
'message': f"Found {len(large_worktrees)} large worktrees: {', '.join(large_worktrees)}",
|
|
521
|
+
'action': 'moai-worktree optimize --analyze'
|
|
522
|
+
})
|
|
523
|
+
|
|
524
|
+
return recommendations
|
|
525
|
+
|
|
526
|
+
# Usage example
|
|
527
|
+
if __name__ == "__main__":
|
|
528
|
+
automation = WorktreeAutomation("/path/to/project")
|
|
529
|
+
|
|
530
|
+
# Create worktrees from spec list
|
|
531
|
+
specs = [
|
|
532
|
+
{'id': 'SPEC-AUTH-001', 'description': 'User Authentication', 'template': 'backend'},
|
|
533
|
+
{'id': 'SPEC-PAY-001', 'description': 'Payment Processing', 'template': 'backend'},
|
|
534
|
+
{'id': 'SPEC-UI-001', 'description': 'User Interface', 'template': 'frontend'}
|
|
535
|
+
]
|
|
536
|
+
|
|
537
|
+
results = automation.batch_create_worktrees(specs)
|
|
538
|
+
|
|
539
|
+
# Sync all worktrees
|
|
540
|
+
sync_results = automation.batch_sync_worktrees()
|
|
541
|
+
|
|
542
|
+
# Generate report
|
|
543
|
+
report = automation.generate_worktree_report()
|
|
544
|
+
|
|
545
|
+
print(f"Report generated: {len(report['worktrees'])} worktrees analyzed")
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
---
|
|
549
|
+
|
|
550
|
+
## Troubleshooting Examples
|
|
551
|
+
|
|
552
|
+
### Example 10: Common Issues and Solutions
|
|
553
|
+
|
|
554
|
+
Issue Resolution: Typical worktree problems and solutions
|
|
555
|
+
|
|
556
|
+
```bash
|
|
557
|
+
# Problem 1: Worktree creation fails
|
|
558
|
+
echo " Diagnosing worktree creation issues..."
|
|
559
|
+
|
|
560
|
+
# Check disk space
|
|
561
|
+
df -h ~/workflows/
|
|
562
|
+
|
|
563
|
+
# Check Git repository status
|
|
564
|
+
git status
|
|
565
|
+
git remote -v
|
|
566
|
+
|
|
567
|
+
# Try with verbose output
|
|
568
|
+
moai-worktree new SPEC-DEBUG-001 "Debug Test" --verbose
|
|
569
|
+
|
|
570
|
+
# Problem 2: Worktree sync conflicts
|
|
571
|
+
echo " Resolving sync conflicts..."
|
|
572
|
+
|
|
573
|
+
# Check sync status
|
|
574
|
+
moai-worktree status SPEC-CONFLICT-001
|
|
575
|
+
|
|
576
|
+
# Interactive conflict resolution
|
|
577
|
+
moai-worktree sync SPEC-CONFLICT-001 --interactive
|
|
578
|
+
|
|
579
|
+
# Force sync (if appropriate)
|
|
580
|
+
moai-worktree sync SPEC-CONFLICT-001 --force
|
|
581
|
+
|
|
582
|
+
# Problem 3: Worktree registry corruption
|
|
583
|
+
echo " Repairing worktree registry..."
|
|
584
|
+
|
|
585
|
+
# Backup current registry
|
|
586
|
+
cp ~/.workflows/PROJECT/.moai-worktree-registry.json ~/.workflows/PROJECT/.moai-worktree-registry.json.backup
|
|
587
|
+
|
|
588
|
+
# Rebuild registry from worktree directories
|
|
589
|
+
moai-worktree config set registry_rebuild true
|
|
590
|
+
moai-worktree list --rebuild-registry
|
|
591
|
+
|
|
592
|
+
# Problem 4: Permission issues
|
|
593
|
+
echo " Fixing permission issues..."
|
|
594
|
+
|
|
595
|
+
# Check worktree permissions
|
|
596
|
+
ls -la ~/workflows/PROJECT/
|
|
597
|
+
|
|
598
|
+
# Fix permissions
|
|
599
|
+
chmod -R 755 ~/workflows/PROJECT/
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
---
|
|
603
|
+
|
|
604
|
+
Version: 1.0.0
|
|
605
|
+
Last Updated: 2025-11-29
|
|
606
|
+
Examples: Real-world usage patterns for moai-worktree integration
|