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
|
@@ -1,1384 +1,438 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
allowed-tools:
|
|
2
|
+
description: "Generate project documentation from codebase analysis"
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
type: workflow
|
|
5
|
+
allowed-tools: Task, AskUserQuestion, TodoWrite, Bash, Read, Write, Edit, Glob, Grep
|
|
6
6
|
model: inherit
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## Pre-execution Context
|
|
10
10
|
|
|
11
11
|
!git status --porcelain
|
|
12
|
-
!git config --get user.name
|
|
13
|
-
!git config --get user.email
|
|
14
12
|
!git branch --show-current
|
|
15
13
|
|
|
16
14
|
## Essential Files
|
|
17
15
|
|
|
18
|
-
@.moai/config/
|
|
16
|
+
@.moai/config/sections/language.yaml
|
|
19
17
|
@.moai/project/product.md
|
|
20
18
|
@.moai/project/structure.md
|
|
21
19
|
@.moai/project/tech.md
|
|
22
20
|
|
|
23
21
|
---
|
|
24
22
|
|
|
25
|
-
# MoAI-ADK Step 0:
|
|
23
|
+
# MoAI-ADK Step 0: Generate Project Documentation
|
|
26
24
|
|
|
27
25
|
User Interaction Architecture: AskUserQuestion tool must be used at COMMAND level only, not within subagents. Subagents invoked via Task() operate in isolated, stateless contexts and cannot interact with users directly.
|
|
28
26
|
|
|
29
|
-
Correct Pattern: Command collects user input via AskUserQuestion BEFORE delegating to agents. Pass collected choices as parameters to Task() calls.
|
|
30
|
-
|
|
31
27
|
Architecture: Commands delegate to Agents, which coordinate Skills. This command orchestrates exclusively through Task() tool.
|
|
32
28
|
|
|
33
|
-
Delegation Model: Complete agent-first pattern. All execution delegated to manager-project agent. Agents receive pre-collected user choices and execute without further user interaction.
|
|
34
|
-
|
|
35
29
|
Workflow Integration: This command implements Step 0 of Alfred's three-step execution model (Understand-Plan-Execute). See CLAUDE.md for complete workflow details.
|
|
36
30
|
|
|
37
31
|
---
|
|
38
32
|
|
|
39
|
-
##
|
|
40
|
-
|
|
41
|
-
Initialize or update project metadata using language-first architecture. The system supports five execution modes:
|
|
42
|
-
|
|
43
|
-
INITIALIZATION Mode: First-time project setup and configuration
|
|
44
|
-
AUTO-DETECT Mode: Existing projects with optional modification or re-initialization
|
|
45
|
-
SETTINGS Mode: Interactive tab-based configuration management with validation
|
|
46
|
-
UPDATE Mode: Template optimization after moai-adk package update
|
|
47
|
-
GLM Configuration Mode: GLM API integration setup via --glm-on parameter
|
|
48
|
-
|
|
49
|
-
WHY: Multi-mode design accommodates diverse user scenarios from fresh installs to updates.
|
|
50
|
-
|
|
51
|
-
IMPACT: Users can navigate project lifecycle without manual intervention.
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Associated Agents and Skills
|
|
56
|
-
|
|
57
|
-
The following agents and skills support this command:
|
|
33
|
+
## Command Purpose
|
|
58
34
|
|
|
59
|
-
|
|
35
|
+
Generate project documentation by analyzing the existing codebase. This command creates three documentation files:
|
|
60
36
|
|
|
61
|
-
|
|
37
|
+
- `.moai/project/product.md` - Product overview, features, and user value
|
|
38
|
+
- `.moai/project/structure.md` - Project architecture and directory organization
|
|
39
|
+
- `.moai/project/tech.md` - Technology stack, dependencies, and technical decisions
|
|
62
40
|
|
|
63
|
-
|
|
41
|
+
WHY: Documentation generation is separated from project initialization to allow CLI-based setup.
|
|
64
42
|
|
|
65
|
-
|
|
43
|
+
IMPACT: Users can generate accurate project documentation after codebase development.
|
|
66
44
|
|
|
67
|
-
|
|
45
|
+
Note: Project configuration (language, service, pricing, git mode) is handled by `moai init` CLI command.
|
|
68
46
|
|
|
69
47
|
---
|
|
70
48
|
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
Core Principle: Language configuration originates from moai-adk CLI initialization or update commands.
|
|
74
|
-
|
|
75
|
-
[HARD] Read language from .moai/config/config.yaml before starting any mode.
|
|
76
|
-
|
|
77
|
-
WHY: Preserving existing language settings prevents disruption to user experience.
|
|
78
|
-
|
|
79
|
-
IMPACT: Missing language context causes mode selection ambiguity.
|
|
80
|
-
|
|
81
|
-
Language is preserved across modes except when:
|
|
82
|
-
|
|
83
|
-
- [SOFT] User explicitly requests language change via SETTINGS mode, Tab 1
|
|
84
|
-
- [SOFT] Update mode detects language-compatible improvements
|
|
49
|
+
## Execution Modes
|
|
85
50
|
|
|
86
|
-
|
|
51
|
+
### Mode 1: Fresh Documentation (Default)
|
|
87
52
|
|
|
88
|
-
|
|
53
|
+
When `.moai/project/` directory is empty or missing:
|
|
89
54
|
|
|
90
|
-
|
|
55
|
+
1. Analyze codebase using Explore agent
|
|
56
|
+
2. Generate all three documentation files
|
|
57
|
+
3. Confirm completion to user
|
|
91
58
|
|
|
92
|
-
|
|
59
|
+
### Mode 2: Update Documentation
|
|
93
60
|
|
|
94
|
-
|
|
61
|
+
When documentation files already exist:
|
|
95
62
|
|
|
96
|
-
|
|
63
|
+
1. Read existing documentation
|
|
64
|
+
2. Analyze codebase for changes
|
|
65
|
+
3. Ask user which files to regenerate
|
|
66
|
+
4. Update selected files while preserving manual edits
|
|
97
67
|
|
|
98
68
|
---
|
|
99
69
|
|
|
100
|
-
##
|
|
70
|
+
## PHASE 1: Codebase Analysis
|
|
101
71
|
|
|
102
|
-
|
|
72
|
+
Goal: Understand the project structure and technology stack.
|
|
103
73
|
|
|
104
|
-
|
|
74
|
+
### Step 1: Invoke Explore Agent
|
|
105
75
|
|
|
106
|
-
|
|
107
|
-
- tab1-user.yaml: User and language settings (3 questions)
|
|
108
|
-
- tab2-project.yaml: Project metadata (2 questions)
|
|
109
|
-
- tab3-git.yaml: Git strategy and workflow (26 questions, includes GitHub Profile)
|
|
110
|
-
- tab4-quality.yaml: Quality principles and reports (7 questions)
|
|
111
|
-
- tab5-system.yaml: System and GitHub integration (7 questions)
|
|
76
|
+
[HARD] Delegate codebase analysis to the Explore subagent.
|
|
112
77
|
|
|
113
|
-
|
|
78
|
+
Use the Explore subagent to analyze the codebase with the following objectives:
|
|
114
79
|
|
|
115
|
-
|
|
80
|
+
Analysis Objectives:
|
|
116
81
|
|
|
117
|
-
|
|
82
|
+
1. Project Structure: Identify main directories, entry points, and architectural patterns
|
|
83
|
+
2. Technology Stack: Detect programming languages, frameworks, and key dependencies
|
|
84
|
+
3. Core Features: Identify main functionality and business logic locations
|
|
85
|
+
4. Build System: Detect build tools, package managers, and scripts
|
|
118
86
|
|
|
119
|
-
|
|
87
|
+
Output Format:
|
|
120
88
|
|
|
121
|
-
|
|
122
|
-
- Read user's conversation_language from sections/language.yaml
|
|
123
|
-
- Translate question text, options, and descriptions to user's language
|
|
124
|
-
- Present AskUserQuestion in user's language
|
|
125
|
-
- Store answer values in English (field values remain English)
|
|
89
|
+
The Explore agent should return a structured analysis including:
|
|
126
90
|
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
91
|
+
- Primary Language: Main programming language used
|
|
92
|
+
- Framework: Web framework or application framework
|
|
93
|
+
- Architecture Pattern: MVC, Clean Architecture, Microservices, etc.
|
|
94
|
+
- Key Directories: Source, tests, configuration, documentation
|
|
95
|
+
- Dependencies: Major libraries and their purposes
|
|
96
|
+
- Entry Points: Main files or startup scripts
|
|
132
97
|
|
|
133
|
-
WHY:
|
|
134
|
-
|
|
135
|
-
IMPACT: Adding new languages requires only translation logic, not question file duplication.
|
|
136
|
-
|
|
137
|
-
### Question Loading Priority
|
|
138
|
-
|
|
139
|
-
1. Load question definitions from .moai/config/questions/tab*.yaml
|
|
140
|
-
2. Read current values from .moai/config/sections/*.yaml
|
|
141
|
-
3. Present questions with current values as defaults
|
|
142
|
-
4. Store updated values back to sections/*.yaml
|
|
143
|
-
|
|
144
|
-
### Section File Updates
|
|
145
|
-
|
|
146
|
-
Configuration values are stored in modular section files:
|
|
147
|
-
- sections/user.yaml: User name (loaded by CLAUDE.md)
|
|
148
|
-
- sections/language.yaml: All language settings (loaded by CLAUDE.md)
|
|
149
|
-
- sections/project.yaml: Project metadata
|
|
150
|
-
- sections/git-strategy.yaml: Git workflow configuration
|
|
151
|
-
- sections/quality.yaml: TDD and quality settings
|
|
152
|
-
- sections/system.yaml: MoAI system settings
|
|
153
|
-
|
|
154
|
-
WHY: Modular sections enable token-efficient CLAUDE.md loading.
|
|
155
|
-
|
|
156
|
-
IMPACT: CLAUDE.md loads only user.yaml and language.yaml (~17 lines vs 400+ full config).
|
|
98
|
+
WHY: Accurate codebase analysis ensures documentation reflects actual project state.
|
|
157
99
|
|
|
158
100
|
---
|
|
159
101
|
|
|
160
|
-
##
|
|
161
|
-
|
|
162
|
-
This command uses agent execution patterns defined in CLAUDE.md (lines 96-120).
|
|
163
|
-
|
|
164
|
-
### Sequential Phase-Based Chaining PASS
|
|
165
|
-
|
|
166
|
-
Command implements sequential chaining through 3 main phases:
|
|
167
|
-
|
|
168
|
-
Phase Flow:
|
|
169
|
-
- Phase 1: Mode Detection & Language Configuration (determines operation mode and loads language)
|
|
170
|
-
- Phase 2: User Intent Collection (gathers project metadata and preferences via AskUserQuestion)
|
|
171
|
-
- Phase 3: Configuration & Documentation Generation (manager-project generates all project files)
|
|
172
|
-
|
|
173
|
-
Each phase receives outputs from previous phases as context.
|
|
174
|
-
|
|
175
|
-
WHY: Sequential execution ensures proper configuration and file generation
|
|
176
|
-
- Phase 2 requires mode and language from Phase 1 to display appropriate questions
|
|
177
|
-
- Phase 3 requires user responses from Phase 2 to generate correct configuration
|
|
178
|
-
- File generation requires complete configuration before creating documentation
|
|
179
|
-
|
|
180
|
-
IMPACT: Skipping phases would create incomplete or misconfigured project setup
|
|
181
|
-
|
|
182
|
-
### Parallel Execution FAIL
|
|
183
|
-
|
|
184
|
-
Not applicable - configuration requires sequential processing
|
|
185
|
-
|
|
186
|
-
WHY: Project initialization has strict ordering requirements
|
|
187
|
-
- Language must be determined before asking questions
|
|
188
|
-
- User responses must be collected before generating files
|
|
189
|
-
- Configuration must be validated before documentation generation
|
|
190
|
-
|
|
191
|
-
IMPACT: Parallel execution would create configuration conflicts and invalid project state
|
|
192
|
-
|
|
193
|
-
### Resumable Agent Support FAIL
|
|
194
|
-
|
|
195
|
-
Not applicable - command completes in single execution
|
|
196
|
-
|
|
197
|
-
WHY: Project setup is fast atomic operation
|
|
198
|
-
- Most setups complete in under 1 minute
|
|
199
|
-
- Configuration operations are atomic and transactional
|
|
200
|
-
- No long-running processes requiring checkpoints
|
|
201
|
-
|
|
202
|
-
IMPACT: Resume pattern unnecessary for typical project initialization
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
Refer to CLAUDE.md "Agent Chaining Patterns" (lines 96-120) for complete pattern architecture.
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
## Execution Philosophy
|
|
211
|
-
|
|
212
|
-
The project setup follows explicit delegation pattern: Understand the user intent, Plan the execution, Execute through specialized agents.
|
|
213
|
-
|
|
214
|
-
The command delegates all functional work to manager-project agent through Task() invocation.
|
|
215
|
-
|
|
216
|
-
The command maintains zero direct tool usage except for Task() orchestration and AskUserQuestion() user interaction.
|
|
217
|
-
|
|
218
|
-
[HARD] Tool Usage Restrictions:
|
|
219
|
-
|
|
220
|
-
- DO NOT use Read for file operations (delegated to manager-project)
|
|
221
|
-
- DO NOT use Write for file operations (delegated to manager-project)
|
|
222
|
-
- DO NOT use Edit for file modifications (delegated to manager-project)
|
|
223
|
-
- DO NOT use Bash for command execution (delegated to manager-project)
|
|
224
|
-
- DO NOT use TodoWrite for task management (delegated to manager-project)
|
|
225
|
-
- DO use Task() for agent orchestration
|
|
226
|
-
- DO use AskUserQuestion() for user interaction
|
|
227
|
-
|
|
228
|
-
WHY: Delegation enables specialized agent tool access and consistent execution context.
|
|
229
|
-
|
|
230
|
-
IMPACT: Direct tool usage would bypass agent expertise and validation layers.
|
|
231
|
-
|
|
232
|
-
Manager-project agent handles all implementation complexity including file operations, configuration management, and validation logic.
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
## PHASE 1: Command Routing and Analysis
|
|
237
|
-
|
|
238
|
-
Goal: Detect subcommand intent and prepare execution context for delegation.
|
|
239
|
-
|
|
240
|
-
### Step 1: Analyze User Command Arguments
|
|
241
|
-
|
|
242
|
-
[HARD] Parse user command to determine execution mode.
|
|
243
|
-
|
|
244
|
-
WHY: Correct mode detection ensures appropriate workflow execution.
|
|
245
|
-
|
|
246
|
-
IMPACT: Incorrect routing causes wrong execution flow.
|
|
247
|
-
|
|
248
|
-
The system routes based on provided arguments:
|
|
102
|
+
## PHASE 2: User Confirmation
|
|
249
103
|
|
|
250
|
-
|
|
251
|
-
- Detect token in --glm-on parameter
|
|
252
|
-
- If token missing: Attempt auto-load from .env.glm file
|
|
253
|
-
- If token missing: Attempt auto-load from ANTHROPIC_AUTH_TOKEN environment variable
|
|
254
|
-
- If all sources missing: Request token from user via AskUserQuestion
|
|
104
|
+
Goal: Confirm analysis results and get user approval before generating documentation.
|
|
255
105
|
|
|
256
|
-
|
|
257
|
-
- Always use interactive tab selection via AskUserQuestion
|
|
258
|
-
- User selects specific tab or "Modify All Tabs" option
|
|
106
|
+
### Step 1: Present Analysis Results
|
|
259
107
|
|
|
260
|
-
|
|
261
|
-
- No additional argument parsing required
|
|
108
|
+
Use AskUserQuestion to present the analysis summary and get approval:
|
|
262
109
|
|
|
263
|
-
|
|
264
|
-
- [HARD] Check if .moai/config/config.yaml exists
|
|
265
|
-
- File exists: Route to AUTO-DETECT MODE
|
|
266
|
-
- File missing: Route to INITIALIZATION MODE
|
|
110
|
+
Question: Based on codebase analysis, here is the project summary. Should I proceed with documentation generation?
|
|
267
111
|
|
|
268
|
-
|
|
269
|
-
- Display error message explaining valid command syntax
|
|
270
|
-
- Exit with error state
|
|
112
|
+
Present in user's conversation_language:
|
|
271
113
|
|
|
272
|
-
|
|
114
|
+
- Detected Language: [language]
|
|
115
|
+
- Framework: [framework]
|
|
116
|
+
- Architecture: [pattern]
|
|
117
|
+
- Key Features: [features list]
|
|
273
118
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
### Step 2: Delegate to Manager-Project Agent
|
|
277
|
-
|
|
278
|
-
[HARD] Invoke manager-project subagent with detected mode and context.
|
|
279
|
-
|
|
280
|
-
WHY: Specialized agent handles mode-specific complexity.
|
|
281
|
-
|
|
282
|
-
IMPACT: Direct execution would bypass validation and expertise layers.
|
|
283
|
-
|
|
284
|
-
Pass the following context to manager-project agent:
|
|
285
|
-
|
|
286
|
-
- Detected Mode value (INITIALIZATION, AUTO-DETECT, SETTINGS, UPDATE, or GLM_CONFIGURATION)
|
|
287
|
-
- Language Context read from .moai/config/config.yaml if present
|
|
288
|
-
- GLM Token value if GLM_CONFIGURATION mode selected
|
|
289
|
-
- User command arguments for reference
|
|
290
|
-
|
|
291
|
-
For INITIALIZATION:
|
|
292
|
-
|
|
293
|
-
- Check .moai/config.yaml for language setting
|
|
294
|
-
- If missing: Use moai-workflow-project skill for language detection
|
|
295
|
-
- If present: Use existing language, skip language selection
|
|
296
|
-
- Conduct language-aware user interview
|
|
297
|
-
- Generate project documentation
|
|
298
|
-
- Use moai-workflow-project skill for config creation
|
|
299
|
-
|
|
300
|
-
For AUTO-DETECT:
|
|
301
|
-
|
|
302
|
-
- Read current language from .moai/config.yaml
|
|
303
|
-
- Check if project documentation exists (.moai/project/product.md, structure.md, tech.md)
|
|
304
|
-
- If docs missing → PARTIAL INITIALIZATION state detected
|
|
305
|
-
- Use AskUserQuestion to ask user: "Your configuration exists but project documentation is missing. Would you like to complete the initialization now?"
|
|
306
|
-
- Options: "Yes, complete initialization" / "No, review configuration" / "Cancel"
|
|
307
|
-
- If user selects "Yes" → Switch to INITIALIZATION workflow
|
|
308
|
-
- Otherwise → Continue with regular AUTO-DETECT options
|
|
309
|
-
- Display current configuration (including language)
|
|
310
|
-
- Offer: Modify Settings / Change Language Only / Review Configuration / Re-initialize / Cancel
|
|
311
|
-
- If "Change Language Only" → Go to Tab 1 in SETTINGS mode
|
|
312
|
-
- Otherwise route to selected sub-action
|
|
119
|
+
Options:
|
|
313
120
|
|
|
314
|
-
|
|
121
|
+
- Proceed with documentation generation
|
|
122
|
+
- Review specific analysis details first
|
|
123
|
+
- Cancel and adjust project configuration
|
|
315
124
|
|
|
316
|
-
|
|
317
|
-
- Load tab schema from appropriate skill schema
|
|
318
|
-
- Execute batch questions via moai-workflow-project skill
|
|
319
|
-
- Process responses and update config.yaml atomically via moai-workflow-project skill
|
|
320
|
-
- Report changes and validation results
|
|
125
|
+
### Step 2: Handle User Response
|
|
321
126
|
|
|
322
|
-
|
|
127
|
+
If user selects "Review details":
|
|
323
128
|
|
|
324
|
-
-
|
|
325
|
-
-
|
|
326
|
-
- Update templates and configuration
|
|
327
|
-
- Auto-translate announcements to current language if needed
|
|
129
|
+
- Provide detailed analysis breakdown
|
|
130
|
+
- Allow corrections via follow-up AskUserQuestion
|
|
328
131
|
|
|
329
|
-
|
|
132
|
+
If user selects "Proceed":
|
|
330
133
|
|
|
331
|
-
-
|
|
332
|
-
- Check token resolution sequence:
|
|
333
|
-
1. Use provided token from `--glm-on <token>` argument (if not empty)
|
|
334
|
-
2. Auto-load from existing `.env.glm` file (if exists and token missing)
|
|
335
|
-
3. Auto-load from `ANTHROPIC_AUTH_TOKEN` environment variable (if set)
|
|
336
|
-
4. Request from user via AskUserQuestion (if all above missing)
|
|
337
|
-
- Execute GLM setup script: `uv run .moai/scripts/setup-glm.py <GLM_TOKEN>`
|
|
338
|
-
- Verify configuration in .claude/settings.local.json with proper keys
|
|
339
|
-
- Verify .env.glm created with secure permissions (0o600)
|
|
340
|
-
- Verify .gitignore includes .env.glm entry
|
|
341
|
-
- Report GLM configuration success to user with all configured keys
|
|
342
|
-
- Remind user: "Restart Claude Code to automatically load the new settings"
|
|
134
|
+
- Continue to Phase 3
|
|
343
135
|
|
|
344
|
-
|
|
136
|
+
If user selects "Cancel":
|
|
345
137
|
|
|
346
|
-
|
|
138
|
+
- Exit with guidance to modify configuration
|
|
347
139
|
|
|
348
140
|
---
|
|
349
141
|
|
|
350
|
-
##
|
|
351
|
-
|
|
352
|
-
Goal: Collect minimal user input, research best practices via web search, and propose optimized project configuration.
|
|
353
|
-
|
|
354
|
-
WHY: Reduce user burden from 40+ questions to 3 essential questions while providing expert-level recommendations based on current industry standards.
|
|
355
|
-
|
|
356
|
-
IMPACT: Non-developers can create production-ready projects with minimal technical knowledge.
|
|
357
|
-
|
|
358
|
-
### Step 1: Collect Essential Information (3 Questions Only)
|
|
359
|
-
|
|
360
|
-
[HARD] Use AskUserQuestion to collect ONLY 3 required fields at COMMAND level.
|
|
361
|
-
|
|
362
|
-
WHY: Minimal questions reduce user friction while capturing essential project identity.
|
|
363
|
-
|
|
364
|
-
IMPACT: More questions would overwhelm non-developers and slow down project creation.
|
|
365
|
-
|
|
366
|
-
Question 1 - Project Name:
|
|
367
|
-
|
|
368
|
-
- question: Translate to user's conversation_language with friendly guidance:
|
|
369
|
-
- Korean: "프로젝트 이름을 정해주세요. 영어 소문자와 하이픈(-)만 사용할 수 있어요."
|
|
370
|
-
- English: "Choose a project name. Use only lowercase letters and hyphens (-)."
|
|
371
|
-
- header: "Project Name"
|
|
372
|
-
- type: text input (user selects "Other" to type)
|
|
373
|
-
- examples shown to user:
|
|
374
|
-
- "snake-game" (게임 프로젝트)
|
|
375
|
-
- "my-first-app" (첫 번째 앱)
|
|
376
|
-
- "todo-list" (할 일 목록)
|
|
377
|
-
- validation: lowercase, no spaces, valid directory name
|
|
378
|
-
- helper: If user enters Korean or spaces, suggest alternatives automatically
|
|
379
|
-
|
|
380
|
-
Question 2 - Project Type:
|
|
381
|
-
|
|
382
|
-
- question: Translate to user's conversation_language with beginner-friendly tone:
|
|
383
|
-
- Korean: "어떤 종류의 프로젝트를 만들고 싶으세요?"
|
|
384
|
-
- English: "What kind of project would you like to create?"
|
|
385
|
-
- header: "Project Type"
|
|
386
|
-
- multiSelect: false
|
|
387
|
-
- options (max 4, beginner-friendly labels):
|
|
388
|
-
- label: "Web Browser App"
|
|
389
|
-
korean_label: "웹 브라우저에서 보는 것"
|
|
390
|
-
description: "크롬, 사파리 등 브라우저에서 열어보는 프로그램 (게임, 웹사이트 등)"
|
|
391
|
-
tech_hint: "HTML, CSS, JavaScript 또는 React, Vue 사용"
|
|
392
|
-
- label: "Mobile App"
|
|
393
|
-
korean_label: "스마트폰 앱"
|
|
394
|
-
description: "아이폰이나 안드로이드에서 설치해서 사용하는 앱"
|
|
395
|
-
tech_hint: "React Native, Flutter 사용"
|
|
396
|
-
- label: "Command Line Tool"
|
|
397
|
-
korean_label: "터미널에서 실행하는 도구"
|
|
398
|
-
description: "명령어로 실행하는 프로그램 (자동화 스크립트 등)"
|
|
399
|
-
tech_hint: "Python, Node.js, Go 사용"
|
|
400
|
-
- label: "Backend API"
|
|
401
|
-
korean_label: "서버/백엔드 서비스"
|
|
402
|
-
description: "데이터를 저장하고 처리하는 서버 프로그램"
|
|
403
|
-
tech_hint: "FastAPI, Express, Django 사용"
|
|
404
|
-
|
|
405
|
-
Question 3 - Project Description:
|
|
406
|
-
|
|
407
|
-
- question: Translate to user's conversation_language with examples:
|
|
408
|
-
- Korean: "만들고 싶은 것을 한 문장으로 설명해주세요."
|
|
409
|
-
- English: "Describe what you want to build in one sentence."
|
|
410
|
-
- header: "Description"
|
|
411
|
-
- type: text input (user selects "Other" to type)
|
|
412
|
-
- examples shown to user (in conversation_language):
|
|
413
|
-
- "방향키로 뱀을 조종해서 음식을 먹는 게임" (스네이크 게임)
|
|
414
|
-
- "할 일을 추가하고 완료 표시하는 앱" (투두 리스트)
|
|
415
|
-
- "날씨 정보를 보여주는 웹페이지" (날씨 앱)
|
|
416
|
-
- "사진을 업로드하고 공유하는 서비스" (갤러리)
|
|
417
|
-
- validation: non-empty string
|
|
418
|
-
- helper: Encourage natural language description, no technical terms required
|
|
419
|
-
|
|
420
|
-
Store responses in: $PROJECT_ESSENTIAL_INFO
|
|
421
|
-
|
|
422
|
-
### Step 2: Web Search for Best Practices
|
|
423
|
-
|
|
424
|
-
[HARD] After collecting essential info, perform targeted web searches using WebSearch tool.
|
|
425
|
-
|
|
426
|
-
WHY: Real-time research ensures recommendations reflect current industry standards (2025).
|
|
427
|
-
|
|
428
|
-
IMPACT: Outdated recommendations would create technical debt from project start.
|
|
429
|
-
|
|
430
|
-
Based on collected project_type, execute 3 parallel searches:
|
|
431
|
-
|
|
432
|
-
Search Query 1: "[project_type] best practices 2025"
|
|
433
|
-
- Extract: Design patterns, architecture recommendations, common pitfalls
|
|
434
|
-
|
|
435
|
-
Search Query 2: "[project_type] recommended tech stack 2025"
|
|
436
|
-
- Extract: Framework comparisons, library recommendations, version requirements
|
|
437
|
-
|
|
438
|
-
Search Query 3: "[project_type] [project_description keywords] architecture patterns"
|
|
439
|
-
- Extract: Domain-specific patterns, similar project architectures
|
|
440
|
-
|
|
441
|
-
Analyze search results and compile:
|
|
442
|
-
|
|
443
|
-
- Recommended Frameworks: Top 2-3 options with pros/cons
|
|
444
|
-
- UI Library: Best options for project type
|
|
445
|
-
- Testing Framework: Industry standard for project type
|
|
446
|
-
- Build Tools: Current best practices
|
|
447
|
-
- Deployment Target: Common deployment platforms
|
|
448
|
-
|
|
449
|
-
Store analysis in: $BEST_PRACTICES_ANALYSIS
|
|
450
|
-
|
|
451
|
-
### Step 3: Generate Smart Proposal
|
|
452
|
-
|
|
453
|
-
[HARD] Create structured proposal based on web search analysis.
|
|
454
|
-
|
|
455
|
-
WHY: Expert-curated recommendations reduce decision paralysis for non-developers.
|
|
456
|
-
|
|
457
|
-
IMPACT: Poor recommendations would lead to project failure or rework.
|
|
458
|
-
|
|
459
|
-
Proposal Structure:
|
|
460
|
-
|
|
461
|
-
Complexity Detection (before proposing):
|
|
462
|
-
- Simple Projects (recommend NO framework):
|
|
463
|
-
- Keywords: "게임", "game", "간단한", "simple", "첫", "first", "연습", "practice"
|
|
464
|
-
- Project types: Browser games, simple utilities, learning projects
|
|
465
|
-
- Recommended stack: HTML5 + CSS3 + Vanilla JavaScript (+ Canvas for games)
|
|
466
|
-
- Rationale: "프레임워크 없이 기본 기술만으로 빠르게 만들 수 있어요"
|
|
467
|
-
|
|
468
|
-
- Medium Projects (recommend lightweight framework):
|
|
469
|
-
- Keywords: "블로그", "포트폴리오", "랜딩페이지"
|
|
470
|
-
- Recommended stack: Next.js or Astro with minimal dependencies
|
|
471
|
-
|
|
472
|
-
- Complex Projects (recommend full framework):
|
|
473
|
-
- Keywords: "대시보드", "관리자", "SaaS", "플랫폼"
|
|
474
|
-
- Recommended stack: Full framework with state management, testing, etc.
|
|
475
|
-
|
|
476
|
-
Technology Stack Proposal:
|
|
477
|
-
- For Simple Projects (games, learning):
|
|
478
|
-
- Framework: "프레임워크 없음 - 순수 HTML/CSS/JavaScript로 충분해요"
|
|
479
|
-
- UI: "CSS만 사용 (Canvas for games)"
|
|
480
|
-
- Testing: "브라우저 개발자 도구로 확인"
|
|
481
|
-
- Build: "빌드 도구 없음 - 파일을 바로 브라우저에서 열면 됩니다"
|
|
482
|
-
|
|
483
|
-
- For Medium/Complex Projects:
|
|
484
|
-
- Framework: Primary recommendation with rationale
|
|
485
|
-
- UI Library: Recommended option
|
|
486
|
-
- Testing: Standard for project type
|
|
487
|
-
- Build Tools: Current best practice
|
|
488
|
-
|
|
489
|
-
Architecture Proposal:
|
|
490
|
-
- Directory Structure: Recommended layout for project type
|
|
491
|
-
- Key Patterns: Component patterns, state management approach
|
|
492
|
-
- Data Flow: How data moves through the application
|
|
493
|
-
|
|
494
|
-
Quality Standards:
|
|
495
|
-
- Test Coverage Target: Industry standard percentage
|
|
496
|
-
- TRUST 5 Level: Recommended validation level
|
|
497
|
-
- Accessibility: WCAG level appropriate for project
|
|
498
|
-
|
|
499
|
-
Store proposal in: $SMART_PROPOSAL
|
|
500
|
-
|
|
501
|
-
### Step 4: Present Proposal and Get User Approval
|
|
502
|
-
|
|
503
|
-
[HARD] Use AskUserQuestion to present proposal and get explicit user approval.
|
|
504
|
-
|
|
505
|
-
WHY: User must consent before any files are created or configuration applied.
|
|
506
|
-
|
|
507
|
-
IMPACT: Automatic execution without approval violates user autonomy and may create unwanted configuration.
|
|
508
|
-
|
|
509
|
-
Proposal Presentation Format:
|
|
510
|
-
|
|
511
|
-
Present in user's conversation_language with clear sections:
|
|
512
|
-
|
|
513
|
-
```markdown
|
|
514
|
-
Based on your project "{project_name}" ({project_type}), here is my recommendation:
|
|
515
|
-
|
|
516
|
-
**Technology Stack**
|
|
517
|
-
- Framework: {framework} - {brief_rationale}
|
|
518
|
-
- UI: {ui_library} - {brief_rationale}
|
|
519
|
-
- Testing: {test_framework}
|
|
520
|
-
- Build: {build_tools}
|
|
521
|
-
|
|
522
|
-
**Architecture**
|
|
523
|
-
- Structure: {directory_pattern}
|
|
524
|
-
- Patterns: {key_patterns}
|
|
525
|
-
|
|
526
|
-
**Quality Standards**
|
|
527
|
-
- Coverage: {coverage_target}%
|
|
528
|
-
- TRUST Level: {trust_level}
|
|
529
|
-
|
|
530
|
-
Sources: [List actual WebSearch sources used]
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
Approval Question:
|
|
534
|
-
|
|
535
|
-
- question: Translate "Do you approve this configuration? You can modify specific parts or request a different approach." to user's conversation_language
|
|
536
|
-
- header: "Approval"
|
|
537
|
-
- multiSelect: false
|
|
538
|
-
- options:
|
|
539
|
-
- label: "Approve and Continue"
|
|
540
|
-
description: "Create project with these settings"
|
|
541
|
-
- label: "Modify Tech Stack"
|
|
542
|
-
description: "Keep architecture, change framework/libraries"
|
|
543
|
-
- label: "Modify Architecture"
|
|
544
|
-
description: "Keep tech stack, change structure/patterns"
|
|
545
|
-
- label: "Start Over"
|
|
546
|
-
description: "Re-run search with different criteria"
|
|
547
|
-
|
|
548
|
-
If user selects "Modify":
|
|
549
|
-
- Use additional AskUserQuestion to collect specific changes
|
|
550
|
-
- Update $SMART_PROPOSAL with modifications
|
|
551
|
-
- Re-present for approval
|
|
142
|
+
## PHASE 3: Documentation Generation
|
|
552
143
|
|
|
553
|
-
|
|
144
|
+
Goal: Generate project documentation files.
|
|
554
145
|
|
|
555
|
-
|
|
146
|
+
### Step 1: Invoke Manager-Docs Agent
|
|
556
147
|
|
|
557
|
-
|
|
148
|
+
[HARD] Delegate documentation generation to the manager-docs subagent.
|
|
558
149
|
|
|
559
|
-
|
|
150
|
+
Use the manager-docs subagent to generate documentation with the following parameters:
|
|
560
151
|
|
|
561
|
-
|
|
152
|
+
- Analysis Results: Pass the Explore agent analysis
|
|
153
|
+
- User Confirmation: Pass approved project summary
|
|
154
|
+
- Output Directory: `.moai/project/`
|
|
155
|
+
- Language: User's conversation_language from config
|
|
562
156
|
|
|
563
|
-
|
|
157
|
+
Documentation Files:
|
|
564
158
|
|
|
565
|
-
|
|
159
|
+
1. product.md:
|
|
160
|
+
- Project name and description
|
|
161
|
+
- Target audience
|
|
162
|
+
- Core features and benefits
|
|
163
|
+
- Use cases and examples
|
|
566
164
|
|
|
567
|
-
|
|
568
|
-
-
|
|
569
|
-
-
|
|
570
|
-
-
|
|
571
|
-
-
|
|
572
|
-
- WebSearch Sources: URLs used for recommendations
|
|
573
|
-
|
|
574
|
-
Agent responsibilities:
|
|
575
|
-
- Generate .moai/project/product.md from project description + approved proposal
|
|
576
|
-
- Generate .moai/project/structure.md from architecture proposal
|
|
577
|
-
- Generate .moai/project/tech.md from technology stack proposal
|
|
578
|
-
- Create .moai/config/config.yaml with all settings
|
|
579
|
-
- Apply language settings throughout
|
|
580
|
-
|
|
581
|
-
Output: Complete project initialization with documentation
|
|
582
|
-
|
|
583
|
-
---
|
|
165
|
+
2. structure.md:
|
|
166
|
+
- Directory tree visualization
|
|
167
|
+
- Purpose of each major directory
|
|
168
|
+
- Key file locations
|
|
169
|
+
- Module organization
|
|
584
170
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
The manager-project agent handles all mode-specific workflows:
|
|
592
|
-
|
|
593
|
-
INITIALIZATION MODE:
|
|
594
|
-
|
|
595
|
-
- Read language from config.yaml (or use CLI default if missing)
|
|
596
|
-
- Conduct language-aware user interview (via Skill)
|
|
597
|
-
- Project type detection and configuration
|
|
598
|
-
- Documentation generation
|
|
599
|
-
- Auto-translate announcements to selected language
|
|
600
|
-
|
|
601
|
-
AUTO-DETECT MODE:
|
|
602
|
-
|
|
603
|
-
- Read current language from config.yaml
|
|
604
|
-
- CRITICAL CHECK: Detect partial initialization state
|
|
605
|
-
- Check if project documentation exists in `.moai/project/`:
|
|
606
|
-
- product.md, structure.md, tech.md
|
|
607
|
-
- If ANY doc missing → Use AskUserQuestion (in user's language)
|
|
608
|
-
- Question: "Your configuration exists but project documentation is missing. Would you like to complete the initialization?"
|
|
609
|
-
- Options: "Yes, complete initialization" / "No, review configuration" / "Cancel"
|
|
610
|
-
- If "Yes" → Switch to INITIALIZATION workflow
|
|
611
|
-
- Display current configuration (including language, initialization status)
|
|
612
|
-
- Offer: Modify Settings / Change Language Only / Review Configuration / Re-initialize / Cancel
|
|
613
|
-
- "Change Language Only" shortcut → SETTINGS mode, Tab 1 only
|
|
614
|
-
- Route to selected sub-action
|
|
615
|
-
- Language-Aware: All AskUserQuestion calls in user's conversation_language (NO EMOJIS)
|
|
616
|
-
|
|
617
|
-
SETTINGS MODE (NEW):
|
|
618
|
-
|
|
619
|
-
- Read current language from config.yaml
|
|
620
|
-
- Load tab schema for batch-based questions
|
|
621
|
-
- Execute batch questions with AskUserQuestion
|
|
622
|
-
- Process user responses
|
|
623
|
-
- Validate settings at critical checkpoints
|
|
624
|
-
- Delegate config update to UnifiedConfigManager from moai-workflow-project
|
|
625
|
-
- Report changes
|
|
626
|
-
|
|
627
|
-
UPDATE MODE:
|
|
628
|
-
|
|
629
|
-
- Preserve language from config backup
|
|
630
|
-
- **Config Format Migration (v0.32.0+):**
|
|
631
|
-
- Check if `.moai/config/config.yaml` exists (legacy format)
|
|
632
|
-
- If exists: Convert to `config.yaml` with intelligent optimization:
|
|
633
|
-
- Preserve all user settings and customizations
|
|
634
|
-
- Add meaningful comments explaining each section
|
|
635
|
-
- Optimize structure (remove dead fields, consolidate duplicates)
|
|
636
|
-
- Use YAML's native features:
|
|
637
|
-
- Multi-line strings for long descriptions
|
|
638
|
-
- Inline comments for field explanations
|
|
639
|
-
- Better readability with proper indentation
|
|
640
|
-
- Report migration success to user
|
|
641
|
-
- Analyze backup and compare templates
|
|
642
|
-
- Perform smart template merging
|
|
643
|
-
- Update `.moai/` files with new features
|
|
644
|
-
- Auto-translate announcements to current language if needed
|
|
645
|
-
|
|
646
|
-
### Language-Aware Announcements
|
|
647
|
-
|
|
648
|
-
After any language selection or change, auto-translate company announcements:
|
|
649
|
-
|
|
650
|
-
```bash
|
|
651
|
-
uv run $CLAUDE_PROJECT_DIR/.claude/hooks/moai/shared/utils/announcement_translator.py
|
|
652
|
-
```
|
|
171
|
+
3. tech.md:
|
|
172
|
+
- Technology stack overview
|
|
173
|
+
- Framework and library choices with rationale
|
|
174
|
+
- Development environment requirements
|
|
175
|
+
- Build and deployment configuration
|
|
653
176
|
|
|
654
|
-
|
|
177
|
+
WHY: Manager-docs agent has specialized expertise in technical writing and documentation standards.
|
|
655
178
|
|
|
656
179
|
---
|
|
657
180
|
|
|
658
|
-
##
|
|
659
|
-
|
|
660
|
-
> Version: v2.0.0 | Last Updated: 2025-11-19 | Changes: Removed [tab_ID] arg, added git_strategy.mode selection, expanded Tab 3 with conditional batches, fixed 26 field name errors, +16 settings
|
|
661
|
-
|
|
662
|
-
### Overview
|
|
663
|
-
|
|
664
|
-
The SETTINGS MODE uses a tab-based batch question system to provide organized, user-friendly configuration management:
|
|
181
|
+
## PHASE 3.5: Development Environment Check
|
|
665
182
|
|
|
666
|
-
|
|
667
|
-
- 17 batches: Grouped questions within tabs (added 5 batches: Batch 3.0, 3.3, 3.5, 3.6, improved organization)
|
|
668
|
-
- 57 settings: Complete config.yaml v0.28.0 coverage (+39% from v1.0.0)
|
|
669
|
-
- 54 questions: User-facing questions (+14 from v1.0.0)
|
|
670
|
-
- Conditional batches: Tab 3 shows Personal/Team/Hybrid batches based on mode selection
|
|
671
|
-
- Atomic updates: Safe deep merge with backup/rollback
|
|
183
|
+
Goal: Verify LSP servers are installed for detected tech stack and guide installation if needed.
|
|
672
184
|
|
|
673
|
-
###
|
|
674
|
-
|
|
675
|
-
When user runs `/moai:0-project setting` (without tab_ID), present tab selection:
|
|
676
|
-
|
|
677
|
-
```markdown
|
|
678
|
-
Which settings tab would you like to modify?
|
|
679
|
-
|
|
680
|
-
Options:
|
|
185
|
+
### Step 1: Check LSP Server Status
|
|
681
186
|
|
|
682
|
-
|
|
187
|
+
Based on the detected primary language from Phase 1, check if corresponding LSP server is available.
|
|
683
188
|
|
|
684
|
-
|
|
189
|
+
Language-to-LSP Mapping:
|
|
685
190
|
|
|
686
|
-
|
|
191
|
+
- Python: pyright or pylsp (check with `which pyright` or `which pylsp`)
|
|
192
|
+
- TypeScript/JavaScript: typescript-language-server (check with `which typescript-language-server`)
|
|
193
|
+
- Go: gopls (check with `which gopls`)
|
|
194
|
+
- Rust: rust-analyzer (check with `which rust-analyzer`)
|
|
195
|
+
- Java: jdtls (Eclipse JDT Language Server)
|
|
196
|
+
- Ruby: solargraph (check with `which solargraph`)
|
|
197
|
+
- PHP: intelephense (check via npm)
|
|
198
|
+
- C/C++: clangd (check with `which clangd`)
|
|
687
199
|
|
|
688
|
-
|
|
200
|
+
### Step 2: Present LSP Status to User
|
|
689
201
|
|
|
690
|
-
|
|
202
|
+
If LSP server is NOT installed, inform user with installation guidance:
|
|
691
203
|
|
|
692
|
-
|
|
204
|
+
Use conversation_language to display:
|
|
693
205
|
|
|
694
|
-
|
|
206
|
+
LSP Server Status Message Format:
|
|
695
207
|
|
|
696
|
-
- Configure TRUST 5, report generation, storage location
|
|
697
|
-
|
|
698
|
-
5. Tab 5: System & GitHub Integration
|
|
699
|
-
|
|
700
|
-
- Configure MoAI system, GitHub automation
|
|
701
|
-
|
|
702
|
-
6. Modify All Tabs
|
|
703
|
-
- Recommended: Tab 1 → Tab 2 → Tab 3 → Others
|
|
704
208
|
```
|
|
209
|
+
Development Environment Check:
|
|
705
210
|
|
|
706
|
-
|
|
211
|
+
Detected Language: [language]
|
|
212
|
+
LSP Server: [server_name]
|
|
213
|
+
Status: Not Installed
|
|
707
214
|
|
|
708
|
-
|
|
709
|
-
|
|
215
|
+
For better code intelligence (autocomplete, diagnostics, go-to-definition),
|
|
216
|
+
install the recommended LSP server:
|
|
710
217
|
|
|
711
|
-
|
|
712
|
-
2. Select another tab
|
|
218
|
+
[Installation command based on language]
|
|
713
219
|
```
|
|
714
220
|
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
Location: `.claude/skills/moai-workflow-project/schemas/tab_schema.json`
|
|
221
|
+
Installation Commands by Language:
|
|
718
222
|
|
|
719
|
-
|
|
223
|
+
Python:
|
|
720
224
|
|
|
721
|
-
-
|
|
722
|
-
|
|
723
|
-
- NOTE: conversation_language_name is auto-updated when conversation_language changes
|
|
724
|
-
- Setting count: 3 | Critical checkpoint
|
|
225
|
+
- pyright: `npm install -g pyright` or `pip install pyright`
|
|
226
|
+
- pylsp: `pip install python-lsp-server`
|
|
725
227
|
|
|
726
|
-
|
|
228
|
+
TypeScript/JavaScript:
|
|
727
229
|
|
|
728
|
-
-
|
|
729
|
-
- Project name, description
|
|
730
|
-
- NOTE: GitHub Profile moved to Tab 3, Project Mode removed
|
|
731
|
-
- Batch 2.2: Auto-processed locale settings (0 questions - internal analysis only)
|
|
732
|
-
- project.locale, default_language, optimized_for_language (auto-determined from conversation_language)
|
|
733
|
-
- NOTE: No user input needed. These 3 fields update automatically when conversation_language changes
|
|
734
|
-
- Auto-Processing Delegation: Command does NOT perform auto-processing. manager-project agent receives user selections, determines derived fields, then delegates atomic update to UnifiedConfigManager skill.
|
|
735
|
-
- Setting count: 2
|
|
230
|
+
- `npm install -g typescript typescript-language-server`
|
|
736
231
|
|
|
737
|
-
|
|
232
|
+
Go:
|
|
738
233
|
|
|
739
|
-
-
|
|
740
|
-
- GitHub username (e.g., @GoosLab) - moved from Tab 2
|
|
741
|
-
- Batch 3.0: Workflow mode selection (1 question - Manual/Personal/Team) - Controls visibility of subsequent batches
|
|
742
|
-
- Batch 3.1: Manual core settings (4 questions) - CONDITIONAL (Manual only)
|
|
743
|
-
- Batch 3.2: Manual push settings (1 question) - CONDITIONAL (Manual only)
|
|
744
|
-
- Batch 3.3: Personal core settings (4 questions) - CONDITIONAL (Personal only)
|
|
745
|
-
- Batch 3.4: Personal commit & push settings (3 questions) - CONDITIONAL (Personal only)
|
|
746
|
-
- Batch 3.5: Personal branch settings (2 questions) - CONDITIONAL (Personal only)
|
|
747
|
-
- Batch 3.6: Team core settings (4 questions) - CONDITIONAL (Team only)
|
|
748
|
-
- Batch 3.7: Team commit & PR settings (3 questions) - CONDITIONAL (Team only)
|
|
749
|
-
- Batch 3.8: Team branch & protection settings (3 questions) - CONDITIONAL (Team only)
|
|
750
|
-
- Batch 3.9: Team branch naming settings (2 questions) - CONDITIONAL (Team only)
|
|
751
|
-
- Setting count: 26 | Critical checkpoint for Git conflicts & mode consistency
|
|
234
|
+
- `go install golang.org/x/tools/gopls@latest`
|
|
752
235
|
|
|
753
|
-
|
|
236
|
+
Rust:
|
|
754
237
|
|
|
755
|
-
-
|
|
756
|
-
-
|
|
757
|
-
- Setting count: 9 (same count, better fields)
|
|
238
|
+
- Via rustup: `rustup component add rust-analyzer`
|
|
239
|
+
- Or standalone: Download from GitHub releases
|
|
758
240
|
|
|
759
|
-
|
|
241
|
+
Ruby:
|
|
760
242
|
|
|
761
|
-
-
|
|
762
|
-
- Batch 5.2: GitHub automation settings (5 questions - expanded from 3, added templates & spec_workflow fields)
|
|
763
|
-
- Setting count: 11 (+3 from v1.0.0)
|
|
243
|
+
- `gem install solargraph`
|
|
764
244
|
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
#### Step 1: Load Tab Schema
|
|
768
|
-
|
|
769
|
-
```markdown
|
|
770
|
-
Load: .claude/skills/moai-workflow-project/schemas/tab_schema.json
|
|
771
|
-
Extract:
|
|
772
|
-
|
|
773
|
-
- Tab definition (label, batches)
|
|
774
|
-
- Batch questions (max 4 per batch)
|
|
775
|
-
- Field mappings to config.yaml paths
|
|
776
|
-
- Current values from existing config
|
|
777
|
-
- Validation rules
|
|
778
|
-
```
|
|
779
|
-
|
|
780
|
-
#### Step 2: Execute Batch via AskUserQuestion
|
|
781
|
-
|
|
782
|
-
Single Batch Execution Example (Tab 1, Batch 1.1):
|
|
783
|
-
|
|
784
|
-
```markdown
|
|
785
|
-
Call: AskUserQuestion(
|
|
786
|
-
questions: [
|
|
787
|
-
{
|
|
788
|
-
question: "How would you like to configure the user name? (current: GoosLab)",
|
|
789
|
-
header: "User Name",
|
|
790
|
-
multiSelect: false,
|
|
791
|
-
options: [
|
|
792
|
-
{label: "Keep Current Value", description: "Continue using GoosLab"},
|
|
793
|
-
{label: "Change", description: "Select Other to enter a new name"}
|
|
794
|
-
]
|
|
795
|
-
},
|
|
796
|
-
{
|
|
797
|
-
question: "What language should Alfred use in conversations? (current: Korean/ko)",
|
|
798
|
-
header: "Conversation Language",
|
|
799
|
-
multiSelect: false,
|
|
800
|
-
options: [
|
|
801
|
-
{label: "Korean (한국어)", description: "모든 콘텐츠를 한국어로 생성"},
|
|
802
|
-
{label: "English (English)", description: "All content will be generated in English"},
|
|
803
|
-
{label: "Japanese (日本語)", description: "日本語で全てのコンテンツを生成"},
|
|
804
|
-
{label: "Chinese (中文)", description: "中文内容生成"},
|
|
805
|
-
{label: "Custom (기타)", description: "직접 언어 코드 입력 (예: th, ar, vi, nl)"}
|
|
806
|
-
]
|
|
807
|
-
},
|
|
808
|
-
{
|
|
809
|
-
question: "What is the display name for the selected language? (current: Korean)",
|
|
810
|
-
header: "Language Display Name",
|
|
811
|
-
multiSelect: false,
|
|
812
|
-
options: [...]
|
|
813
|
-
},
|
|
814
|
-
{
|
|
815
|
-
question: "What language should agent prompts use? (current: same as conversation)",
|
|
816
|
-
header: "Agent Prompt Language",
|
|
817
|
-
multiSelect: false,
|
|
818
|
-
options: [...]
|
|
819
|
-
}
|
|
820
|
-
]
|
|
821
|
-
)
|
|
822
|
-
|
|
823
|
-
Process user responses from AskUserQuestion into config update:
|
|
824
|
-
user.name → user_input_or_keep_current
|
|
825
|
-
language.conversation_language → selected_value
|
|
826
|
-
language.conversation_language_name → user_input_or_keep_current
|
|
827
|
-
language.agent_prompt_language → selected_value
|
|
828
|
-
```
|
|
829
|
-
|
|
830
|
-
#### Step 3: Process Responses
|
|
831
|
-
|
|
832
|
-
Mapping Logic:
|
|
833
|
-
|
|
834
|
-
```markdown
|
|
835
|
-
For each question in batch:
|
|
836
|
-
|
|
837
|
-
1. Get field path from schema (e.g., "user.name")
|
|
838
|
-
2. Get user's response (selected option or custom input)
|
|
839
|
-
3. Convert to config.yaml value:
|
|
840
|
-
- "Other" option → Use custom input from user
|
|
841
|
-
- Selected option → Use option's mapped value
|
|
842
|
-
- "Keep current" → Use existing value
|
|
843
|
-
4. Build update object: {field_path: new_value}
|
|
844
|
-
5. Collect all updates from batch
|
|
845
|
-
```
|
|
245
|
+
PHP:
|
|
846
246
|
|
|
847
|
-
|
|
247
|
+
- `npm install -g intelephense`
|
|
848
248
|
|
|
849
|
-
|
|
249
|
+
C/C++:
|
|
850
250
|
|
|
851
|
-
|
|
251
|
+
- macOS: `brew install llvm` (includes clangd)
|
|
252
|
+
- Ubuntu: `apt install clangd`
|
|
852
253
|
|
|
853
|
-
|
|
854
|
-
- Verify agent_prompt_language consistency
|
|
855
|
-
- Error recovery: Re-ask Tab 1 if validation fails
|
|
856
|
-
|
|
857
|
-
2. After Tab 3 (Git strategy):
|
|
858
|
-
|
|
859
|
-
- Validate Personal/Team mode conflicts
|
|
860
|
-
- If Personal: main_branch should not be "develop"
|
|
861
|
-
- If Team: PR base must be develop or main (never direct to main)
|
|
862
|
-
- Validate branch naming consistency
|
|
863
|
-
- Error recovery: Highlight conflicts, offer fix suggestions
|
|
864
|
-
|
|
865
|
-
3. Before Config Update (Final validation):
|
|
866
|
-
- Check all required fields are set (marked required: true in schema)
|
|
867
|
-
- Verify no conflicting settings
|
|
868
|
-
- Validate field value types (string, bool, number, array)
|
|
869
|
-
- Report validation results to user
|
|
870
|
-
|
|
871
|
-
#### Step 5: Delegate Atomic Config Update to Skill
|
|
872
|
-
|
|
873
|
-
Update Pattern (Skill-delegated):
|
|
874
|
-
|
|
875
|
-
```markdown
|
|
876
|
-
Delegate ALL config update operations to UnifiedConfigManager from moai-workflow-project:
|
|
877
|
-
|
|
878
|
-
- Manager handles backup/rollback logic internally
|
|
879
|
-
- Manager performs deep merge with validation
|
|
880
|
-
- Manager writes atomically to config.yaml
|
|
881
|
-
- Manager reports success/failure
|
|
882
|
-
|
|
883
|
-
Agent responsibilities:
|
|
884
|
-
|
|
885
|
-
- Collect user responses from AskUserQuestion
|
|
886
|
-
- Map responses to config field paths
|
|
887
|
-
- Pass update map to Skill
|
|
888
|
-
- Report results to user
|
|
889
|
-
```
|
|
890
|
-
|
|
891
|
-
UnifiedConfigManager Responsibilities:
|
|
892
|
-
|
|
893
|
-
- UnifiedConfigManager from moai-workflow-project handles ALL file operations
|
|
894
|
-
- Internal backup/rollback if needed
|
|
895
|
-
- Atomic write and validation
|
|
896
|
-
- Error reporting
|
|
897
|
-
|
|
898
|
-
### Implementation Details
|
|
899
|
-
|
|
900
|
-
#### Tab 1 Execution Example
|
|
901
|
-
|
|
902
|
-
User runs: `/moai:0-project setting tab_1_user_language`
|
|
903
|
-
|
|
904
|
-
```
|
|
905
|
-
Step 1: Project-manager loads tab schema
|
|
906
|
-
Step 2: Extracts Tab 1 (tab_1_user_language)
|
|
907
|
-
Step 3: Gets Batch 1.1 (基本設定)
|
|
908
|
-
Step 4: Loads current values from config.yaml including extended language settings:
|
|
909
|
-
- User configuration: user.name value
|
|
910
|
-
- Conversation language: language.conversation_language (ko, en, ja, zh, etc.)
|
|
911
|
-
- Agent prompt language: language.agent_prompt_language
|
|
912
|
-
- Additional language settings: git_commit_messages, code_comments, documentation, error_messages
|
|
913
|
-
Step 5: Calls AskUserQuestion with 3 questions for core language settings
|
|
914
|
-
- Question 1: "The user name is currently set to [current value]. Is this correct?"
|
|
915
|
-
- Question 2: "What language should Alfred use in conversations? (current: [language display name]/[code])"
|
|
916
|
-
- Question 3: "The agent internal prompt language is currently set to [display name]/[code]. How would you like to configure this?"
|
|
917
|
-
Step 6: Receives user responses and maps them to configuration fields
|
|
918
|
-
Step 7: Processes each response (map to config fields)
|
|
919
|
-
- user.name response → user.name
|
|
920
|
-
- conversation_language response → language.conversation_language
|
|
921
|
-
- Auto-update: conversation_language_name (ko → Korean, en → English, ja → Japanese, es → Spanish)
|
|
922
|
-
- agent_prompt_language response → language.agent_prompt_language
|
|
923
|
-
Step 8: Runs Tab 1 validation checkpoint
|
|
924
|
-
- Check language is valid
|
|
925
|
-
- Verify consistency
|
|
926
|
-
Step 9: Delegates atomic update to UnifiedConfigManager from moai-workflow-project
|
|
927
|
-
- Manager handles backup/rollback internally
|
|
928
|
-
- Manager performs deep merge (including auto-updated conversation_language_name)
|
|
929
|
-
- Manager verifies final structure
|
|
930
|
-
Step 10: Receives result from Manager
|
|
931
|
-
- Success: Report changes made (4 fields: user.name, conversation_language, conversation_language_name [auto], agent_prompt_language)
|
|
932
|
-
- Failure: Report error from Skill with recovery suggestions
|
|
933
|
-
```
|
|
934
|
-
|
|
935
|
-
#### Tab 3 Validation Example (Complex - NEW v2.0.0)
|
|
936
|
-
|
|
937
|
-
User runs: `/moai:0-project setting` (or `/moai:0-project setting tab_3_git_strategy`)
|
|
938
|
-
|
|
939
|
-
```
|
|
940
|
-
Step 1: Load Tab 3 (tab_3_git_strategy) - 6 batches total
|
|
941
|
-
Step 2: Execute Batch 3.0 (Workflow Mode Selection)
|
|
942
|
-
- User selects: Personal, Team, or Hybrid
|
|
943
|
-
- Validation: Confirm mode selection
|
|
944
|
-
Step 3: CONDITIONAL LOGIC - Based on mode:
|
|
945
|
-
|
|
946
|
-
IF mode = Personal:
|
|
947
|
-
- Execute Batch 3.1 (Personal core settings)
|
|
948
|
-
- Execute Batch 3.2 (Personal branch & cleanup)
|
|
949
|
-
- Execute Batch 3.3 (Personal protection & merge)
|
|
950
|
-
- Skip Batches 3.4, 3.5, 3.6 (Team batches)
|
|
951
|
-
|
|
952
|
-
ELSE IF mode = Team:
|
|
953
|
-
- Skip Batches 3.1, 3.2, 3.3 (Personal batches)
|
|
954
|
-
- Execute Batch 3.4 (Team core settings)
|
|
955
|
-
- Execute Batch 3.5 (Team branch & protection)
|
|
956
|
-
- Execute Batch 3.6 (Team safety & merge)
|
|
957
|
-
|
|
958
|
-
ELSE IF mode = Hybrid:
|
|
959
|
-
- Execute ALL batches (3.1-3.6) for full flexibility
|
|
960
|
-
|
|
961
|
-
Step 4: Run Tab 3 validation checkpoint
|
|
962
|
-
- Validate mode selection consistency
|
|
963
|
-
- Check Personal/Team conflicts
|
|
964
|
-
- Example: If Personal: base_branch should be "main" (not "develop")
|
|
965
|
-
- Example: If Team: prevent_main_direct_merge should be true
|
|
966
|
-
- Example: If Team: default_pr_base must be "develop" or "main"
|
|
967
|
-
- Branch naming consistency
|
|
968
|
-
- Let user confirm or retry if conflicts found
|
|
969
|
-
|
|
970
|
-
Step 5: Merge all executed batches into single update object
|
|
971
|
-
Step 6: Delegate atomic update to UnifiedConfigManager from moai-workflow-project
|
|
972
|
-
- Manager handles backup/rollback internally
|
|
973
|
-
- Manager performs deep merge with final validation
|
|
974
|
-
|
|
975
|
-
Step 7: Report all 29 settings changes (or 16-20 depending on mode)
|
|
976
|
-
```
|
|
977
|
-
|
|
978
|
-
#### Multi-Tab Workflow Example
|
|
979
|
-
|
|
980
|
-
User runs: `/moai:0-project setting` (always interactive, no tab_ID) → Tab Selection Screen
|
|
981
|
-
|
|
982
|
-
```
|
|
983
|
-
Flow:
|
|
984
|
-
1. Show Tab Selection Screen (Which settings tab would you like to modify?)
|
|
985
|
-
2. User selects tab or "Modify All Tabs"
|
|
986
|
-
3. Execute selected tab
|
|
987
|
-
- Tab 1 (REQUIRED): User & Language (1 batch, 3 questions)
|
|
988
|
-
- Tab 2 (RECOMMENDED): Project Info (2 batches, 2 questions in batch 2.1 + 0 questions auto-processing in batch 2.2)
|
|
989
|
-
- Tab 3 (RECOMMENDED): Git Strategy (10 batches, 26 questions total, conditional by mode)
|
|
990
|
-
* Batch 3.0a: GitHub Profile (1 question) - always shown
|
|
991
|
-
* Batch 3.0: Mode selection (1 question)
|
|
992
|
-
* Manual mode: Batches 3.1-3.2 (5 questions)
|
|
993
|
-
* Personal mode: Batches 3.3-3.5 (9 questions)
|
|
994
|
-
* Team mode: Batches 3.6-3.9 (12 questions)
|
|
995
|
-
- Tab 4 (OPTIONAL): Quality & Reports (2 batches, 7 questions)
|
|
996
|
-
- Tab 5 (OPTIONAL): System & GitHub (2 batches, 8 questions)
|
|
997
|
-
4. After tab completion, ask: "Would you like to modify another settings tab?"
|
|
998
|
-
- No, finish settings (exit)
|
|
999
|
-
- Select another tab (return to step 1)
|
|
1000
|
-
5. Final atomic update after user finishes all selected tabs
|
|
1001
|
-
|
|
1002
|
-
Tab-level behavior:
|
|
1003
|
-
- If user cancels mid-tab, changes NOT saved
|
|
1004
|
-
- If tab validation fails, user can retry or skip tab
|
|
1005
|
-
- After ALL selected tabs complete successfully, perform final atomic update
|
|
1006
|
-
- Auto-processing happens during atomic update (e.g., conversation_language_name, locale)
|
|
1007
|
-
- Tab 3 conditional batches respect mode selection (shown/hidden based on git_strategy.mode)
|
|
1008
|
-
|
|
1009
|
-
Tab completion order (recommended):
|
|
1010
|
-
- Tab 1 (REQUIRED): Foundation language settings
|
|
1011
|
-
- Tab 2: Project metadata
|
|
1012
|
-
- Tab 3: Git workflow strategy (includes GitHub Profile)
|
|
1013
|
-
- Tab 4: Quality principles
|
|
1014
|
-
- Tab 5: System integration
|
|
1015
|
-
```
|
|
1016
|
-
|
|
1017
|
-
### Tab Schema Structure
|
|
1018
|
-
|
|
1019
|
-
```json
|
|
1020
|
-
{
|
|
1021
|
-
"version": "1.0.0",
|
|
1022
|
-
"tabs": [
|
|
1023
|
-
{
|
|
1024
|
-
"id": "tab_1_user_language",
|
|
1025
|
-
"label": "Tab 1: User & Language",
|
|
1026
|
-
"batches": [
|
|
1027
|
-
{
|
|
1028
|
-
"batch_id": "1.1",
|
|
1029
|
-
"questions": [
|
|
1030
|
-
{
|
|
1031
|
-
"question": "...",
|
|
1032
|
-
"header": "...",
|
|
1033
|
-
"field": "user.name",
|
|
1034
|
-
"type": "text_input|select_single|select_multiple|number_input",
|
|
1035
|
-
"multiSelect": false,
|
|
1036
|
-
"options": [...],
|
|
1037
|
-
"current_value": "...",
|
|
1038
|
-
"required": true
|
|
1039
|
-
}
|
|
1040
|
-
]
|
|
1041
|
-
}
|
|
1042
|
-
]
|
|
1043
|
-
}
|
|
1044
|
-
],
|
|
1045
|
-
"navigation_flow": {
|
|
1046
|
-
"completion_order": ["tab_1", "tab_2", "tab_3", "tab_4", "tab_5"],
|
|
1047
|
-
"validation_sequence": [
|
|
1048
|
-
"Tab 1 checkpoint",
|
|
1049
|
-
"Tab 3 checkpoint",
|
|
1050
|
-
"Final validation"
|
|
1051
|
-
]
|
|
1052
|
-
}
|
|
1053
|
-
}
|
|
1054
|
-
```
|
|
254
|
+
### Step 3: Continue or Assist Installation
|
|
1055
255
|
|
|
1056
|
-
|
|
256
|
+
Use AskUserQuestion:
|
|
1057
257
|
|
|
1058
|
-
|
|
258
|
+
Question: LSP server for [language] is not detected. Would you like assistance?
|
|
1059
259
|
|
|
1060
|
-
|
|
1061
|
-
- READ language context from config.yaml before starting SETTINGS MODE
|
|
1062
|
-
- Run validation at Tab 1, Tab 3, and before final update
|
|
1063
|
-
- Delegate config update to UnifiedConfigManager from moai-workflow-project (no direct backup in command)
|
|
1064
|
-
- Report all changes made
|
|
1065
|
-
- Use AskUserQuestion for ALL user interaction
|
|
1066
|
-
|
|
1067
|
-
Configuration Priority:
|
|
1068
|
-
|
|
1069
|
-
- `.moai/config/config.yaml` settings ALWAYS take priority
|
|
1070
|
-
- Existing language settings respected unless user explicitly requests change in Tab 1
|
|
1071
|
-
- Fresh installs: Language already set by moai-adk CLI, skip language selection
|
|
1072
|
-
|
|
1073
|
-
Language:
|
|
1074
|
-
|
|
1075
|
-
- Tab schema stored in English (technical field names)
|
|
1076
|
-
- All user-facing questions in user's conversation_language
|
|
1077
|
-
- AskUserQuestion must use user's conversation_language for ALL fields
|
|
1078
|
-
|
|
1079
|
-
---
|
|
1080
|
-
|
|
1081
|
-
## PHASE 2.5: Save Phase Context
|
|
1082
|
-
|
|
1083
|
-
Goal: Persist phase execution results for explicit context passing to subsequent commands.
|
|
1084
|
-
|
|
1085
|
-
### Step 1: Extract Context from Agent Response
|
|
1086
|
-
|
|
1087
|
-
After manager-project agent completes, extract the following information:
|
|
1088
|
-
|
|
1089
|
-
- Project metadata: name, description, language
|
|
1090
|
-
- Files created: List of generated files with absolute paths
|
|
1091
|
-
- Tech stack: Primary codebase language
|
|
1092
|
-
- Next phase: Recommended next command (1-plan)
|
|
1093
|
-
|
|
1094
|
-
### Step 2: Delegate Context Saving to manager-project
|
|
1095
|
-
|
|
1096
|
-
The manager-project agent handles all context saving:
|
|
1097
|
-
|
|
1098
|
-
```markdown
|
|
1099
|
-
Context data to persist:
|
|
260
|
+
Options:
|
|
1100
261
|
|
|
1101
|
-
-
|
|
1102
|
-
-
|
|
1103
|
-
-
|
|
1104
|
-
- Status: completed|failed
|
|
1105
|
-
- Outputs:
|
|
1106
|
-
- project_name
|
|
1107
|
-
- project_description
|
|
1108
|
-
- language (conversation_language)
|
|
1109
|
-
- tech_stack (detected primary language)
|
|
1110
|
-
- github_profile (from Tab 3)
|
|
1111
|
-
- Files created: [list of absolute paths]
|
|
1112
|
-
- Next phase: "1-plan"
|
|
262
|
+
- Continue without LSP - Proceed to completion
|
|
263
|
+
- Show installation instructions - Display detailed setup guide
|
|
264
|
+
- Auto-install now - Attempt automatic installation (requires confirmation)
|
|
1113
265
|
|
|
1114
|
-
|
|
266
|
+
If user selects "Auto-install now":
|
|
1115
267
|
|
|
1116
|
-
-
|
|
1117
|
-
-
|
|
1118
|
-
-
|
|
1119
|
-
- Report success/failure
|
|
1120
|
-
```
|
|
268
|
+
- Use expert-devops subagent to execute installation
|
|
269
|
+
- Verify installation success
|
|
270
|
+
- Report result to user
|
|
1121
271
|
|
|
1122
|
-
|
|
272
|
+
WHY: LSP servers significantly improve development experience with Claude Code by providing accurate diagnostics.
|
|
1123
273
|
|
|
1124
|
-
|
|
1125
|
-
- Log clear warning messages for debugging
|
|
1126
|
-
- Allow user to retry manually if needed
|
|
274
|
+
IMPACT: Missing LSP reduces code intelligence quality and may cause incomplete error detection.
|
|
1127
275
|
|
|
1128
276
|
---
|
|
1129
277
|
|
|
1130
|
-
##
|
|
278
|
+
## PHASE 4: Completion
|
|
1131
279
|
|
|
1132
|
-
Goal:
|
|
280
|
+
Goal: Confirm documentation generation and guide user to next steps.
|
|
1133
281
|
|
|
1134
|
-
### Step 1: Display
|
|
282
|
+
### Step 1: Display Results
|
|
1135
283
|
|
|
1136
|
-
Show
|
|
284
|
+
Show completion message in user's language:
|
|
1137
285
|
|
|
1138
|
-
-
|
|
1139
|
-
-
|
|
1140
|
-
-
|
|
1141
|
-
- UPDATE: "Templates optimized and updated"
|
|
286
|
+
- Files created: List of generated files
|
|
287
|
+
- Location: `.moai/project/`
|
|
288
|
+
- Status: Success or partial completion
|
|
1142
289
|
|
|
1143
290
|
### Step 2: Offer Next Steps
|
|
1144
291
|
|
|
1145
|
-
Use AskUserQuestion
|
|
292
|
+
Use AskUserQuestion:
|
|
293
|
+
|
|
294
|
+
Question: Project documentation generated. What would you like to do next?
|
|
1146
295
|
|
|
1147
|
-
|
|
1148
|
-
- From Settings: Continue Settings / Sync Documentation / Exit
|
|
1149
|
-
- From Update: Review Changes / Modify Settings / Exit
|
|
296
|
+
Options:
|
|
1150
297
|
|
|
1151
|
-
|
|
298
|
+
- Write SPEC - Execute /moai:1-plan to define feature specifications
|
|
299
|
+
- Review Documentation - Open generated files for review
|
|
300
|
+
- Start New Session - Clear context and start fresh
|
|
1152
301
|
|
|
1153
302
|
---
|
|
1154
303
|
|
|
1155
|
-
##
|
|
1156
|
-
|
|
1157
|
-
### Mode Execution
|
|
304
|
+
## Critical Rules
|
|
1158
305
|
|
|
1159
|
-
|
|
306
|
+
### Tool Usage Guidelines
|
|
1160
307
|
|
|
1161
|
-
|
|
308
|
+
This command has access to all tools for flexibility:
|
|
1162
309
|
|
|
1163
|
-
|
|
310
|
+
- Task() for agent orchestration (recommended for complex tasks)
|
|
311
|
+
- AskUserQuestion() for user interaction at command level
|
|
312
|
+
- Read, Write, Edit, Bash, Glob, Grep for direct operations when needed
|
|
1164
313
|
|
|
1165
|
-
|
|
314
|
+
Agent delegation is recommended for complex tasks that benefit from specialized expertise. Direct tool usage is permitted when appropriate for simpler operations.
|
|
1166
315
|
|
|
1167
316
|
### Language Handling
|
|
1168
317
|
|
|
1169
318
|
[HARD] Always use user's conversation_language for all output and prompts.
|
|
1170
319
|
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
IMPACT: Using wrong language reduces accessibility.
|
|
1174
|
-
|
|
1175
|
-
[HARD] Never skip language confirmation in INITIALIZATION mode.
|
|
1176
|
-
|
|
1177
|
-
WHY: Language choice determines all subsequent output.
|
|
1178
|
-
|
|
1179
|
-
IMPACT: Missing language selection blocks localized experience.
|
|
1180
|
-
|
|
1181
|
-
[SOFT] Auto-translate announcements after language changes using announcement_translator.py.
|
|
1182
|
-
|
|
1183
|
-
WHY: Announcements should reflect user's selected language.
|
|
1184
|
-
|
|
1185
|
-
### Agent Delegation
|
|
1186
|
-
|
|
1187
|
-
[HARD] Delegate ALL execution to manager-project agent.
|
|
1188
|
-
|
|
1189
|
-
WHY: Agent provides specialized expertise and validation.
|
|
1190
|
-
|
|
1191
|
-
IMPACT: Direct execution bypasses error recovery and consistency checks.
|
|
1192
|
-
|
|
1193
|
-
[HARD] Route to correct mode based on command argument analysis.
|
|
1194
|
-
|
|
1195
|
-
WHY: Correct routing enables appropriate workflow.
|
|
320
|
+
Read language from `.moai/config/sections/language.yaml` before starting.
|
|
1196
321
|
|
|
1197
|
-
|
|
322
|
+
WHY: User comprehension requires language consistency.
|
|
1198
323
|
|
|
1199
324
|
### User Interaction
|
|
1200
325
|
|
|
1201
326
|
[HARD] Use AskUserQuestion for ALL user interaction at COMMAND level only.
|
|
1202
327
|
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
IMPACT: Attempting AskUserQuestion in subagents causes workflow failures or silent failures.
|
|
1206
|
-
|
|
1207
|
-
[HARD] Collect all user choices via AskUserQuestion BEFORE delegating to agents.
|
|
1208
|
-
|
|
1209
|
-
WHY: Subagents need pre-collected user decisions to execute without interaction.
|
|
1210
|
-
|
|
1211
|
-
IMPACT: Missing parameters force subagents to make assumptions or fail.
|
|
1212
|
-
|
|
1213
|
-
[HARD] Pass user choices as parameters when invoking Task().
|
|
1214
|
-
|
|
1215
|
-
WHY: Agents must receive all necessary context at invocation time since they cannot request more.
|
|
1216
|
-
|
|
1217
|
-
IMPACT: Incomplete context causes agents to fail or produce incorrect results.
|
|
1218
|
-
|
|
1219
|
-
[HARD] Never include EMOJI characters in AskUserQuestion fields.
|
|
1220
|
-
|
|
1221
|
-
WHY: Emoji parsing varies across platforms and may cause display issues.
|
|
1222
|
-
|
|
1223
|
-
IMPACT: Platform inconsistencies create confusing user experience.
|
|
328
|
+
[HARD] No emoji characters in AskUserQuestion fields.
|
|
1224
329
|
|
|
1225
330
|
[HARD] Maximum 4 options per AskUserQuestion question.
|
|
1226
331
|
|
|
1227
|
-
WHY:
|
|
332
|
+
WHY: Subagents cannot interact with users directly; emoji parsing varies across platforms.
|
|
1228
333
|
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
### Tool Usage Constraints
|
|
1232
|
-
|
|
1233
|
-
[HARD] Use ONLY Task() for agent orchestration and AskUserQuestion() for interaction.
|
|
334
|
+
### Agent Delegation
|
|
1234
335
|
|
|
1235
|
-
|
|
336
|
+
[HARD] Delegate ALL execution to specialized agents.
|
|
1236
337
|
|
|
1237
|
-
|
|
338
|
+
Agent Chain:
|
|
1238
339
|
|
|
1239
|
-
|
|
340
|
+
1. Explore agent: Codebase analysis
|
|
341
|
+
2. Manager-docs agent: Documentation generation
|
|
1240
342
|
|
|
1241
|
-
|
|
1242
|
-
- NO Write for file creation or modification
|
|
1243
|
-
- NO Edit for configuration changes
|
|
1244
|
-
- NO Bash for command execution
|
|
1245
|
-
- NO TodoWrite for task management
|
|
343
|
+
WHY: Agent provides specialized expertise and validation.
|
|
1246
344
|
|
|
1247
|
-
|
|
345
|
+
---
|
|
1248
346
|
|
|
1249
|
-
|
|
347
|
+
## Output Format
|
|
1250
348
|
|
|
1251
|
-
|
|
349
|
+
### Output Format Rules
|
|
1252
350
|
|
|
1253
|
-
|
|
351
|
+
[HARD] User-Facing Reports: Always use Markdown formatting for user communication. Never display XML tags to users.
|
|
352
|
+
WHY: Users expect readable formatted text, not markup
|
|
353
|
+
IMPACT: XML tags in user output create confusion and reduce comprehension
|
|
1254
354
|
|
|
1255
|
-
|
|
355
|
+
[HARD] Internal Agent Data: XML tags are reserved for agent-to-agent data transfer only.
|
|
356
|
+
WHY: XML structure enables automated parsing for downstream agent coordination
|
|
357
|
+
IMPACT: Using XML for user output degrades user experience
|
|
1256
358
|
|
|
1257
|
-
|
|
359
|
+
### User-Facing Output (Markdown)
|
|
1258
360
|
|
|
1259
|
-
|
|
361
|
+
Progress reports and completion summaries must use Markdown:
|
|
1260
362
|
|
|
1261
|
-
|
|
363
|
+
- Headers for phase identification
|
|
364
|
+
- Lists for itemized findings
|
|
365
|
+
- Bold for emphasis on key results
|
|
366
|
+
- Code blocks for file paths and technical details
|
|
1262
367
|
|
|
1263
|
-
|
|
368
|
+
### Internal Agent Communication (XML)
|
|
1264
369
|
|
|
1265
|
-
|
|
370
|
+
For agent-to-agent data transfer only (never displayed to users):
|
|
1266
371
|
|
|
1267
|
-
|
|
372
|
+
```xml
|
|
373
|
+
<analysis>Codebase analysis results including detected technologies and architecture</analysis>
|
|
374
|
+
<approach>Documentation generation strategy based on analysis</approach>
|
|
375
|
+
<phase>Current execution phase with progress status</phase>
|
|
376
|
+
<completion>Summary of generated files and next recommended action</completion>
|
|
377
|
+
```
|
|
1268
378
|
|
|
1269
379
|
---
|
|
1270
380
|
|
|
1271
|
-
##
|
|
381
|
+
## Quick Reference
|
|
1272
382
|
|
|
1273
|
-
|
|
383
|
+
Entry Point: /moai:0-project
|
|
1274
384
|
|
|
1275
|
-
|
|
1276
|
-
Context assessment including detected mode, language context, and user command arguments.
|
|
1277
|
-
Example: "Detected AUTO-DETECT mode, user language is Korean (ko), existing config found at .moai/config/config.yaml"
|
|
1278
|
-
</analysis>
|
|
385
|
+
Mode Detection:
|
|
1279
386
|
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
Example: "Delegating to manager-project agent with AUTO-DETECT mode context, language: ko, requesting settings review"
|
|
1283
|
-
</approach>
|
|
387
|
+
- No existing docs: Fresh documentation generation
|
|
388
|
+
- Existing docs: Update documentation flow
|
|
1284
389
|
|
|
1285
|
-
|
|
1286
|
-
Current execution phase (Phase 1, Phase 2, Phase 2.5, or Phase 3) with step-by-step progress.
|
|
1287
|
-
Example: "Phase 2: Execute AUTO-DETECT Mode - Displaying current configuration and offering modification options"
|
|
1288
|
-
</phase>
|
|
390
|
+
Agent Chain:
|
|
1289
391
|
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
Example: "Language validation passed (ko is valid), configuration loaded successfully, ready for user interaction"
|
|
1293
|
-
</verification>
|
|
392
|
+
1. Explore subagent: Analyze codebase
|
|
393
|
+
2. Manager-docs subagent: Generate documentation
|
|
1294
394
|
|
|
1295
|
-
|
|
1296
|
-
Mode-specific completion summary with files created, settings modified, and next recommended action.
|
|
1297
|
-
Example: "Settings updated successfully. Modified 4 fields: user.name, conversation_language, language_name [auto], agent_prompt_language. Recommend next step: /moai:1-plan"
|
|
1298
|
-
</completion>
|
|
395
|
+
Output Files:
|
|
1299
396
|
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
---
|
|
1305
|
-
|
|
1306
|
-
## Quick Reference
|
|
1307
|
-
|
|
1308
|
-
| Scenario | Mode | Entry Point | Key Phases |
|
|
1309
|
-
| -------------------- | -------------- | --------------------------------- | -------------------------------------------------------------- |
|
|
1310
|
-
| First-time setup | INITIALIZATION | `/moai:0-project` (no config) | Read language → Interview → Docs |
|
|
1311
|
-
| Existing project | AUTO-DETECT | `/moai:0-project` (config exists) | Read language → Display → Options |
|
|
1312
|
-
| Modify config | SETTINGS | `/moai:0-project setting` | Interactive tab selection → Conditional batches → Skill update |
|
|
1313
|
-
| After package update | UPDATE | `/moai:0-project update` | Preserve language → Template merge → Announce |
|
|
397
|
+
- `.moai/project/product.md`
|
|
398
|
+
- `.moai/project/structure.md`
|
|
399
|
+
- `.moai/project/tech.md`
|
|
1314
400
|
|
|
1315
401
|
Associated Skills:
|
|
1316
402
|
|
|
1317
|
-
- moai-workflow-project
|
|
1318
|
-
- Language selection/change
|
|
1319
|
-
- Config operations (atomic updates, backup/rollback)
|
|
1320
|
-
- Template merging
|
|
1321
|
-
- Tab-based batch questions
|
|
403
|
+
- moai-workflow-project: Project management and configuration
|
|
1322
404
|
|
|
1323
|
-
|
|
405
|
+
---
|
|
1324
406
|
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
407
|
+
Version: 3.1.0 (LSP Server Check Integration)
|
|
408
|
+
Last Updated: 2026-01-10
|
|
409
|
+
Architecture: Commands to Agents to Skills (Complete delegation)
|
|
1328
410
|
|
|
1329
|
-
|
|
1330
|
-
Last Updated: 2025-11-19
|
|
1331
|
-
Architecture: Commands → Agents → Skills (Complete delegation, no direct backup in command)
|
|
1332
|
-
Tab Schema: Available in moai-workflow-project skill (v2.0.0)
|
|
1333
|
-
Improvements in v2.0.0:
|
|
411
|
+
Changes from v3.0.0:
|
|
1334
412
|
|
|
1335
|
-
-
|
|
1336
|
-
- Added
|
|
1337
|
-
-
|
|
1338
|
-
-
|
|
1339
|
-
- Enhanced validation checkpoints: 3 → 6 rules
|
|
1340
|
-
- Total coverage: 41 → 57 settings (+39%)
|
|
413
|
+
- Added: PHASE 3.5 Development Environment Check
|
|
414
|
+
- Added: LSP server detection for 8 major languages
|
|
415
|
+
- Added: Installation guidance with language-specific commands
|
|
416
|
+
- Added: Auto-install option via expert-devops agent
|
|
1341
417
|
|
|
1342
|
-
|
|
418
|
+
Changes from v2.0.0:
|
|
1343
419
|
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
"questions": [{
|
|
1351
|
-
"question": "Project setup is complete. What would you like to do next?",
|
|
1352
|
-
"header": "Next Steps",
|
|
1353
|
-
"multiSelect": false,
|
|
1354
|
-
"options": [
|
|
1355
|
-
{
|
|
1356
|
-
"label": "Write Specification",
|
|
1357
|
-
"description": "Execute /moai:1-plan to define feature specifications"
|
|
1358
|
-
},
|
|
1359
|
-
{
|
|
1360
|
-
"label": "Review Project Structure",
|
|
1361
|
-
"description": "Check current project status and settings"
|
|
1362
|
-
},
|
|
1363
|
-
{
|
|
1364
|
-
"label": "Start New Session",
|
|
1365
|
-
"description": "Initialize workspace and start fresh"
|
|
1366
|
-
}
|
|
1367
|
-
]
|
|
1368
|
-
}]
|
|
1369
|
-
})
|
|
1370
|
-
```
|
|
420
|
+
- Removed: All configuration and settings functionality (moved to moai-adk init CLI)
|
|
421
|
+
- Removed: Tab-based question system (handled by CLI)
|
|
422
|
+
- Removed: Mode detection for SETTINGS, UPDATE, GLM_CONFIGURATION
|
|
423
|
+
- Simplified: Focus on documentation generation only
|
|
424
|
+
- Simplified: Two-agent chain (Explore + Manager-docs)
|
|
425
|
+
- Reduced: From 1400+ lines to approximately 250 lines
|
|
1371
426
|
|
|
1372
|
-
|
|
427
|
+
---
|
|
1373
428
|
|
|
1374
|
-
|
|
1375
|
-
- No emojis in any AskUserQuestion fields
|
|
1376
|
-
- Always provide clear next step options
|
|
429
|
+
## EXECUTION DIRECTIVE
|
|
1377
430
|
|
|
1378
|
-
|
|
431
|
+
You must NOW execute the command following the phases described above.
|
|
1379
432
|
|
|
1380
|
-
|
|
433
|
+
1. Invoke Explore subagent to analyze codebase
|
|
434
|
+
2. Present analysis results via AskUserQuestion
|
|
435
|
+
3. Invoke Manager-docs subagent to generate documentation
|
|
436
|
+
4. Confirm completion and offer next steps
|
|
1381
437
|
|
|
1382
|
-
|
|
1383
|
-
2. Use the manager-project subagent to handle project setup.
|
|
1384
|
-
3. Do NOT just describe what you will do. DO IT.
|
|
438
|
+
Do NOT just describe what you will do. DO IT.
|