moai-adk 0.8.0__py3-none-any.whl → 0.34.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/__init__.py +2 -6
- moai_adk/__main__.py +136 -21
- moai_adk/cli/__init__.py +6 -2
- moai_adk/cli/commands/__init__.py +1 -4
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +17 -5
- moai_adk/cli/commands/init.py +118 -48
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +8 -13
- moai_adk/cli/commands/update.py +1978 -149
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +144 -91
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +683 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +493 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +422 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +148 -17
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +8 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +2 -10
- moai_adk/core/git/checkpoint.py +1 -7
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +91 -2
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +305 -0
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +572 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +481 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +2 -4
- moai_adk/core/project/detector.py +189 -22
- moai_adk/core/project/initializer.py +218 -27
- moai_adk/core/project/phase_executor.py +416 -44
- moai_adk/core/project/validator.py +7 -32
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +37 -101
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +82 -17
- moai_adk/core/template/config.py +112 -40
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +75 -26
- moai_adk/core/template/processor.py +750 -72
- moai_adk/core/template_engine.py +310 -0
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +376 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +322 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +343 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +670 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
- moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +509 -0
- moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +1020 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1384 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/{alfred/core → moai/lib}/checkpoint.py +10 -37
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1075 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
- moai_adk/templates/.claude/settings.json +78 -50
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +438 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +313 -283
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +610 -1525
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +423 -619
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +295 -95
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +817 -16
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +532 -17
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +470 -97
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +955 -16
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +651 -18
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +618 -93
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +446 -91
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +346 -94
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +906 -16
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +721 -15
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +352 -91
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +851 -16
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +278 -18
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +344 -86
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +993 -16
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +549 -18
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +617 -96
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +364 -314
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +849 -496
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +731 -243
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +545 -89
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +650 -87
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +341 -93
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +646 -16
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +491 -18
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +463 -89
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +620 -16
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +410 -17
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +486 -112
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +905 -16
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +659 -17
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +333 -92
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1076 -16
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +718 -21
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +290 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1462 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +365 -0
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +206 -36
- moai_adk/templates/.gitignore +194 -13
- moai_adk/templates/.mcp.json +31 -0
- moai_adk/templates/.moai/config/config.yaml +58 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +151 -0
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +81 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +634 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +170 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +87 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
- moai_adk/templates/.moai/config/sections/system.yaml +14 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +571 -244
- moai_adk/utils/__init__.py +24 -2
- moai_adk/utils/banner.py +9 -13
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.34.0.dist-info/METADATA +2999 -0
- moai_adk-0.34.0.dist-info/RECORD +463 -0
- {moai_adk-0.8.0.dist-info → moai_adk-0.34.0.dist-info}/WHEEL +1 -1
- {moai_adk-0.8.0.dist-info → moai_adk-0.34.0.dist-info}/entry_points.txt +1 -0
- moai_adk/cli/commands/backup.py +0 -80
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -293
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -196
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -207
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -375
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -343
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -246
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -320
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -837
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -272
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -265
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -311
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -352
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1184
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -665
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -488
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -623
- moai_adk/templates/.claude/hooks/alfred/HOOK_SCHEMA_VALIDATION.md +0 -313
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -416
- moai_adk/templates/.claude/hooks/alfred/core/tags.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -161
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -90
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -42
- moai_adk/templates/.claude/hooks/alfred/test_hook_output.py +0 -175
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +0 -237
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +0 -615
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +0 -653
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +0 -269
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +0 -32
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +0 -298
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +0 -26
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +0 -21
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +0 -252
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +0 -19
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +0 -24
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +0 -199
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +0 -39
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +0 -316
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +0 -18
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +0 -263
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +0 -30
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +0 -291
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +0 -15
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +0 -303
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +0 -1064
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +0 -1047
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +0 -122
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +0 -113
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +0 -28
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +0 -307
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +0 -1099
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +0 -32
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +0 -303
- moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +0 -218
- moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +0 -622
- moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
- moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -256
- moai_adk/templates/.moai/config.json +0 -96
- moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +0 -208
- moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +0 -369
- moai_adk/templates/.moai/memory/CLAUDE-RULES.md +0 -539
- moai_adk/templates/.moai/memory/CONFIG-SCHEMA.md +0 -444
- moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +0 -344
- moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +0 -220
- moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +0 -218
- moai_adk/templates/.moai/memory/SPEC-METADATA.md +0 -356
- moai_adk/templates/.moai/memory/config-schema.md +0 -444
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
- moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk/templates/__init__.py +0 -2
- moai_adk-0.8.0.dist-info/METADATA +0 -1722
- moai_adk-0.8.0.dist-info/RECORD +0 -282
- {moai_adk-0.8.0.dist-info → moai_adk-0.34.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,653 +0,0 @@
|
|
|
1
|
-
# Alfred Interactive Questions - API Reference
|
|
2
|
-
|
|
3
|
-
> **Main Skill**: [SKILL.md](SKILL.md)
|
|
4
|
-
> **Examples**: [examples.md](examples.md)
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## AskUserQuestion API Specification
|
|
9
|
-
|
|
10
|
-
### Function Signature
|
|
11
|
-
|
|
12
|
-
```typescript
|
|
13
|
-
async function AskUserQuestion(params: {
|
|
14
|
-
questions: Question[]
|
|
15
|
-
}): Promise<Record<string, string | string[]>>
|
|
16
|
-
|
|
17
|
-
interface Question {
|
|
18
|
-
question: string; // The question text
|
|
19
|
-
header: string; // Column header (max 12 chars)
|
|
20
|
-
multiSelect: boolean; // true = multiple selections, false = single
|
|
21
|
-
options: Option[]; // 2-4 options recommended
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
interface Option {
|
|
25
|
-
label: string; // 1-5 words, displayed in TUI
|
|
26
|
-
description: string; // Rationale and context
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Return Value
|
|
31
|
-
|
|
32
|
-
**Single-select** (`multiSelect: false`):
|
|
33
|
-
```typescript
|
|
34
|
-
{ "Header": "Selected Label" }
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
**Multi-select** (`multiSelect: true`):
|
|
38
|
-
```typescript
|
|
39
|
-
{ "Header": ["Label1", "Label2", "Label3"] }
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Auto-Generated "Other" Option
|
|
43
|
-
|
|
44
|
-
Claude Code automatically adds an "Other" option to every question, allowing users to provide custom input. You don't need to manually include it.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Question Types
|
|
49
|
-
|
|
50
|
-
### Single-Select Questions
|
|
51
|
-
|
|
52
|
-
**Use when**: Mutually exclusive choices (choose ONE).
|
|
53
|
-
|
|
54
|
-
**Example domains**:
|
|
55
|
-
- Database selection (PostgreSQL OR MySQL OR SQLite)
|
|
56
|
-
- Authentication method (JWT OR OAuth OR SAML)
|
|
57
|
-
- Deployment target (AWS OR GCP OR Azure)
|
|
58
|
-
|
|
59
|
-
**Configuration**:
|
|
60
|
-
```typescript
|
|
61
|
-
{
|
|
62
|
-
multiSelect: false,
|
|
63
|
-
options: [
|
|
64
|
-
{ label: "PostgreSQL", description: "Relational, ACID-compliant." },
|
|
65
|
-
{ label: "MongoDB", description: "Document store, flexible schema." },
|
|
66
|
-
{ label: "Redis", description: "Key-value, in-memory cache." }
|
|
67
|
-
]
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Multi-Select Questions
|
|
72
|
-
|
|
73
|
-
**Use when**: Independent options that can be combined (check any that apply).
|
|
74
|
-
|
|
75
|
-
**Example domains**:
|
|
76
|
-
- Testing frameworks (Unit tests AND E2E tests AND Visual regression)
|
|
77
|
-
- Feature flags (Enable analytics AND Enable notifications)
|
|
78
|
-
- Deployment environments (Staging AND Production)
|
|
79
|
-
|
|
80
|
-
**Configuration**:
|
|
81
|
-
```typescript
|
|
82
|
-
{
|
|
83
|
-
multiSelect: true,
|
|
84
|
-
options: [
|
|
85
|
-
{ label: "Unit tests (Vitest)", description: "Fast, modern." },
|
|
86
|
-
{ label: "E2E tests (Playwright)", description: "Browser automation." },
|
|
87
|
-
{ label: "Visual regression", description: "Screenshot comparison." }
|
|
88
|
-
]
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Parameter Constraints
|
|
95
|
-
|
|
96
|
-
### Question Limits
|
|
97
|
-
|
|
98
|
-
| Parameter | Min | Max | Reason |
|
|
99
|
-
|-----------|-----|-----|--------|
|
|
100
|
-
| **Questions per call** | 1 | 4 | Avoid user fatigue |
|
|
101
|
-
| **Options per question** | 2 | 4 | Prevent choice overload |
|
|
102
|
-
| **Header length** | 1 | 12 chars | TUI layout constraints |
|
|
103
|
-
| **Label length** | 1 word | 5 words | Quick scanning |
|
|
104
|
-
| **Description length** | 10 chars | 200 chars | Provide context without overwhelming |
|
|
105
|
-
|
|
106
|
-
### Header Guidelines
|
|
107
|
-
|
|
108
|
-
**Good headers** (≤12 chars):
|
|
109
|
-
- ✅ "Approach"
|
|
110
|
-
- ✅ "Database"
|
|
111
|
-
- ✅ "Auth Method"
|
|
112
|
-
- ✅ "Deploy To"
|
|
113
|
-
|
|
114
|
-
**Bad headers** (too long):
|
|
115
|
-
- ❌ "Implementation Strategy" (23 chars)
|
|
116
|
-
- ❌ "Which database should we use?" (31 chars)
|
|
117
|
-
|
|
118
|
-
### Label Guidelines
|
|
119
|
-
|
|
120
|
-
**Good labels** (1-5 words):
|
|
121
|
-
- ✅ "New component"
|
|
122
|
-
- ✅ "Extend existing"
|
|
123
|
-
- ✅ "PostgreSQL with pgvector"
|
|
124
|
-
|
|
125
|
-
**Bad labels**:
|
|
126
|
-
- ❌ "Option 1" (vague)
|
|
127
|
-
- ❌ "Use the new standalone component approach with React hooks" (too long)
|
|
128
|
-
|
|
129
|
-
### Description Guidelines
|
|
130
|
-
|
|
131
|
-
**Good descriptions** (concise, informative):
|
|
132
|
-
- ✅ "Isolated, reusable, easier to test."
|
|
133
|
-
- ✅ "Relational database with ACID guarantees."
|
|
134
|
-
- ✅ "Fast in-memory cache, no persistence."
|
|
135
|
-
|
|
136
|
-
**Bad descriptions**:
|
|
137
|
-
- ❌ "Good option." (too vague)
|
|
138
|
-
- ❌ "This is a database that stores data in tables with rows and columns and supports SQL queries..." (too long)
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Integration Patterns by Sub-agent
|
|
143
|
-
|
|
144
|
-
### spec-builder Integration
|
|
145
|
-
|
|
146
|
-
**When**: SPEC title or scope is ambiguous.
|
|
147
|
-
|
|
148
|
-
**Example triggers**:
|
|
149
|
-
- "Add feature" without details
|
|
150
|
-
- "Refactor auth" without scope
|
|
151
|
-
- "Improve performance" without metrics
|
|
152
|
-
|
|
153
|
-
**Sample invocation**:
|
|
154
|
-
```typescript
|
|
155
|
-
if (titleIsAmbiguous(specTitle)) {
|
|
156
|
-
const answer = await AskUserQuestion({
|
|
157
|
-
questions: [{
|
|
158
|
-
question: "Can you clarify what this SPEC should cover?",
|
|
159
|
-
header: "Scope",
|
|
160
|
-
multiSelect: false,
|
|
161
|
-
options: [
|
|
162
|
-
{ label: "New feature", description: "Add new functionality." },
|
|
163
|
-
{ label: "Bug fix", description: "Resolve existing issue." },
|
|
164
|
-
{ label: "Refactor", description: "Improve code quality." }
|
|
165
|
-
]
|
|
166
|
-
}]
|
|
167
|
-
});
|
|
168
|
-
specTitle = answer["Scope"];
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### code-builder Integration
|
|
173
|
-
|
|
174
|
-
**When**: Implementation approach is unclear or multiple valid paths exist.
|
|
175
|
-
|
|
176
|
-
**Example triggers**:
|
|
177
|
-
- Multiple design patterns apply
|
|
178
|
-
- Trade-off between performance and simplicity
|
|
179
|
-
- Error recovery after failing tests
|
|
180
|
-
|
|
181
|
-
**Sample invocation**:
|
|
182
|
-
```typescript
|
|
183
|
-
if (multipleValidImplementationPaths) {
|
|
184
|
-
const answer = await AskUserQuestion({
|
|
185
|
-
questions: [{
|
|
186
|
-
question: "How should we implement this?",
|
|
187
|
-
header: "Approach",
|
|
188
|
-
multiSelect: false,
|
|
189
|
-
options: [
|
|
190
|
-
{ label: "Singleton pattern", description: "Single global instance." },
|
|
191
|
-
{ label: "Factory pattern", description: "Create instances dynamically." },
|
|
192
|
-
{ label: "Dependency injection", description: "Pass dependencies externally." }
|
|
193
|
-
]
|
|
194
|
-
}]
|
|
195
|
-
});
|
|
196
|
-
implementationStrategy = answer["Approach"];
|
|
197
|
-
}
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### doc-syncer Integration
|
|
201
|
-
|
|
202
|
-
**When**: Sync scope, mode, or PR Ready status is unclear.
|
|
203
|
-
|
|
204
|
-
**Example triggers**:
|
|
205
|
-
- Full documentation regeneration vs partial update
|
|
206
|
-
- PR Ready confirmation before merging
|
|
207
|
-
- Documentation coverage decision
|
|
208
|
-
|
|
209
|
-
**Sample invocation**:
|
|
210
|
-
```typescript
|
|
211
|
-
const syncMode = await AskUserQuestion({
|
|
212
|
-
questions: [{
|
|
213
|
-
question: "Which sync mode?",
|
|
214
|
-
header: "Mode",
|
|
215
|
-
multiSelect: false,
|
|
216
|
-
options: [
|
|
217
|
-
{ label: "auto", description: "Smart detection of changes." },
|
|
218
|
-
{ label: "force", description: "Regenerate all documentation." },
|
|
219
|
-
{ label: "partial", description: "Update only changed sections." }
|
|
220
|
-
]
|
|
221
|
-
}]
|
|
222
|
-
});
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Advanced Patterns
|
|
228
|
-
|
|
229
|
-
### Conditional Branching (Sequential Questions)
|
|
230
|
-
|
|
231
|
-
**When to use**: Question 2 depends on Question 1 answer.
|
|
232
|
-
|
|
233
|
-
**Example**: Authentication setup
|
|
234
|
-
```typescript
|
|
235
|
-
// Question 1: Enable authentication?
|
|
236
|
-
const q1 = await AskUserQuestion({
|
|
237
|
-
questions: [{
|
|
238
|
-
question: "Enable authentication?",
|
|
239
|
-
header: "Auth",
|
|
240
|
-
multiSelect: false,
|
|
241
|
-
options: [
|
|
242
|
-
{ label: "Yes", description: "User login required." },
|
|
243
|
-
{ label: "No", description: "Public access only." }
|
|
244
|
-
]
|
|
245
|
-
}]
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
// Question 2: Only if Q1 = "Yes"
|
|
249
|
-
if (q1["Auth"] === "Yes") {
|
|
250
|
-
const q2 = await AskUserQuestion({
|
|
251
|
-
questions: [{
|
|
252
|
-
question: "Which auth provider?",
|
|
253
|
-
header: "Provider",
|
|
254
|
-
multiSelect: false,
|
|
255
|
-
options: [
|
|
256
|
-
{ label: "JWT + email", description: "Traditional email/password." },
|
|
257
|
-
{ label: "OAuth (Google)", description: "Third-party Google login." },
|
|
258
|
-
{ label: "SAML", description: "Enterprise SSO." }
|
|
259
|
-
]
|
|
260
|
-
}]
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Batching Related Questions
|
|
266
|
-
|
|
267
|
-
**When to use**: Multiple independent questions that naturally flow together.
|
|
268
|
-
|
|
269
|
-
**Example**: Project setup
|
|
270
|
-
```typescript
|
|
271
|
-
const answers = await AskUserQuestion({
|
|
272
|
-
questions: [
|
|
273
|
-
{
|
|
274
|
-
question: "Which database?",
|
|
275
|
-
header: "Database",
|
|
276
|
-
multiSelect: false,
|
|
277
|
-
options: [
|
|
278
|
-
{ label: "PostgreSQL", description: "Relational, ACID-compliant." },
|
|
279
|
-
{ label: "MongoDB", description: "Document store, flexible schema." }
|
|
280
|
-
]
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
question: "Which testing frameworks?",
|
|
284
|
-
header: "Testing",
|
|
285
|
-
multiSelect: true, // Multiple selections allowed
|
|
286
|
-
options: [
|
|
287
|
-
{ label: "Unit tests", description: "Fast, isolated tests." },
|
|
288
|
-
{ label: "E2E tests", description: "Full user flow testing." },
|
|
289
|
-
{ label: "Visual tests", description: "Screenshot comparison." }
|
|
290
|
-
]
|
|
291
|
-
}
|
|
292
|
-
]
|
|
293
|
-
});
|
|
294
|
-
|
|
295
|
-
// Access answers:
|
|
296
|
-
const db = answers["Database"]; // "PostgreSQL"
|
|
297
|
-
const testing = answers["Testing"]; // ["Unit tests", "E2E tests"]
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
### Option Grouping (Hierarchical Selection)
|
|
301
|
-
|
|
302
|
-
**When to use**: Too many options → first narrow category, then specific choice.
|
|
303
|
-
|
|
304
|
-
**Example**: Database selection with 8+ options
|
|
305
|
-
```typescript
|
|
306
|
-
// Step 1: Narrow by category
|
|
307
|
-
const category = await AskUserQuestion({
|
|
308
|
-
questions: [{
|
|
309
|
-
question: "Database type?",
|
|
310
|
-
header: "DB Type",
|
|
311
|
-
multiSelect: false,
|
|
312
|
-
options: [
|
|
313
|
-
{ label: "Relational (SQL)", description: "PostgreSQL, MySQL, etc." },
|
|
314
|
-
{ label: "Document (NoSQL)", description: "MongoDB, CouchDB, etc." },
|
|
315
|
-
{ label: "Key-Value", description: "Redis, Memcached, etc." }
|
|
316
|
-
]
|
|
317
|
-
}]
|
|
318
|
-
});
|
|
319
|
-
|
|
320
|
-
// Step 2: Specific choice within category
|
|
321
|
-
if (category["DB Type"] === "Relational (SQL)") {
|
|
322
|
-
const specific = await AskUserQuestion({
|
|
323
|
-
questions: [{
|
|
324
|
-
question: "Which SQL database?",
|
|
325
|
-
header: "SQL DB",
|
|
326
|
-
multiSelect: false,
|
|
327
|
-
options: [
|
|
328
|
-
{ label: "PostgreSQL", description: "Advanced features, extensions." },
|
|
329
|
-
{ label: "MySQL", description: "Popular, wide support." },
|
|
330
|
-
{ label: "SQLite", description: "Embedded, serverless." }
|
|
331
|
-
]
|
|
332
|
-
}]
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
## Best Practices (Complete Guide)
|
|
340
|
-
|
|
341
|
-
### DO
|
|
342
|
-
|
|
343
|
-
1. **Be specific in questions**
|
|
344
|
-
- ✅ "Which i18n library for Next.js 15?"
|
|
345
|
-
- ❌ "What should we use?"
|
|
346
|
-
|
|
347
|
-
2. **Provide contextual information**
|
|
348
|
-
- Include affected files, scope, or impact
|
|
349
|
-
- Example: "This will modify 3 files in src/auth/"
|
|
350
|
-
|
|
351
|
-
3. **Order options logically**
|
|
352
|
-
- Safest/most common option first
|
|
353
|
-
- Risky/experimental options last
|
|
354
|
-
- Mark dangerous options clearly
|
|
355
|
-
|
|
356
|
-
4. **Flag risks explicitly**
|
|
357
|
-
- Use prefixes: "⚠️ CAUTION:", "🚨 NOT RECOMMENDED:"
|
|
358
|
-
- Example: "⚠️ Force push (data loss risk)"
|
|
359
|
-
|
|
360
|
-
5. **Explain trade-offs**
|
|
361
|
-
- Mention time, complexity, resources
|
|
362
|
-
- Example: "Fast but less accurate" vs "Slower but comprehensive"
|
|
363
|
-
|
|
364
|
-
6. **Use single-select for exclusive choices**
|
|
365
|
-
- Database: PostgreSQL OR MySQL (not both)
|
|
366
|
-
- Auth: JWT OR OAuth (not both)
|
|
367
|
-
|
|
368
|
-
7. **Use multi-select for combinable options**
|
|
369
|
-
- Testing: Unit AND E2E AND Visual (all applicable)
|
|
370
|
-
- Features: Analytics AND Logging AND Monitoring (all applicable)
|
|
371
|
-
|
|
372
|
-
8. **Include descriptions for every option**
|
|
373
|
-
- User needs rationale to make informed choice
|
|
374
|
-
- Mention key pros/cons or use cases
|
|
375
|
-
|
|
376
|
-
9. **Keep headers short (≤12 chars)**
|
|
377
|
-
- TUI layout constraint
|
|
378
|
-
- "Approach" not "Implementation Strategy"
|
|
379
|
-
|
|
380
|
-
10. **Batch related questions**
|
|
381
|
-
- Ask 2-3 at once if they naturally flow
|
|
382
|
-
- Reduces back-and-forth
|
|
383
|
-
|
|
384
|
-
### DON'T
|
|
385
|
-
|
|
386
|
-
1. **Don't overuse questions**
|
|
387
|
-
- Only ask when genuinely ambiguous
|
|
388
|
-
- Don't ask for decisions that have obvious defaults
|
|
389
|
-
|
|
390
|
-
2. **Don't provide too many options (>4)**
|
|
391
|
-
- Choice paralysis sets in
|
|
392
|
-
- Use hierarchical selection instead
|
|
393
|
-
|
|
394
|
-
3. **Don't use vague labels**
|
|
395
|
-
- ❌ "Option A", "Approach 2"
|
|
396
|
-
- ✅ "PostgreSQL", "Factory pattern"
|
|
397
|
-
|
|
398
|
-
4. **Don't skip descriptions**
|
|
399
|
-
- User needs context to decide
|
|
400
|
-
- Every option must have a description
|
|
401
|
-
|
|
402
|
-
5. **Don't hide trade-offs**
|
|
403
|
-
- Always mention implications (time, complexity, risk)
|
|
404
|
-
- Don't present false equivalence
|
|
405
|
-
|
|
406
|
-
6. **Don't make destructive actions default**
|
|
407
|
-
- Risky option should be clearly marked
|
|
408
|
-
- Never pre-select dangerous operations
|
|
409
|
-
|
|
410
|
-
7. **Don't mix concerns in one question**
|
|
411
|
-
- One decision per question
|
|
412
|
-
- Don't ask "Which database and auth method?" as one question
|
|
413
|
-
|
|
414
|
-
8. **Don't manually add "Other" option**
|
|
415
|
-
- It's auto-provided by Claude Code
|
|
416
|
-
- You'll duplicate it unnecessarily
|
|
417
|
-
|
|
418
|
-
9. **Don't nest more than 2 levels deep**
|
|
419
|
-
- Keep conditional flow linear
|
|
420
|
-
- Avoid Q1 → Q2 → Q3 → Q4 chains
|
|
421
|
-
|
|
422
|
-
10. **Don't ask trivial questions**
|
|
423
|
-
- If answer is obvious from context, don't ask
|
|
424
|
-
- Example: Don't ask "Create file?" when user said "Create file X"
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
## Anti-Patterns to Avoid
|
|
429
|
-
|
|
430
|
-
### ❌ Too Many Options (Choice Paralysis)
|
|
431
|
-
|
|
432
|
-
**Bad**:
|
|
433
|
-
```typescript
|
|
434
|
-
options: [
|
|
435
|
-
{ label: "PostgreSQL" }, { label: "MySQL" }, { label: "MariaDB" },
|
|
436
|
-
{ label: "SQLite" }, { label: "MongoDB" }, { label: "CouchDB" },
|
|
437
|
-
{ label: "Cassandra" }, { label: "Redis" }
|
|
438
|
-
]
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
**Good** (Group first):
|
|
442
|
-
```typescript
|
|
443
|
-
// Question 1: Category
|
|
444
|
-
options: [
|
|
445
|
-
{ label: "Relational (SQL)", description: "PostgreSQL, MySQL, etc." },
|
|
446
|
-
{ label: "Document (NoSQL)", description: "MongoDB, CouchDB, etc." },
|
|
447
|
-
{ label: "Key-Value", description: "Redis, Memcached, etc." }
|
|
448
|
-
]
|
|
449
|
-
|
|
450
|
-
// Question 2: Specific within category
|
|
451
|
-
options: [
|
|
452
|
-
{ label: "PostgreSQL", description: "Advanced features." },
|
|
453
|
-
{ label: "MySQL", description: "Popular, wide support." },
|
|
454
|
-
{ label: "SQLite", description: "Embedded, serverless." }
|
|
455
|
-
]
|
|
456
|
-
```
|
|
457
|
-
|
|
458
|
-
### ❌ Vague Descriptions
|
|
459
|
-
|
|
460
|
-
**Bad**:
|
|
461
|
-
```typescript
|
|
462
|
-
{ label: "Option 1", description: "Good choice." }
|
|
463
|
-
{ label: "Option 2", description: "Also works." }
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
**Good**:
|
|
467
|
-
```typescript
|
|
468
|
-
{ label: "PostgreSQL", description: "Relational database with ACID guarantees and advanced features (JSON, full-text search)." }
|
|
469
|
-
{ label: "MongoDB", description: "Document store with flexible schema, good for rapid prototyping." }
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
### ❌ Missing Context
|
|
473
|
-
|
|
474
|
-
**Bad**:
|
|
475
|
-
```typescript
|
|
476
|
-
question: "Which database?"
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
**Good**:
|
|
480
|
-
```typescript
|
|
481
|
-
question: "Which database for the user authentication system? (Will store ~10K users, requires ACID guarantees)"
|
|
482
|
-
```
|
|
483
|
-
|
|
484
|
-
### ❌ Hidden Trade-offs
|
|
485
|
-
|
|
486
|
-
**Bad**:
|
|
487
|
-
```typescript
|
|
488
|
-
{ label: "Approach A", description: "Uses pattern X." }
|
|
489
|
-
{ label: "Approach B", description: "Uses pattern Y." }
|
|
490
|
-
```
|
|
491
|
-
|
|
492
|
-
**Good**:
|
|
493
|
-
```typescript
|
|
494
|
-
{ label: "Approach A", description: "Fast implementation (2 hours) but harder to test." }
|
|
495
|
-
{ label: "Approach B", description: "Slower implementation (5 hours) but more maintainable and testable." }
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
---
|
|
499
|
-
|
|
500
|
-
## Performance Optimization
|
|
501
|
-
|
|
502
|
-
### Batch Questions When Possible
|
|
503
|
-
|
|
504
|
-
**Avoid** (3 separate calls):
|
|
505
|
-
```typescript
|
|
506
|
-
const q1 = await AskUserQuestion({...});
|
|
507
|
-
const q2 = await AskUserQuestion({...});
|
|
508
|
-
const q3 = await AskUserQuestion({...});
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
**Prefer** (1 call with 3 questions):
|
|
512
|
-
```typescript
|
|
513
|
-
const answers = await AskUserQuestion({
|
|
514
|
-
questions: [
|
|
515
|
-
{ question: "Q1?", header: "H1", ... },
|
|
516
|
-
{ question: "Q2?", header: "H2", ... },
|
|
517
|
-
{ question: "Q3?", header: "H3", ... }
|
|
518
|
-
]
|
|
519
|
-
});
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
**Exception**: When Q2 depends on Q1 answer (conditional branching).
|
|
523
|
-
|
|
524
|
-
### Pre-generate Options from Codebase Analysis
|
|
525
|
-
|
|
526
|
-
**Avoid**: Analyzing codebase multiple times to generate options.
|
|
527
|
-
|
|
528
|
-
**Prefer**: Analyze once, generate all options upfront.
|
|
529
|
-
|
|
530
|
-
```typescript
|
|
531
|
-
// Analyze codebase once
|
|
532
|
-
const availableDatabases = analyzeCodebase();
|
|
533
|
-
|
|
534
|
-
// Use results in question
|
|
535
|
-
const answer = await AskUserQuestion({
|
|
536
|
-
questions: [{
|
|
537
|
-
question: "Which database?",
|
|
538
|
-
header: "Database",
|
|
539
|
-
multiSelect: false,
|
|
540
|
-
options: availableDatabases.map(db => ({
|
|
541
|
-
label: db.name,
|
|
542
|
-
description: db.description
|
|
543
|
-
}))
|
|
544
|
-
}]
|
|
545
|
-
});
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
### Minimize Sequential Calls
|
|
549
|
-
|
|
550
|
-
**Avoid**: Long chains of dependent questions.
|
|
551
|
-
|
|
552
|
-
**Prefer**: Smart defaults or inferred decisions when possible.
|
|
553
|
-
|
|
554
|
-
```typescript
|
|
555
|
-
// Only ask critical questions
|
|
556
|
-
// Infer or use sensible defaults for non-critical decisions
|
|
557
|
-
```
|
|
558
|
-
|
|
559
|
-
---
|
|
560
|
-
|
|
561
|
-
## Error Handling Patterns
|
|
562
|
-
|
|
563
|
-
### User Cancels Survey (ESC Key)
|
|
564
|
-
|
|
565
|
-
```typescript
|
|
566
|
-
try {
|
|
567
|
-
const answer = await AskUserQuestion({
|
|
568
|
-
questions: [...]
|
|
569
|
-
});
|
|
570
|
-
|
|
571
|
-
// Proceed with selected options
|
|
572
|
-
implementFeature(answer);
|
|
573
|
-
|
|
574
|
-
} catch (error) {
|
|
575
|
-
console.log("User cancelled survey");
|
|
576
|
-
|
|
577
|
-
// Option 1: Use sensible default
|
|
578
|
-
implementFeature({ "Approach": "default" });
|
|
579
|
-
|
|
580
|
-
// Option 2: Abort operation
|
|
581
|
-
return { status: "cancelled", message: "Operation aborted by user" };
|
|
582
|
-
}
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
### Validate Custom Input ("Other" Option)
|
|
586
|
-
|
|
587
|
-
```typescript
|
|
588
|
-
const answer = await AskUserQuestion({
|
|
589
|
-
questions: [{
|
|
590
|
-
question: "Which database?",
|
|
591
|
-
header: "Database",
|
|
592
|
-
multiSelect: false,
|
|
593
|
-
options: [
|
|
594
|
-
{ label: "PostgreSQL", description: "..." },
|
|
595
|
-
{ label: "MySQL", description: "..." }
|
|
596
|
-
]
|
|
597
|
-
}]
|
|
598
|
-
});
|
|
599
|
-
|
|
600
|
-
const VALID_OPTIONS = ["PostgreSQL", "MySQL"];
|
|
601
|
-
|
|
602
|
-
if (!VALID_OPTIONS.includes(answer["Database"])) {
|
|
603
|
-
// User selected "Other" and provided custom input
|
|
604
|
-
const customDb = answer["Database"];
|
|
605
|
-
|
|
606
|
-
// Validate custom input
|
|
607
|
-
if (!isSupportedDatabase(customDb)) {
|
|
608
|
-
throw new Error(`Unsupported database: ${customDb}`);
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
console.log(`Using custom database: ${customDb}`);
|
|
612
|
-
}
|
|
613
|
-
```
|
|
614
|
-
|
|
615
|
-
### Handle Multi-Select Empty Selection
|
|
616
|
-
|
|
617
|
-
```typescript
|
|
618
|
-
const answer = await AskUserQuestion({
|
|
619
|
-
questions: [{
|
|
620
|
-
question: "Which testing frameworks?",
|
|
621
|
-
header: "Testing",
|
|
622
|
-
multiSelect: true,
|
|
623
|
-
options: [...]
|
|
624
|
-
}]
|
|
625
|
-
});
|
|
626
|
-
|
|
627
|
-
const selected = answer["Testing"];
|
|
628
|
-
|
|
629
|
-
// Check if user selected at least one option
|
|
630
|
-
if (!selected || selected.length === 0) {
|
|
631
|
-
console.warn("No testing frameworks selected. Using default: Unit tests");
|
|
632
|
-
implementTests(["Unit tests"]);
|
|
633
|
-
} else {
|
|
634
|
-
implementTests(selected);
|
|
635
|
-
}
|
|
636
|
-
```
|
|
637
|
-
|
|
638
|
-
---
|
|
639
|
-
|
|
640
|
-
## Official Documentation References
|
|
641
|
-
|
|
642
|
-
**Claude Code Built-in Tools**:
|
|
643
|
-
- AskUserQuestion (native Claude Code tool)
|
|
644
|
-
- Interactive Prompting (CLAUDE.md § Clarification & Interactive Prompting)
|
|
645
|
-
|
|
646
|
-
**Related MoAI-ADK Documentation**:
|
|
647
|
-
- CLAUDE-RULES.md § Interactive Question Rules
|
|
648
|
-
- CLAUDE-PRACTICES.md § Ambiguity Handling
|
|
649
|
-
- CLAUDE-AGENTS-GUIDE.md § Sub-agent Collaboration
|
|
650
|
-
|
|
651
|
-
---
|
|
652
|
-
|
|
653
|
-
**End of Reference** | 2025-10-27
|