moai-adk 0.34.0__py3-none-any.whl → 1.1.0__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.
- moai_adk/__main__.py +136 -5
- moai_adk/astgrep/__init__.py +37 -0
- moai_adk/astgrep/analyzer.py +522 -0
- moai_adk/astgrep/models.py +124 -0
- moai_adk/astgrep/rules.py +179 -0
- moai_adk/cli/commands/analyze.py +11 -2
- moai_adk/cli/commands/doctor.py +7 -1
- moai_adk/cli/commands/init.py +321 -11
- moai_adk/cli/commands/language.py +7 -1
- moai_adk/cli/commands/rank.py +449 -0
- moai_adk/cli/commands/status.py +7 -1
- moai_adk/cli/commands/switch.py +325 -0
- moai_adk/cli/commands/update.py +296 -23
- moai_adk/cli/prompts/init_prompts.py +362 -66
- moai_adk/cli/prompts/translations/__init__.py +573 -0
- moai_adk/cli/ui/prompts.py +61 -2
- moai_adk/cli/worktree/cli.py +106 -1
- moai_adk/cli/worktree/manager.py +155 -0
- moai_adk/core/config/unified.py +244 -63
- moai_adk/core/credentials.py +264 -0
- moai_adk/core/error_recovery_system.py +22 -4
- moai_adk/core/git/conflict_detector.py +10 -1
- moai_adk/core/git/event_detector.py +16 -5
- moai_adk/core/integration/engine.py +2 -2
- moai_adk/core/integration/integration_tester.py +5 -5
- moai_adk/core/language_config_resolver.py +9 -3
- moai_adk/core/merge/analyzer.py +509 -324
- moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
- moai_adk/core/migration/backup_manager.py +54 -4
- moai_adk/core/migration/file_migrator.py +174 -2
- moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
- moai_adk/core/migration/version_detector.py +123 -19
- moai_adk/core/migration/version_migrator.py +44 -9
- moai_adk/core/model_allocator.py +241 -0
- moai_adk/core/project/backup_utils.py +12 -2
- moai_adk/core/project/initializer.py +44 -87
- moai_adk/core/project/phase_executor.py +95 -33
- moai_adk/core/project/validator.py +16 -1
- moai_adk/core/quality/trust_checker.py +30 -10
- moai_adk/core/rollback_manager.py +60 -25
- moai_adk/core/template/backup.py +88 -6
- moai_adk/core/template/config.py +33 -9
- moai_adk/core/template/merger.py +34 -8
- moai_adk/core/template/processor.py +334 -11
- moai_adk/core/template_engine.py +10 -1
- moai_adk/core/template_variable_synchronizer.py +16 -2
- moai_adk/core/version_sync.py +54 -6
- moai_adk/foundation/__init__.py +1 -20
- moai_adk/foundation/testing.py +1 -1
- moai_adk/loop/__init__.py +54 -0
- moai_adk/loop/controller.py +305 -0
- moai_adk/loop/feedback.py +230 -0
- moai_adk/loop/state.py +209 -0
- moai_adk/loop/storage.py +220 -0
- moai_adk/lsp/__init__.py +70 -0
- moai_adk/lsp/client.py +320 -0
- moai_adk/lsp/models.py +261 -0
- moai_adk/lsp/protocol.py +404 -0
- moai_adk/lsp/server_manager.py +248 -0
- moai_adk/project/configuration.py +8 -1
- moai_adk/py.typed +0 -0
- moai_adk/ralph/__init__.py +37 -0
- moai_adk/ralph/engine.py +307 -0
- moai_adk/rank/__init__.py +21 -0
- moai_adk/rank/auth.py +425 -0
- moai_adk/rank/client.py +557 -0
- moai_adk/rank/config.py +147 -0
- moai_adk/rank/hook.py +1503 -0
- moai_adk/rank/py.typed +0 -0
- moai_adk/statusline/__init__.py +3 -0
- moai_adk/statusline/enhanced_output_style_detector.py +5 -5
- moai_adk/statusline/main.py +20 -1
- moai_adk/statusline/memory_collector.py +268 -0
- moai_adk/statusline/renderer.py +54 -38
- moai_adk/tag_system/__init__.py +48 -0
- moai_adk/tag_system/atomic_ops.py +117 -0
- moai_adk/tag_system/linkage.py +335 -0
- moai_adk/tag_system/parser.py +176 -0
- moai_adk/tag_system/validator.py +200 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +19 -3
- moai_adk/templates/.claude/agents/moai/builder-command.md +62 -16
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +21 -5
- moai_adk/templates/.claude/agents/moai/expert-backend.md +103 -39
- moai_adk/templates/.claude/agents/moai/expert-debug.md +9 -3
- moai_adk/templates/.claude/agents/moai/expert-devops.md +16 -14
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +45 -31
- moai_adk/templates/.claude/agents/moai/expert-performance.md +13 -9
- moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +19 -3
- moai_adk/templates/.claude/agents/moai/expert-testing.md +13 -9
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +8 -2
- moai_adk/templates/.claude/agents/moai/manager-docs.md +10 -5
- moai_adk/templates/.claude/agents/moai/manager-git.md +99 -27
- moai_adk/templates/.claude/agents/moai/manager-project.md +87 -7
- moai_adk/templates/.claude/agents/moai/manager-quality.md +22 -5
- moai_adk/templates/.claude/agents/moai/manager-spec.md +8 -2
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +45 -14
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +16 -3
- moai_adk/templates/.claude/commands/moai/0-project.md +239 -1185
- moai_adk/templates/.claude/commands/moai/1-plan.md +383 -363
- moai_adk/templates/.claude/commands/moai/2-run.md +254 -347
- moai_adk/templates/.claude/commands/moai/3-sync.md +174 -100
- moai_adk/templates/.claude/commands/moai/9-feedback.md +49 -33
- moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
- moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
- moai_adk/templates/.claude/commands/moai/fix.md +264 -0
- moai_adk/templates/.claude/commands/moai/loop.md +363 -0
- moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +37 -81
- moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
- moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
- moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
- moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +24 -28
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +14 -14
- moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
- moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
- moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +15 -13
- moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +125 -25
- moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
- moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
- moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
- moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
- moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +5 -5
- moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +30 -18
- moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
- moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
- moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +93 -61
- moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +165 -70
- moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
- moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
- moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +86 -3
- moai_adk/templates/.claude/output-styles/moai/yoda.md +2 -2
- moai_adk/templates/.claude/settings.json +154 -77
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -198
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +169 -323
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +226 -320
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -222
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +75 -219
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +103 -463
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +118 -339
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +74 -377
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +205 -182
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +32 -22
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +96 -316
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +116 -294
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +14 -18
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +86 -270
- moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
- moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +76 -582
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1239 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1136 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +82 -436
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +65 -542
- moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +32 -405
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +114 -293
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +83 -307
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +179 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +42 -279
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +94 -556
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1608 -0
- moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1323 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +108 -358
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +84 -482
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1154 -0
- moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1087 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +106 -610
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1106 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1024 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +51 -265
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +106 -442
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -457
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +75 -283
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +97 -252
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +64 -240
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +90 -287
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +200 -206
- moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +75 -330
- moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +100 -340
- moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +113 -326
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +71 -302
- moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +101 -412
- moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +96 -327
- moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +103 -428
- moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +96 -446
- moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +225 -423
- moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
- moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
- moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +211 -314
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +15 -43
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +119 -316
- moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +96 -203
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +201 -388
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
- moai_adk/templates/.git-hooks/pre-push +162 -59
- moai_adk/templates/.github/workflows/ci-universal.yml +934 -133
- moai_adk/templates/.gitignore +65 -107
- moai_adk/templates/.lsp.json +152 -0
- moai_adk/templates/.mcp.json +2 -20
- moai_adk/templates/.moai/announcements/en.json +18 -0
- moai_adk/templates/.moai/announcements/ja.json +18 -0
- moai_adk/templates/.moai/announcements/ko.json +18 -0
- moai_adk/templates/.moai/announcements/zh.json +18 -0
- moai_adk/templates/.moai/config/config.yaml +8 -2
- moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
- moai_adk/templates/.moai/config/sections/language.yaml +2 -2
- moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
- moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
- moai_adk/templates/.moai/config/sections/project.yaml +2 -2
- moai_adk/templates/.moai/config/sections/quality.yaml +43 -5
- moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
- moai_adk/templates/.moai/config/sections/system.yaml +46 -1
- moai_adk/templates/.moai/config/sections/user.yaml +1 -1
- moai_adk/templates/.moai/config/statusline-config.yaml +2 -2
- moai_adk/templates/.moai/llm-configs/glm.json +22 -0
- moai_adk/templates/CLAUDE.ja.md +343 -0
- moai_adk/templates/CLAUDE.ko.md +343 -0
- moai_adk/templates/CLAUDE.md +200 -499
- moai_adk/templates/CLAUDE.zh.md +343 -0
- moai_adk/utils/common.py +37 -0
- moai_adk/version.py +1 -1
- moai_adk-1.1.0.dist-info/METADATA +2443 -0
- moai_adk-1.1.0.dist-info/RECORD +701 -0
- {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/entry_points.txt +2 -0
- moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
- moai_adk/core/config/auto_spec_config.py +0 -340
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
- moai_adk/core/spec/confidence_scoring.py +0 -680
- moai_adk/core/spec/ears_template_engine.py +0 -1247
- moai_adk/core/spec/quality_validator.py +0 -687
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +0 -670
- moai_adk/templates/.claude/agents/moai/expert-database.md +0 -777
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +0 -1041
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +0 -458
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +0 -1607
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +0 -789
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +0 -469
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +0 -1032
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +0 -438
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +0 -402
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +0 -607
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +0 -300
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +0 -537
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -175
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -411
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
- moai_adk/templates/.moai/config/questions/_schema.yaml +0 -151
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +0 -251
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +0 -108
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +0 -81
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +0 -634
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +0 -170
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +0 -87
- moai_adk/templates/.moai/scripts/setup-glm.py +0 -136
- moai_adk-0.34.0.dist-info/METADATA +0 -2999
- moai_adk-0.34.0.dist-info/RECORD +0 -463
- moai_adk-0.34.0.dist-info/licenses/LICENSE +0 -21
- /moai_adk/foundation/{git.py → git/__init__.py} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
- {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
# TRUST 5 Validation Framework
|
|
2
|
+
|
|
3
|
+
> Module: Complete TRUST 5 validation implementation with category-specific analysis and scoring
|
|
4
|
+
> Parent: [Automated Code Review](./automated-code-review.md)
|
|
5
|
+
> Complexity: Advanced
|
|
6
|
+
> Time: 20+ minutes
|
|
7
|
+
> Dependencies: Python 3.8+, ast, Context7 MCP
|
|
8
|
+
|
|
9
|
+
## Quick Reference
|
|
10
|
+
|
|
11
|
+
### TRUST 5 Categories
|
|
12
|
+
|
|
13
|
+
Truthfulness (25% weight):
|
|
14
|
+
- Code correctness validation
|
|
15
|
+
- Logic error detection
|
|
16
|
+
- Unreachable code identification
|
|
17
|
+
- Comparison issue checking
|
|
18
|
+
- Data flow analysis
|
|
19
|
+
|
|
20
|
+
Relevance (20% weight):
|
|
21
|
+
- Requirements fulfillment
|
|
22
|
+
- TODO/FIXME comment tracking
|
|
23
|
+
- Dead code detection
|
|
24
|
+
- Feature completeness validation
|
|
25
|
+
- Purpose alignment checking
|
|
26
|
+
|
|
27
|
+
Usability (25% weight):
|
|
28
|
+
- Maintainability assessment
|
|
29
|
+
- Code complexity analysis
|
|
30
|
+
- Documentation completeness
|
|
31
|
+
- Naming convention validation
|
|
32
|
+
- Code organization review
|
|
33
|
+
|
|
34
|
+
Safety (20% weight):
|
|
35
|
+
- Security vulnerability detection
|
|
36
|
+
- Error handling validation
|
|
37
|
+
- Exception safety checking
|
|
38
|
+
- Resource leak detection
|
|
39
|
+
- Input validation review
|
|
40
|
+
|
|
41
|
+
Timeliness (10% weight):
|
|
42
|
+
- Performance optimization opportunities
|
|
43
|
+
- Deprecated code identification
|
|
44
|
+
- Modern practices adoption
|
|
45
|
+
- Technology currency validation
|
|
46
|
+
- Standards compliance checking
|
|
47
|
+
|
|
48
|
+
### Core Implementation
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
from enum import Enum
|
|
52
|
+
from dataclasses import dataclass
|
|
53
|
+
from typing import Dict, List, Any
|
|
54
|
+
|
|
55
|
+
class TrustCategory(Enum):
|
|
56
|
+
"""TRUST 5 framework categories."""
|
|
57
|
+
TRUTHFULNESS = "truthfulness"
|
|
58
|
+
RELEVANCE = "relevance"
|
|
59
|
+
USABILITY = "usability"
|
|
60
|
+
SAFETY = "safety"
|
|
61
|
+
TIMELINESS = "timeliness"
|
|
62
|
+
|
|
63
|
+
@dataclass
|
|
64
|
+
class CodeIssue:
|
|
65
|
+
"""Individual code issue found during review."""
|
|
66
|
+
id: str
|
|
67
|
+
category: TrustCategory
|
|
68
|
+
severity: str # critical, high, medium, low, info
|
|
69
|
+
issue_type: str
|
|
70
|
+
title: str
|
|
71
|
+
description: str
|
|
72
|
+
file_path: str
|
|
73
|
+
line_number: int
|
|
74
|
+
column_number: int
|
|
75
|
+
code_snippet: str
|
|
76
|
+
suggested_fix: str
|
|
77
|
+
confidence: float # 0.0 to 1.0
|
|
78
|
+
rule_violated: str = None
|
|
79
|
+
external_reference: str = None
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Implementation Guide
|
|
85
|
+
|
|
86
|
+
### Truthfulness Analysis
|
|
87
|
+
|
|
88
|
+
Truthfulness validation focuses on code correctness and logic accuracy:
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
def _analyze_truthfulness(self, file_path: str, tree: ast.AST) -> List[CodeIssue]:
|
|
92
|
+
"""Analyze code for correctness and logic issues."""
|
|
93
|
+
issues = []
|
|
94
|
+
|
|
95
|
+
# Check for unreachable code
|
|
96
|
+
for node in ast.walk(tree):
|
|
97
|
+
if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
|
|
98
|
+
unreachable_issues = self._check_unreachable_code(file_path, node)
|
|
99
|
+
issues.extend(unreachable_issues)
|
|
100
|
+
|
|
101
|
+
# Check for logic issues
|
|
102
|
+
logic_issues = self._check_logic_issues(file_path, tree)
|
|
103
|
+
issues.extend(logic_issues)
|
|
104
|
+
|
|
105
|
+
return issues
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Unreachable Code Detection:
|
|
109
|
+
- Identifies code after return statements
|
|
110
|
+
- Detects code after raise statements
|
|
111
|
+
- Finds code after break/continue in loops
|
|
112
|
+
- Reports dead code with confidence scores
|
|
113
|
+
|
|
114
|
+
Logic Issue Detection:
|
|
115
|
+
- Checks for None comparison patterns (use 'is None' instead of '== None')
|
|
116
|
+
- Identifies constant conditions in if statements
|
|
117
|
+
- Detects tautological comparisons
|
|
118
|
+
- Finds contradictory conditions
|
|
119
|
+
|
|
120
|
+
### Relevance Analysis
|
|
121
|
+
|
|
122
|
+
Relevance analysis validates requirements fulfillment and purpose alignment:
|
|
123
|
+
|
|
124
|
+
```python
|
|
125
|
+
def _analyze_relevance(self, file_path: str, content: str) -> List[CodeIssue]:
|
|
126
|
+
"""Analyze code for relevance and requirements fulfillment."""
|
|
127
|
+
issues = []
|
|
128
|
+
|
|
129
|
+
# Check for TODO/FIXME comments
|
|
130
|
+
lines = content.split('\n')
|
|
131
|
+
for line_num, line in enumerate(lines, 1):
|
|
132
|
+
if 'TODO:' in line or 'FIXME:' in line:
|
|
133
|
+
issue = CodeIssue(
|
|
134
|
+
id=f"todo_{line_num}",
|
|
135
|
+
category=TrustCategory.RELEVANCE,
|
|
136
|
+
severity="low",
|
|
137
|
+
issue_type="documentation_issue",
|
|
138
|
+
title="Unresolved TODO",
|
|
139
|
+
description=f"TODO/FIXME comment found: {line.strip()}",
|
|
140
|
+
file_path=file_path,
|
|
141
|
+
line_number=line_num,
|
|
142
|
+
column_number=line.find('TODO') if 'TODO' in line else line.find('FIXME'),
|
|
143
|
+
code_snippet=line.strip(),
|
|
144
|
+
suggested_fix="Address the TODO/FIXME item or remove the comment",
|
|
145
|
+
confidence=0.6,
|
|
146
|
+
rule_violated="UNRESOLVED_TODO"
|
|
147
|
+
)
|
|
148
|
+
issues.append(issue)
|
|
149
|
+
|
|
150
|
+
return issues
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Relevance Checks:
|
|
154
|
+
- TODO/FIXME comment tracking
|
|
155
|
+
- Dead code identification (unused imports, variables, functions)
|
|
156
|
+
- Feature completeness validation
|
|
157
|
+
- Documentation alignment with implementation
|
|
158
|
+
|
|
159
|
+
### Usability Analysis
|
|
160
|
+
|
|
161
|
+
Usability assessment focuses on maintainability and code quality:
|
|
162
|
+
|
|
163
|
+
```python
|
|
164
|
+
def _analyze_usability(self, file_path: str, content: str, tree: ast.AST) -> List[CodeIssue]:
|
|
165
|
+
"""Analyze code for usability and maintainability."""
|
|
166
|
+
issues = []
|
|
167
|
+
|
|
168
|
+
# Check for docstring presence
|
|
169
|
+
for node in ast.walk(tree):
|
|
170
|
+
if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
|
|
171
|
+
if not ast.get_docstring(node):
|
|
172
|
+
issue = CodeIssue(
|
|
173
|
+
id=f"no_docstring_{node.lineno}",
|
|
174
|
+
category=TrustCategory.USABILITY,
|
|
175
|
+
severity="low",
|
|
176
|
+
issue_type="documentation_issue",
|
|
177
|
+
title="Missing Docstring",
|
|
178
|
+
description=f"Function '{node.name}' is missing a docstring",
|
|
179
|
+
file_path=file_path,
|
|
180
|
+
line_number=node.lineno,
|
|
181
|
+
column_number=1,
|
|
182
|
+
code_snippet=f"def {node.name}(...):",
|
|
183
|
+
suggested_fix=f"Add a docstring to '{node.name}' explaining its purpose, parameters, and return value",
|
|
184
|
+
confidence=0.7,
|
|
185
|
+
rule_violated="MISSING_DOCSTRING"
|
|
186
|
+
)
|
|
187
|
+
issues.append(issue)
|
|
188
|
+
|
|
189
|
+
return issues
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Usability Metrics:
|
|
193
|
+
- Function length analysis (default max: 50 lines)
|
|
194
|
+
- Cyclomatic complexity calculation (default max: 10)
|
|
195
|
+
- Nesting depth assessment (default max: 4 levels)
|
|
196
|
+
- Documentation completeness
|
|
197
|
+
- Naming convention validation
|
|
198
|
+
|
|
199
|
+
### Safety Analysis
|
|
200
|
+
|
|
201
|
+
Safety validation detects security vulnerabilities and error handling issues:
|
|
202
|
+
|
|
203
|
+
```python
|
|
204
|
+
def _analyze_safety(self, file_path: str, tree: ast.AST) -> List[CodeIssue]:
|
|
205
|
+
"""Analyze code for safety and error handling."""
|
|
206
|
+
issues = []
|
|
207
|
+
|
|
208
|
+
# Check for bare except clauses
|
|
209
|
+
for node in ast.walk(tree):
|
|
210
|
+
if isinstance(node, ast.ExceptHandler):
|
|
211
|
+
if node.type is None:
|
|
212
|
+
issue = CodeIssue(
|
|
213
|
+
id=f"bare_except_{node.lineno}",
|
|
214
|
+
category=TrustCategory.SAFETY,
|
|
215
|
+
severity="medium",
|
|
216
|
+
issue_type="code_smell",
|
|
217
|
+
title="Bare Except Clause",
|
|
218
|
+
description="Bare except clause can hide unexpected errors",
|
|
219
|
+
file_path=file_path,
|
|
220
|
+
line_number=node.lineno,
|
|
221
|
+
column_number=1,
|
|
222
|
+
code_snippet="except:",
|
|
223
|
+
suggested_fix="Specify exception types or use 'except Exception:' with logging",
|
|
224
|
+
confidence=0.8,
|
|
225
|
+
rule_violated="BARE_EXCEPT"
|
|
226
|
+
)
|
|
227
|
+
issues.append(issue)
|
|
228
|
+
|
|
229
|
+
return issues
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Safety Checks:
|
|
233
|
+
- Bare except clause detection
|
|
234
|
+
- Exception handling validation
|
|
235
|
+
- Resource leak detection (file handles, database connections)
|
|
236
|
+
- Input validation review
|
|
237
|
+
- Context manager usage validation
|
|
238
|
+
|
|
239
|
+
### Timeliness Analysis
|
|
240
|
+
|
|
241
|
+
Timeliness assessment identifies performance and modernization opportunities:
|
|
242
|
+
|
|
243
|
+
```python
|
|
244
|
+
def _analyze_timeliness(self, file_path: str, content: str) -> List[CodeIssue]:
|
|
245
|
+
"""Analyze code for timeliness and performance."""
|
|
246
|
+
issues = []
|
|
247
|
+
|
|
248
|
+
# Check for deprecated imports
|
|
249
|
+
deprecated_imports = {
|
|
250
|
+
'StringIO': 'io.StringIO',
|
|
251
|
+
'cStringIO': 'io.StringIO'
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
lines = content.split('\n')
|
|
255
|
+
for line_num, line in enumerate(lines, 1):
|
|
256
|
+
for old_import, new_import in deprecated_imports.items():
|
|
257
|
+
if f"import {old_import}" in line or f"from {old_import}" in line:
|
|
258
|
+
issue = CodeIssue(
|
|
259
|
+
id=f"deprecated_import_{line_num}",
|
|
260
|
+
category=TrustCategory.TIMELINESS,
|
|
261
|
+
severity="low",
|
|
262
|
+
issue_type="import_issue",
|
|
263
|
+
title="Deprecated Import",
|
|
264
|
+
description=f"Using deprecated import '{old_import}', should use '{new_import}'",
|
|
265
|
+
file_path=file_path,
|
|
266
|
+
line_number=line_num,
|
|
267
|
+
column_number=line.find(old_import),
|
|
268
|
+
code_snippet=line.strip(),
|
|
269
|
+
suggested_fix=f"Replace '{old_import}' with '{new_import}'",
|
|
270
|
+
confidence=0.9,
|
|
271
|
+
rule_violated="DEPRECATED_IMPORT",
|
|
272
|
+
auto_fixable=True
|
|
273
|
+
)
|
|
274
|
+
issues.append(issue)
|
|
275
|
+
|
|
276
|
+
return issues
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Timeliness Indicators:
|
|
280
|
+
- Deprecated import detection
|
|
281
|
+
- Performance anti-pattern identification
|
|
282
|
+
- Modern Python features adoption
|
|
283
|
+
- Standards compliance checking
|
|
284
|
+
- Technology currency validation
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Score Calculation
|
|
289
|
+
|
|
290
|
+
### Category Score Algorithm
|
|
291
|
+
|
|
292
|
+
```python
|
|
293
|
+
def _calculate_trust_scores(self, issues: List[CodeIssue], metrics: Dict[str, Any]) -> Dict[str, Any]:
|
|
294
|
+
"""Calculate TRUST 5 scores."""
|
|
295
|
+
category_scores = {}
|
|
296
|
+
category_weights = {
|
|
297
|
+
TrustCategory.TRUTHFULNESS: 0.25,
|
|
298
|
+
TrustCategory.RELEVANCE: 0.20,
|
|
299
|
+
TrustCategory.USABILITY: 0.25,
|
|
300
|
+
TrustCategory.SAFETY: 0.20,
|
|
301
|
+
TrustCategory.TIMELINESS: 0.10
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
# Group issues by category
|
|
305
|
+
issues_by_category = {category: [] for category in TrustCategory}
|
|
306
|
+
for issue in issues:
|
|
307
|
+
issues_by_category[issue.category].append(issue)
|
|
308
|
+
|
|
309
|
+
# Calculate scores for each category
|
|
310
|
+
for category in TrustCategory:
|
|
311
|
+
category_issues = issues_by_category[category]
|
|
312
|
+
|
|
313
|
+
# Calculate penalty based on severity and number of issues
|
|
314
|
+
penalty = 0.0
|
|
315
|
+
for issue in category_issues:
|
|
316
|
+
severity_penalty = {
|
|
317
|
+
'critical': 0.5,
|
|
318
|
+
'high': 0.3,
|
|
319
|
+
'medium': 0.1,
|
|
320
|
+
'low': 0.05,
|
|
321
|
+
'info': 0.01
|
|
322
|
+
}
|
|
323
|
+
penalty += severity_penalty.get(issue.severity, 0.1) * issue.confidence
|
|
324
|
+
|
|
325
|
+
# Apply penalties (max penalty of 1.0)
|
|
326
|
+
score = max(0.0, 1.0 - min(penalty, 1.0))
|
|
327
|
+
category_scores[category] = score
|
|
328
|
+
|
|
329
|
+
# Calculate overall score
|
|
330
|
+
overall_score = sum(
|
|
331
|
+
category_scores[cat] * category_weights[cat]
|
|
332
|
+
for cat in TrustCategory
|
|
333
|
+
)
|
|
334
|
+
|
|
335
|
+
return {
|
|
336
|
+
'overall': overall_score,
|
|
337
|
+
'categories': category_scores
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Score Interpretation
|
|
342
|
+
|
|
343
|
+
0.9 - 1.0: Excellent quality, minimal issues
|
|
344
|
+
0.8 - 0.9: Good quality, some minor issues
|
|
345
|
+
0.7 - 0.8: Acceptable quality, moderate issues
|
|
346
|
+
0.6 - 0.7: Needs improvement, significant issues
|
|
347
|
+
0.0 - 0.6: Poor quality, critical issues present
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Advanced Customization
|
|
352
|
+
|
|
353
|
+
### Custom Category Weights
|
|
354
|
+
|
|
355
|
+
Adjust category weights to match project priorities:
|
|
356
|
+
|
|
357
|
+
```python
|
|
358
|
+
reviewer.category_weights = {
|
|
359
|
+
TrustCategory.TRUTHFULNESS: 0.30, # Increase emphasis on correctness
|
|
360
|
+
TrustCategory.RELEVANCE: 0.15,
|
|
361
|
+
TrustCategory.USABILITY: 0.20,
|
|
362
|
+
TrustCategory.SAFETY: 0.30, # Increase emphasis on security
|
|
363
|
+
TrustCategory.TIMELINESS: 0.05
|
|
364
|
+
}
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### Custom Severity Penalties
|
|
368
|
+
|
|
369
|
+
Modify penalty values for severity levels:
|
|
370
|
+
|
|
371
|
+
```python
|
|
372
|
+
reviewer.severity_penalties = {
|
|
373
|
+
'critical': 0.7, # Stricter penalties
|
|
374
|
+
'high': 0.4,
|
|
375
|
+
'medium': 0.15,
|
|
376
|
+
'low': 0.05,
|
|
377
|
+
'info': 0.0
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Custom Rule Configuration
|
|
382
|
+
|
|
383
|
+
Add custom validation rules:
|
|
384
|
+
|
|
385
|
+
```python
|
|
386
|
+
class CustomTruthfulnessAnalyzer:
|
|
387
|
+
"""Custom truthfulness validation rules."""
|
|
388
|
+
|
|
389
|
+
def analyze_custom_patterns(self, file_path: str, tree: ast.AST) -> List[CodeIssue]:
|
|
390
|
+
"""Add project-specific truthfulness checks."""
|
|
391
|
+
issues = []
|
|
392
|
+
|
|
393
|
+
# Add custom logic validation
|
|
394
|
+
# Add project-specific correctness checks
|
|
395
|
+
# Add domain-specific validation rules
|
|
396
|
+
|
|
397
|
+
return issues
|
|
398
|
+
|
|
399
|
+
# Integrate custom analyzer
|
|
400
|
+
reviewer.custom_analyzers[TrustCategory.TRUTHFULNESS] = CustomTruthfulnessAnalyzer()
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Best Practices
|
|
406
|
+
|
|
407
|
+
1. Category Balance: Maintain balanced category weights appropriate for project context
|
|
408
|
+
2. Severity Calibration: Adjust severity penalties to match team quality standards
|
|
409
|
+
3. Custom Rules: Add project-specific validation rules for domain-specific concerns
|
|
410
|
+
4. Regular Updates: Update validation patterns to reflect evolving best practices
|
|
411
|
+
5. Team Alignment: Ensure category weights align with team priorities and project goals
|
|
412
|
+
6. Consistent Application: Apply TRUST 5 validation consistently across entire codebase
|
|
413
|
+
7. Actionable Feedback: Provide clear, implementable suggestions for each issue detected
|
|
414
|
+
8. Progressive Enhancement: Start with basic validation, progressively add advanced rules
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## Related Modules
|
|
419
|
+
|
|
420
|
+
- [Security Analysis](./security-analysis.md): Detailed security vulnerability detection
|
|
421
|
+
- [Quality Metrics](./quality-metrics.md): Code quality and complexity analysis
|
|
422
|
+
- [automated-code-review/trust5-framework.md](./automated-code-review/trust5-framework.md): Deep dive into TRUST 5 methodology
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
Version: 1.0.0
|
|
427
|
+
Last Updated: 2026-01-06
|
|
428
|
+
Module: `modules/trust5-validation.md`
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "moai-workflow-worktree"
|
|
3
|
+
description: "Git worktree management for parallel SPEC development with isolated workspaces, automatic registration, and seamless MoAI-ADK integration"
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
category: "workflow"
|
|
6
|
+
modularized: true
|
|
7
|
+
user-invocable: false
|
|
8
|
+
tags: ['git', 'worktree', 'parallel', 'development', 'spec', 'isolation']
|
|
9
|
+
updated: 2026-01-08
|
|
10
|
+
status: "active"
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- Read
|
|
13
|
+
- Write
|
|
14
|
+
- Grep
|
|
15
|
+
- Glob
|
|
16
|
+
- mcp__context7__resolve-library-id
|
|
17
|
+
- mcp__context7__get-library-docs
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# MoAI Worktree Management
|
|
21
|
+
|
|
22
|
+
Git worktree management system for parallel SPEC development with isolated workspaces, automatic registration, and seamless MoAI-ADK integration.
|
|
23
|
+
|
|
24
|
+
Core Philosophy: Each SPEC deserves its own isolated workspace to enable true parallel development without context switching overhead.
|
|
25
|
+
|
|
26
|
+
## Quick Reference (30 seconds)
|
|
27
|
+
|
|
28
|
+
What is MoAI Worktree Management?
|
|
29
|
+
A specialized Git worktree system that creates isolated development environments for each SPEC, enabling parallel development without conflicts.
|
|
30
|
+
|
|
31
|
+
Key Features:
|
|
32
|
+
- Isolated Workspaces: Each SPEC gets its own worktree with independent Git state
|
|
33
|
+
- Automatic Registration: Worktree registry tracks all active workspaces
|
|
34
|
+
- Parallel Development: Multiple SPECs can be developed simultaneously
|
|
35
|
+
- Seamless Integration: Works with /moai:1-plan, /moai:2-run, /moai:3-sync workflow
|
|
36
|
+
- Smart Synchronization: Automatic sync with base branch when needed
|
|
37
|
+
- Cleanup Automation: Automatic cleanup of merged worktrees
|
|
38
|
+
|
|
39
|
+
Quick Access:
|
|
40
|
+
- CLI commands: Refer to Worktree Commands Module at modules/worktree-commands.md
|
|
41
|
+
- Management patterns: Refer to Worktree Management Module at modules/worktree-management.md
|
|
42
|
+
- Parallel workflow: Refer to Parallel Development Module at modules/parallel-development.md
|
|
43
|
+
- Integration guide: Refer to Integration Patterns Module at modules/integration-patterns.md
|
|
44
|
+
- Troubleshooting: Refer to Troubleshooting Module at modules/troubleshooting.md
|
|
45
|
+
|
|
46
|
+
Use Cases:
|
|
47
|
+
- Multiple SPECs development in parallel
|
|
48
|
+
- Isolated testing environments
|
|
49
|
+
- Feature branch isolation
|
|
50
|
+
- Code review workflows
|
|
51
|
+
- Experimental feature development
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Implementation Guide (5 minutes)
|
|
56
|
+
|
|
57
|
+
### 1. Core Architecture - Worktree Management System
|
|
58
|
+
|
|
59
|
+
Purpose: Create isolated Git worktrees for parallel SPEC development.
|
|
60
|
+
|
|
61
|
+
Key Components:
|
|
62
|
+
|
|
63
|
+
1. Worktree Registry - Central registry tracking all worktrees
|
|
64
|
+
2. Manager Layer - Core worktree operations including create, switch, remove, and sync
|
|
65
|
+
3. CLI Interface - User-friendly command interface
|
|
66
|
+
4. Models - Data structures for worktree metadata
|
|
67
|
+
5. Integration Layer - MoAI-ADK workflow integration
|
|
68
|
+
|
|
69
|
+
Registry Structure:
|
|
70
|
+
|
|
71
|
+
The registry file stores worktree metadata in JSON format. Each worktree entry contains an identifier, file path, branch name, creation timestamp, last sync time, status (active or merged), and base branch reference. The config section defines the worktree root directory, auto-sync preference, and cleanup behavior for merged branches.
|
|
72
|
+
|
|
73
|
+
File Structure:
|
|
74
|
+
|
|
75
|
+
The worktree system creates a dedicated directory structure. At the worktree root (typically ~/worktrees/ProjectName/), you will find the central registry JSON file and individual directories for each SPEC. Each SPEC directory contains a .git file for worktree metadata and a complete copy of all project files.
|
|
76
|
+
|
|
77
|
+
Detailed Reference: Refer to Worktree Management Module at modules/worktree-management.md
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### 2. CLI Commands - Complete Command Interface
|
|
82
|
+
|
|
83
|
+
Purpose: Provide intuitive CLI commands for worktree management.
|
|
84
|
+
|
|
85
|
+
Core Commands:
|
|
86
|
+
|
|
87
|
+
To create a new worktree for a SPEC, use the new command followed by the SPEC ID and description. To list all worktrees, use the list command. To switch to a specific worktree, use the switch command with the SPEC ID. To get the worktree path for shell integration, use the go command with eval. To sync a worktree with its base branch, use the sync command. To remove a worktree, use the remove command. To clean up merged worktrees, use the clean command. To show worktree status, use the status command. For configuration management, use the config command with get or set subcommands.
|
|
88
|
+
|
|
89
|
+
Command Categories:
|
|
90
|
+
|
|
91
|
+
1. Creation: The new command creates an isolated worktree
|
|
92
|
+
2. Navigation: The list, switch, and go commands enable browsing and navigating
|
|
93
|
+
3. Management: The sync, remove, and clean commands maintain worktrees
|
|
94
|
+
4. Status: The status command checks worktree state
|
|
95
|
+
5. Configuration: The config command manages settings
|
|
96
|
+
|
|
97
|
+
Shell Integration:
|
|
98
|
+
|
|
99
|
+
For switching to a worktree directory, two approaches work well. The switch command directly changes to the worktree directory. The go command outputs a cd command that can be evaluated by the shell, which is the recommended pattern for shell scripts and automation.
|
|
100
|
+
|
|
101
|
+
Detailed Reference: Refer to Worktree Commands Module at modules/worktree-commands.md
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
### 3. Parallel Development Workflow - Isolated SPEC Development
|
|
106
|
+
|
|
107
|
+
Purpose: Enable true parallel development without context switching.
|
|
108
|
+
|
|
109
|
+
Workflow Integration:
|
|
110
|
+
|
|
111
|
+
During the Plan Phase using /moai:1-plan, the SPEC is created and the worktree new command sets up automatic worktree isolation.
|
|
112
|
+
|
|
113
|
+
During the Development Phase, the isolated worktree environment provides independent Git state with zero context switching overhead.
|
|
114
|
+
|
|
115
|
+
During the Sync Phase using /moai:3-sync, the worktree sync command ensures clean integration with conflict resolution support.
|
|
116
|
+
|
|
117
|
+
During the Cleanup Phase, the worktree clean command provides automatic cleanup with registry maintenance.
|
|
118
|
+
|
|
119
|
+
Parallel Development Benefits:
|
|
120
|
+
|
|
121
|
+
1. Context Isolation: Each SPEC has its own Git state, files, and environment
|
|
122
|
+
2. Zero Switching Cost: Instant switching between worktrees
|
|
123
|
+
3. Independent Development: Work on multiple SPECs simultaneously
|
|
124
|
+
4. Safe Experimentation: Isolated environment for experimental features
|
|
125
|
+
5. Clean Integration: Automatic sync and conflict resolution
|
|
126
|
+
|
|
127
|
+
Example Workflow:
|
|
128
|
+
|
|
129
|
+
First, create a worktree for SPEC-001 with a description like "User Authentication" and switch to that directory. Then run /moai:2-run SPEC-001 to develop in isolation. Next, navigate back to the main repository and create another worktree for SPEC-002 with description "Payment Integration". Switch to that worktree and run /moai:2-run SPEC-002 for parallel development. When needed, switch between worktrees and continue development. Finally, sync both worktrees when ready for integration.
|
|
130
|
+
|
|
131
|
+
Detailed Reference: Refer to Parallel Development Module at modules/parallel-development.md
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### 4. Integration Patterns - MoAI-ADK Workflow Integration
|
|
136
|
+
|
|
137
|
+
Purpose: Seamless integration with MoAI-ADK Plan-Run-Sync workflow.
|
|
138
|
+
|
|
139
|
+
Integration Points:
|
|
140
|
+
|
|
141
|
+
During Plan Phase Integration with /moai:1-plan, after SPEC creation, create the worktree using the new command with the SPEC ID. The output provides guidance for switching to the worktree using either the switch command or the shell eval pattern with the go command.
|
|
142
|
+
|
|
143
|
+
During Development Phase with /moai:2-run, worktree isolation provides a clean development environment with independent Git state preventing conflicts and automatic registry tracking.
|
|
144
|
+
|
|
145
|
+
During Sync Phase with /moai:3-sync, before PR creation run the sync command for the SPEC. After PR merge, run the clean command with the merged-only flag to remove completed worktrees.
|
|
146
|
+
|
|
147
|
+
Auto-Detection Patterns:
|
|
148
|
+
|
|
149
|
+
The system detects worktree environments by checking for the registry file in the parent directory. When detected, the SPEC ID is extracted from the current directory name. The status command with sync-check option automatically identifies worktrees that need synchronization.
|
|
150
|
+
|
|
151
|
+
Configuration Integration:
|
|
152
|
+
|
|
153
|
+
The MoAI configuration supports worktree settings including auto_create for automatic worktree creation, auto_sync for automatic synchronization, cleanup_merged for automatic cleanup of merged branches, and worktree_root for specifying the worktree directory location with project name substitution.
|
|
154
|
+
|
|
155
|
+
Detailed Reference: Refer to Integration Patterns Module at modules/integration-patterns.md
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Advanced Implementation (10+ minutes)
|
|
160
|
+
|
|
161
|
+
### Multi-Developer Worktree Coordination
|
|
162
|
+
|
|
163
|
+
Shared Worktree Registry:
|
|
164
|
+
|
|
165
|
+
Configure team worktree settings by setting the registry type to team mode and specifying a shared registry path accessible to all team members. For developer-specific worktrees within the shared environment, use the developer flag when creating worktrees to prefix entries with the developer name. The list command with all-developers flag shows worktrees from all team members, and the status command with team-overview provides a consolidated team view.
|
|
166
|
+
|
|
167
|
+
### Advanced Synchronization Strategies
|
|
168
|
+
|
|
169
|
+
Selective Sync Patterns:
|
|
170
|
+
|
|
171
|
+
The sync command supports selective synchronization with include and exclude patterns to sync only specific directories or files. For conflict resolution, choose between auto-resolve for simple conflicts, interactive resolution for manual conflict handling, or abort to cancel the sync operation.
|
|
172
|
+
|
|
173
|
+
### Worktree Templates and Presets
|
|
174
|
+
|
|
175
|
+
Custom Worktree Templates:
|
|
176
|
+
|
|
177
|
+
Create worktrees with specific setups using the template flag. A frontend template might include npm install and eslint setup with pre-commit hooks. A backend template might include virtual environment creation, activation, and dependency installation. Configure custom templates through the config command by setting template-specific setup commands.
|
|
178
|
+
|
|
179
|
+
### Performance Optimization
|
|
180
|
+
|
|
181
|
+
Optimized Worktree Operations:
|
|
182
|
+
|
|
183
|
+
For faster worktree creation, use the shallow flag with a depth value for shallow clones. The background flag enables background synchronization. The parallel flag with all option enables parallel operations across all worktrees. Enable caching through configuration with cache enable and cache TTL settings for faster repeated operations.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Works Well With
|
|
188
|
+
|
|
189
|
+
Commands:
|
|
190
|
+
- moai:1-plan - SPEC creation with automatic worktree setup
|
|
191
|
+
- moai:2-run - Development in isolated worktree environment
|
|
192
|
+
- moai:3-sync - Integration with automatic worktree sync
|
|
193
|
+
- moai:9-feedback - Worktree workflow improvements
|
|
194
|
+
|
|
195
|
+
Skills:
|
|
196
|
+
- moai-foundation-core - Parallel development patterns
|
|
197
|
+
- moai-workflow-project - Project management integration
|
|
198
|
+
- moai-workflow-spec - SPEC-driven development
|
|
199
|
+
- moai-git-strategy - Git workflow optimization
|
|
200
|
+
|
|
201
|
+
Tools:
|
|
202
|
+
- Git worktree - Native Git worktree functionality
|
|
203
|
+
- Rich CLI - Formatted terminal output
|
|
204
|
+
- Click framework - Command-line interface framework
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Quick Decision Guide
|
|
209
|
+
|
|
210
|
+
For new SPEC development, use the worktree isolation pattern with auto-setup. The primary approach is worktree isolation and the supporting pattern is integration with /moai:1-plan.
|
|
211
|
+
|
|
212
|
+
For parallel development across multiple SPECs, use multiple worktrees with shell integration. The primary approach is maintaining multiple worktrees and the supporting pattern is fast switching between them.
|
|
213
|
+
|
|
214
|
+
For team coordination in shared environments, use shared registry with developer prefixes. The primary approach is the shared registry pattern and the supporting pattern is conflict resolution.
|
|
215
|
+
|
|
216
|
+
For code review workflows, use isolated review worktrees. The primary approach is worktree isolation for reviews and the supporting pattern is clean sync after review completion.
|
|
217
|
+
|
|
218
|
+
For experimental features, use temporary worktrees with auto-cleanup. The primary approach is creating temporary worktrees and the supporting pattern is safe experimentation with automatic removal.
|
|
219
|
+
|
|
220
|
+
Module Deep Dives:
|
|
221
|
+
- Worktree Commands: Refer to modules/worktree-commands.md for complete CLI reference
|
|
222
|
+
- Worktree Management: Refer to modules/worktree-management.md for core architecture
|
|
223
|
+
- Parallel Development: Refer to modules/parallel-development.md for workflow patterns
|
|
224
|
+
- Integration Patterns: Refer to modules/integration-patterns.md for MoAI-ADK integration
|
|
225
|
+
- Troubleshooting: Refer to modules/troubleshooting.md for problem resolution
|
|
226
|
+
|
|
227
|
+
Full Examples: Refer to examples.md
|
|
228
|
+
External Resources: Refer to reference.md
|