moai-adk 0.35.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +10 -0
- moai_adk/__main__.py +199 -0
- moai_adk/cli/__init__.py +6 -0
- moai_adk/cli/commands/__init__.py +17 -0
- moai_adk/cli/commands/analyze.py +116 -0
- moai_adk/cli/commands/doctor.py +272 -0
- moai_adk/cli/commands/init.py +372 -0
- moai_adk/cli/commands/language.py +248 -0
- moai_adk/cli/commands/status.py +104 -0
- moai_adk/cli/commands/update.py +2686 -0
- moai_adk/cli/main.py +13 -0
- moai_adk/cli/prompts/__init__.py +5 -0
- moai_adk/cli/prompts/init_prompts.py +219 -0
- moai_adk/cli/spec_status.py +263 -0
- moai_adk/cli/ui/__init__.py +44 -0
- moai_adk/cli/ui/progress.py +422 -0
- moai_adk/cli/ui/prompts.py +389 -0
- moai_adk/cli/ui/theme.py +129 -0
- moai_adk/cli/worktree/__init__.py +27 -0
- moai_adk/cli/worktree/__main__.py +31 -0
- moai_adk/cli/worktree/cli.py +683 -0
- moai_adk/cli/worktree/exceptions.py +89 -0
- moai_adk/cli/worktree/manager.py +493 -0
- moai_adk/cli/worktree/models.py +65 -0
- moai_adk/cli/worktree/registry.py +422 -0
- moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
- moai_adk/core/__init__.py +1 -0
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +400 -0
- moai_adk/core/claude_integration.py +393 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/comprehensive_monitoring_system.py +1183 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/auto_spec_config.py +340 -0
- moai_adk/core/config/migration.py +244 -0
- moai_adk/core/config/unified.py +436 -0
- moai_adk/core/context_manager.py +273 -0
- moai_adk/core/diagnostics/__init__.py +19 -0
- moai_adk/core/diagnostics/slash_commands.py +159 -0
- moai_adk/core/enterprise_features.py +1404 -0
- moai_adk/core/error_recovery_system.py +1902 -0
- moai_adk/core/event_driven_hook_system.py +1371 -0
- moai_adk/core/git/__init__.py +31 -0
- moai_adk/core/git/branch.py +25 -0
- moai_adk/core/git/branch_manager.py +129 -0
- moai_adk/core/git/checkpoint.py +134 -0
- moai_adk/core/git/commit.py +67 -0
- moai_adk/core/git/conflict_detector.py +413 -0
- moai_adk/core/git/event_detector.py +79 -0
- moai_adk/core/git/manager.py +216 -0
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
- moai_adk/core/input_validation_middleware.py +1006 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +157 -0
- moai_adk/core/integration/integration_tester.py +226 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +305 -0
- moai_adk/core/jit_context_loader.py +956 -0
- moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_config_resolver.py +572 -0
- moai_adk/core/language_validator.py +543 -0
- moai_adk/core/mcp/setup.py +116 -0
- moai_adk/core/merge/__init__.py +9 -0
- moai_adk/core/merge/analyzer.py +605 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
- moai_adk/core/migration/backup_manager.py +277 -0
- moai_adk/core/migration/custom_element_scanner.py +358 -0
- moai_adk/core/migration/file_migrator.py +209 -0
- moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
- moai_adk/core/migration/selective_restorer.py +470 -0
- moai_adk/core/migration/template_utils.py +74 -0
- moai_adk/core/migration/user_selection_ui.py +338 -0
- moai_adk/core/migration/version_detector.py +139 -0
- moai_adk/core/migration/version_migrator.py +228 -0
- moai_adk/core/performance/__init__.py +6 -0
- moai_adk/core/performance/cache_system.py +316 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
- moai_adk/core/project/__init__.py +1 -0
- moai_adk/core/project/backup_utils.py +70 -0
- moai_adk/core/project/checker.py +300 -0
- moai_adk/core/project/detector.py +293 -0
- moai_adk/core/project/initializer.py +387 -0
- moai_adk/core/project/phase_executor.py +716 -0
- moai_adk/core/project/validator.py +139 -0
- moai_adk/core/quality/__init__.py +6 -0
- moai_adk/core/quality/trust_checker.py +377 -0
- moai_adk/core/quality/validators/__init__.py +6 -0
- moai_adk/core/quality/validators/base_validator.py +19 -0
- moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
- moai_adk/core/robust_json_parser.py +611 -0
- moai_adk/core/rollback_manager.py +918 -0
- moai_adk/core/session_manager.py +651 -0
- moai_adk/core/skill_loading_system.py +579 -0
- moai_adk/core/spec/confidence_scoring.py +680 -0
- moai_adk/core/spec/ears_template_engine.py +1247 -0
- moai_adk/core/spec/quality_validator.py +687 -0
- moai_adk/core/spec_status_manager.py +478 -0
- moai_adk/core/template/__init__.py +7 -0
- moai_adk/core/template/backup.py +174 -0
- moai_adk/core/template/config.py +191 -0
- moai_adk/core/template/languages.py +43 -0
- moai_adk/core/template/merger.py +233 -0
- moai_adk/core/template/processor.py +1200 -0
- moai_adk/core/template_engine.py +310 -0
- moai_adk/core/template_variable_synchronizer.py +417 -0
- moai_adk/core/unified_permission_manager.py +745 -0
- moai_adk/core/user_behavior_analytics.py +851 -0
- moai_adk/core/version_sync.py +429 -0
- moai_adk/foundation/__init__.py +56 -0
- moai_adk/foundation/backend.py +1027 -0
- moai_adk/foundation/database.py +1115 -0
- moai_adk/foundation/devops.py +1585 -0
- moai_adk/foundation/ears.py +431 -0
- moai_adk/foundation/frontend.py +870 -0
- moai_adk/foundation/git/commit_templates.py +557 -0
- moai_adk/foundation/git.py +376 -0
- moai_adk/foundation/langs.py +484 -0
- moai_adk/foundation/ml_ops.py +1162 -0
- moai_adk/foundation/testing.py +1524 -0
- moai_adk/foundation/trust/trust_principles.py +676 -0
- moai_adk/foundation/trust/validation_checklist.py +1573 -0
- moai_adk/project/__init__.py +0 -0
- moai_adk/project/configuration.py +1084 -0
- moai_adk/project/documentation.py +566 -0
- moai_adk/project/schema.py +447 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +105 -0
- moai_adk/statusline/config.py +376 -0
- moai_adk/statusline/enhanced_output_style_detector.py +372 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +322 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +343 -0
- moai_adk/statusline/update_checker.py +129 -0
- moai_adk/statusline/version_reader.py +741 -0
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
- moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
- moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
- moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
- moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
- moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
- moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
- moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
- moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
- moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
- moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
- moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
- moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
- moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
- moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
- moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
- moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
- moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
- moai_adk/templates/.claude/hooks/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
- moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
- moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
- moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
- moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
- moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
- moai_adk/templates/.claude/settings.json +172 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
- moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
- moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
- moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
- moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
- moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
- moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
- moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
- moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
- moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
- moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
- moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
- moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
- moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
- moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
- moai_adk/templates/.git-hooks/pre-commit +128 -0
- moai_adk/templates/.git-hooks/pre-push +365 -0
- moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
- moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
- moai_adk/templates/.gitignore +222 -0
- moai_adk/templates/.mcp.json +13 -0
- moai_adk/templates/.moai/config/config.yaml +58 -0
- moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
- moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
- moai_adk/templates/.moai/config/sections/language.yaml +11 -0
- moai_adk/templates/.moai/config/sections/project.yaml +13 -0
- moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
- moai_adk/templates/.moai/config/sections/system.yaml +24 -0
- moai_adk/templates/.moai/config/sections/user.yaml +5 -0
- moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
- moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
- moai_adk/templates/CLAUDE.md +642 -0
- moai_adk/utils/__init__.py +30 -0
- moai_adk/utils/banner.py +38 -0
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +241 -0
- moai_adk/utils/logger.py +147 -0
- moai_adk/utils/safe_file_reader.py +206 -0
- moai_adk/utils/timeout.py +160 -0
- moai_adk/utils/toon_utils.py +256 -0
- moai_adk/version.py +22 -0
- moai_adk-0.35.1.dist-info/METADATA +3018 -0
- moai_adk-0.35.1.dist-info/RECORD +502 -0
- moai_adk-0.35.1.dist-info/WHEEL +4 -0
- moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
- moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-workflow-spec
|
|
3
|
+
description: SPEC workflow orchestration with EARS format, requirement clarification, and Plan-Run-Sync integration for MoAI-ADK development methodology
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: workflow
|
|
6
|
+
tags:
|
|
7
|
+
- workflow
|
|
8
|
+
- spec
|
|
9
|
+
- ears
|
|
10
|
+
- requirements
|
|
11
|
+
- moai-adk
|
|
12
|
+
- planning
|
|
13
|
+
updated: 2025-12-07
|
|
14
|
+
status: active
|
|
15
|
+
author: MoAI-ADK Team
|
|
16
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# SPEC Workflow Management
|
|
20
|
+
|
|
21
|
+
## Quick Reference (30 seconds)
|
|
22
|
+
|
|
23
|
+
SPEC Workflow Orchestration - Comprehensive specification management using EARS format for systematic requirement definition and Plan-Run-Sync workflow integration.
|
|
24
|
+
|
|
25
|
+
Core Capabilities:
|
|
26
|
+
- EARS Format Specifications: Five requirement patterns for clarity
|
|
27
|
+
- Requirement Clarification: Four-step systematic process
|
|
28
|
+
- SPEC Document Templates: Standardized structure for consistency
|
|
29
|
+
- Plan-Run-Sync Integration: Seamless workflow connection
|
|
30
|
+
- Parallel Development: Git Worktree-based SPEC isolation
|
|
31
|
+
- Quality Gates: TRUST 5 framework validation
|
|
32
|
+
|
|
33
|
+
EARS Five Patterns:
|
|
34
|
+
```
|
|
35
|
+
Ubiquitous: "시스템은 항상 [동작]해야 한다" - Always perform
|
|
36
|
+
Event-Driven: "WHEN [이벤트] THEN [동작]" - Trigger-response
|
|
37
|
+
State-Driven: "IF [조건] THEN [동작]" - Conditional behavior
|
|
38
|
+
Unwanted: "시스템은 [동작]하지 않아야 한다" - Prohibition
|
|
39
|
+
Optional: "가능하면 [동작]을 제공한다" - Nice-to-have
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
When to Use:
|
|
43
|
+
- Feature planning and requirement definition
|
|
44
|
+
- SPEC document creation and maintenance
|
|
45
|
+
- Parallel feature development coordination
|
|
46
|
+
- Quality assurance and validation planning
|
|
47
|
+
|
|
48
|
+
Quick Commands:
|
|
49
|
+
```bash
|
|
50
|
+
# Create new SPEC
|
|
51
|
+
/moai:1-plan "user authentication system"
|
|
52
|
+
|
|
53
|
+
# Create parallel SPECs with Worktrees
|
|
54
|
+
/moai:1-plan "login feature" "signup feature" --worktree
|
|
55
|
+
|
|
56
|
+
# Create SPEC with new branch
|
|
57
|
+
/moai:1-plan "payment processing" --branch
|
|
58
|
+
|
|
59
|
+
# Update existing SPEC
|
|
60
|
+
/moai:1-plan SPEC-001 "add OAuth support"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Implementation Guide (5 minutes)
|
|
66
|
+
|
|
67
|
+
### Core Concepts
|
|
68
|
+
|
|
69
|
+
SPEC-First Development Philosophy:
|
|
70
|
+
- EARS format ensures unambiguous requirements
|
|
71
|
+
- Requirement clarification prevents scope creep
|
|
72
|
+
- Systematic validation through test scenarios
|
|
73
|
+
- Integration with TDD workflow for implementation
|
|
74
|
+
- Quality gates enforce completion criteria
|
|
75
|
+
- Constitution reference ensures project-wide consistency
|
|
76
|
+
|
|
77
|
+
### Constitution Reference (SDD 2025 Standard)
|
|
78
|
+
|
|
79
|
+
Constitution defines the project DNA that all SPECs must respect. Before creating any SPEC, verify alignment with project constitution defined in `.moai/project/tech.md` (extended with Constitution section).
|
|
80
|
+
|
|
81
|
+
Constitution Components:
|
|
82
|
+
- Technology Stack: Required versions and frameworks (e.g., Python 3.13+, FastAPI 0.118+)
|
|
83
|
+
- Naming Conventions: Variable, function, and file naming standards
|
|
84
|
+
- Forbidden Libraries: Libraries explicitly prohibited (with alternatives)
|
|
85
|
+
- Architectural Patterns: Layering rules, dependency directions
|
|
86
|
+
- Security Standards: Authentication patterns, encryption requirements
|
|
87
|
+
- Logging Standards: Log format, structured logging requirements
|
|
88
|
+
|
|
89
|
+
Constitution Verification Checklist:
|
|
90
|
+
- All SPEC technology choices align with Constitution stack versions
|
|
91
|
+
- No SPEC introduces forbidden libraries or patterns
|
|
92
|
+
- SPEC follows naming conventions defined in Constitution
|
|
93
|
+
- SPEC respects architectural boundaries and layering
|
|
94
|
+
|
|
95
|
+
WHY: Constitution prevents architectural drift and ensures maintainability
|
|
96
|
+
IMPACT: SPECs aligned with Constitution reduce integration conflicts by 60%
|
|
97
|
+
|
|
98
|
+
SPEC Workflow Stages:
|
|
99
|
+
1. User Input Analysis: Parse natural language feature description
|
|
100
|
+
2. Requirement Clarification: Four-step systematic process
|
|
101
|
+
3. EARS Pattern Application: Structure requirements using five patterns
|
|
102
|
+
4. Success Criteria Definition: Establish completion metrics
|
|
103
|
+
5. Test Scenario Generation: Create verification test cases
|
|
104
|
+
6. SPEC Document Generation: Produce standardized markdown output
|
|
105
|
+
|
|
106
|
+
### EARS Format Deep Dive
|
|
107
|
+
|
|
108
|
+
**Ubiquitous Requirements** - Always Active:
|
|
109
|
+
- Pattern: "시스템은 항상 [동작]해야 한다"
|
|
110
|
+
- Use Case: System-wide quality attributes
|
|
111
|
+
- Examples:
|
|
112
|
+
- "시스템은 항상 로그를 기록해야 한다" (logging)
|
|
113
|
+
- "시스템은 항상 사용자 입력을 검증해야 한다" (input validation)
|
|
114
|
+
- "시스템은 항상 에러 메시지를 표시해야 한다" (error handling)
|
|
115
|
+
- Test Strategy: Include in all feature test suites as common verification
|
|
116
|
+
|
|
117
|
+
**Event-Driven Requirements** - Trigger-Response:
|
|
118
|
+
- Pattern: "WHEN [이벤트]가 발생하면 THEN [동작]한다"
|
|
119
|
+
- Use Case: User interactions and inter-system communication
|
|
120
|
+
- Examples:
|
|
121
|
+
- "WHEN 사용자가 로그인 버튼을 클릭하면 THEN 인증을 시도한다"
|
|
122
|
+
- "WHEN 파일이 업로드되면 THEN 바이러스 스캔을 실행한다"
|
|
123
|
+
- "WHEN 결제가 완료되면 THEN 영수증을 발송한다"
|
|
124
|
+
- Test Strategy: Event simulation with expected response verification
|
|
125
|
+
|
|
126
|
+
**State-Driven Requirements** - Conditional Behavior:
|
|
127
|
+
- Pattern: "IF [조건]이면 THEN [동작]한다"
|
|
128
|
+
- Use Case: Access control, state machines, conditional business logic
|
|
129
|
+
- Examples:
|
|
130
|
+
- "IF 계정이 활성 상태이면 THEN 로그인을 허용한다"
|
|
131
|
+
- "IF 재고가 있으면 THEN 주문을 처리한다"
|
|
132
|
+
- "IF 관리자 권한이면 THEN 삭제를 허용한다"
|
|
133
|
+
- Test Strategy: State setup with conditional behavior verification
|
|
134
|
+
|
|
135
|
+
**Unwanted Requirements** - Prohibited Actions:
|
|
136
|
+
- Pattern: "시스템은 [동작]하지 않아야 한다"
|
|
137
|
+
- Use Case: Security vulnerabilities, data integrity protection
|
|
138
|
+
- Examples:
|
|
139
|
+
- "시스템은 평문 비밀번호를 저장하지 않아야 한다"
|
|
140
|
+
- "시스템은 인증되지 않은 접근을 허용하지 않아야 한다"
|
|
141
|
+
- "시스템은 민감 정보를 로그에 기록하지 않아야 한다"
|
|
142
|
+
- Test Strategy: Negative test cases with prohibited behavior verification
|
|
143
|
+
|
|
144
|
+
**Optional Requirements** - Enhancement Features:
|
|
145
|
+
- Pattern: "가능하면 [동작]을 제공한다"
|
|
146
|
+
- Use Case: MVP scope definition, feature prioritization
|
|
147
|
+
- Examples:
|
|
148
|
+
- "가능하면 OAuth 로그인을 제공한다"
|
|
149
|
+
- "가능하면 다크 모드를 지원한다"
|
|
150
|
+
- "가능하면 오프라인 모드를 제공한다"
|
|
151
|
+
- Test Strategy: Conditional test execution based on implementation status
|
|
152
|
+
|
|
153
|
+
### Requirement Clarification Process
|
|
154
|
+
|
|
155
|
+
**Step 0: Assumption Analysis (Philosopher Framework)** [NEW]
|
|
156
|
+
|
|
157
|
+
Before defining scope, surface and validate underlying assumptions using AskUserQuestion:
|
|
158
|
+
|
|
159
|
+
Assumption Categories to Examine:
|
|
160
|
+
- Technical Assumptions: Technology capabilities, API availability, performance characteristics
|
|
161
|
+
- Business Assumptions: User behavior, market requirements, timeline feasibility
|
|
162
|
+
- Team Assumptions: Skill availability, resource allocation, knowledge gaps
|
|
163
|
+
- Integration Assumptions: Third-party service reliability, compatibility expectations
|
|
164
|
+
|
|
165
|
+
Assumption Documentation Format:
|
|
166
|
+
- Assumption Statement: Clear description of what is assumed
|
|
167
|
+
- Confidence Level: High, Medium, or Low based on evidence
|
|
168
|
+
- Evidence Basis: What supports this assumption
|
|
169
|
+
- Risk if Wrong: Consequence if assumption proves false
|
|
170
|
+
- Validation Method: How to verify before committing significant effort
|
|
171
|
+
|
|
172
|
+
Example Assumption Analysis:
|
|
173
|
+
```markdown
|
|
174
|
+
## Assumptions Declared
|
|
175
|
+
|
|
176
|
+
| # | Assumption | Confidence | Risk if Wrong |
|
|
177
|
+
|---|-----------|------------|---------------|
|
|
178
|
+
| 1 | Users have stable internet | Medium | Need offline mode |
|
|
179
|
+
| 2 | OAuth provider maintains API compatibility | High | Migration needed |
|
|
180
|
+
| 3 | Team familiar with JWT patterns | Low | Training required |
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Use AskUserQuestion to verify critical assumptions before proceeding to scope definition.
|
|
184
|
+
|
|
185
|
+
**Step 0.5: Root Cause Analysis** [NEW]
|
|
186
|
+
|
|
187
|
+
For feature requests or problem-driven SPECs, apply Five Whys:
|
|
188
|
+
- Surface Problem: What is the user observing or requesting?
|
|
189
|
+
- First Why: What immediate need drives this request?
|
|
190
|
+
- Second Why: What underlying problem creates that need?
|
|
191
|
+
- Third Why: What systemic factor contributes?
|
|
192
|
+
- Root Cause: What fundamental issue must the solution address?
|
|
193
|
+
|
|
194
|
+
Alternative Approaches Section (SPEC Document):
|
|
195
|
+
```markdown
|
|
196
|
+
## Approaches Considered
|
|
197
|
+
|
|
198
|
+
| Approach | Pros | Cons | Selected |
|
|
199
|
+
|----------|------|------|----------|
|
|
200
|
+
| Option A | ... | ... | Yes |
|
|
201
|
+
| Option B | ... | ... | No - higher complexity |
|
|
202
|
+
| Option C | ... | ... | No - vendor lock-in |
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Step 1: Scope Definition**
|
|
206
|
+
- Identify supported authentication methods (email/password, OAuth, SSO)
|
|
207
|
+
- Define password complexity rules and validation
|
|
208
|
+
- Determine login failure handling strategy
|
|
209
|
+
- Establish session management approach
|
|
210
|
+
|
|
211
|
+
**Step 2: Constraint Extraction**
|
|
212
|
+
- Performance Requirements: Response time targets (e.g., 500ms P95)
|
|
213
|
+
- Security Requirements: OWASP compliance, encryption standards
|
|
214
|
+
- Compatibility Requirements: Supported browsers, mobile devices
|
|
215
|
+
- Scalability Requirements: Concurrent user targets
|
|
216
|
+
|
|
217
|
+
**Step 3: Success Criteria Definition**
|
|
218
|
+
- Test Coverage: Minimum 85% code coverage target
|
|
219
|
+
- Response Time: P50 < 50ms, P95 < 200ms, P99 < 500ms
|
|
220
|
+
- Functional Completion: All normal scenarios pass verification
|
|
221
|
+
- Quality Gates: Zero linter warnings, zero security vulnerabilities
|
|
222
|
+
|
|
223
|
+
**Step 4: Test Scenario Creation**
|
|
224
|
+
- Normal Cases: Valid inputs with expected outputs
|
|
225
|
+
- Error Cases: Invalid inputs with error handling
|
|
226
|
+
- Edge Cases: Boundary conditions and corner cases
|
|
227
|
+
- Security Cases: Injection attacks, privilege escalation attempts
|
|
228
|
+
|
|
229
|
+
### SPEC Document Structure
|
|
230
|
+
|
|
231
|
+
**Header Section**:
|
|
232
|
+
```markdown
|
|
233
|
+
# SPEC-001: User Authentication System
|
|
234
|
+
|
|
235
|
+
Created: 2025-12-07
|
|
236
|
+
Status: Planned
|
|
237
|
+
Priority: High
|
|
238
|
+
Assigned: manager-tdd
|
|
239
|
+
Related SPECs: SPEC-002 (User Registration)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**Requirements Section** (EARS Format):
|
|
243
|
+
```markdown
|
|
244
|
+
## Requirements
|
|
245
|
+
|
|
246
|
+
### Ubiquitous
|
|
247
|
+
- 시스템은 항상 로그인 시도를 로깅해야 한다
|
|
248
|
+
- 시스템은 항상 비밀번호를 해싱하여 저장해야 한다
|
|
249
|
+
|
|
250
|
+
### Event-Driven
|
|
251
|
+
- WHEN 사용자가 로그인 버튼을 클릭하면 THEN 자격증명을 검증한다
|
|
252
|
+
- WHEN 로그인이 성공하면 THEN JWT 토큰을 발급한다
|
|
253
|
+
|
|
254
|
+
### State-Driven
|
|
255
|
+
- IF 계정이 활성 상태이면 THEN 로그인을 허용한다
|
|
256
|
+
- IF 로그인 실패 횟수가 5회 이상이면 THEN 계정을 일시 잠금한다
|
|
257
|
+
|
|
258
|
+
### Unwanted
|
|
259
|
+
- 시스템은 평문 비밀번호를 로그에 기록하지 않아야 한다
|
|
260
|
+
- 시스템은 토큰 없이 보호된 리소스 접근을 허용하지 않아야 한다
|
|
261
|
+
|
|
262
|
+
### Optional
|
|
263
|
+
- 가능하면 OAuth 2.0 소셜 로그인을 제공한다
|
|
264
|
+
- 가능하면 이중 인증(2FA)을 지원한다
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Constraints Section**:
|
|
268
|
+
```markdown
|
|
269
|
+
## Constraints
|
|
270
|
+
|
|
271
|
+
Technical Constraints:
|
|
272
|
+
- Backend: Node.js 20+, Express.js framework
|
|
273
|
+
- Database: PostgreSQL 15+ for user credentials
|
|
274
|
+
- Authentication: JWT with RS256 algorithm
|
|
275
|
+
- Password Hashing: bcrypt with salt rounds 12
|
|
276
|
+
|
|
277
|
+
Business Constraints:
|
|
278
|
+
- Session timeout: 24 hours for standard users, 1 hour for admin
|
|
279
|
+
- Password complexity: Minimum 8 characters, mixed case, numbers, symbols
|
|
280
|
+
- Login attempt limit: 5 failures trigger 15-minute account lockout
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Success Criteria Section**:
|
|
284
|
+
```markdown
|
|
285
|
+
## Success Criteria
|
|
286
|
+
|
|
287
|
+
Functional Criteria:
|
|
288
|
+
- All EARS requirements implemented and verified
|
|
289
|
+
- Test coverage >= 85% for authentication module
|
|
290
|
+
- All test scenarios pass with expected results
|
|
291
|
+
|
|
292
|
+
Performance Criteria:
|
|
293
|
+
- Login response time P95 < 200ms
|
|
294
|
+
- Token generation time < 50ms
|
|
295
|
+
- Password hashing time < 500ms
|
|
296
|
+
|
|
297
|
+
Security Criteria:
|
|
298
|
+
- OWASP Authentication Cheat Sheet compliance
|
|
299
|
+
- No SQL injection vulnerabilities (verified by SQLMap)
|
|
300
|
+
- No XSS vulnerabilities (verified by OWASP ZAP)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Test Scenarios Section**:
|
|
304
|
+
```markdown
|
|
305
|
+
## Test Scenarios
|
|
306
|
+
|
|
307
|
+
| ID | Category | Scenario | Input | Expected | Status |
|
|
308
|
+
|---|---|---|---|---|---|
|
|
309
|
+
| TC-1 | Normal | Valid login | email+password | JWT token, 200 | Pending |
|
|
310
|
+
| TC-2 | Error | Invalid password | wrong password | 401 error | Pending |
|
|
311
|
+
| TC-3 | Error | Nonexistent user | unknown email | 401 error | Pending |
|
|
312
|
+
| TC-4 | Edge | Empty password | empty string | 400 error | Pending |
|
|
313
|
+
| TC-5 | Security | SQL injection | ' OR '1'='1 | 400 error, blocked | Pending |
|
|
314
|
+
| TC-6 | State | Locked account | valid credentials | 403 error | Pending |
|
|
315
|
+
| TC-7 | Performance | Concurrent logins | 100 requests/sec | < 200ms P95 | Pending |
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### Plan-Run-Sync Workflow Integration
|
|
319
|
+
|
|
320
|
+
**PLAN Phase** (/moai:1-plan):
|
|
321
|
+
- manager-spec agent analyzes user input
|
|
322
|
+
- EARS format requirements generation
|
|
323
|
+
- Requirement clarification with user interaction
|
|
324
|
+
- SPEC document creation in .moai/specs/ directory
|
|
325
|
+
- Git branch creation (optional --branch flag)
|
|
326
|
+
- Git Worktree setup (optional --worktree flag)
|
|
327
|
+
|
|
328
|
+
**RUN Phase** (/moai:2-run):
|
|
329
|
+
- manager-tdd agent loads SPEC document
|
|
330
|
+
- RED-GREEN-REFACTOR TDD cycle execution
|
|
331
|
+
- moai-workflow-testing skill reference for test patterns
|
|
332
|
+
- Domain Expert agent delegation (expert-backend, expert-frontend, etc.)
|
|
333
|
+
- Quality validation through manager-quality agent
|
|
334
|
+
|
|
335
|
+
**SYNC Phase** (/moai:3-sync):
|
|
336
|
+
- manager-docs agent synchronizes documentation
|
|
337
|
+
- API documentation generation from SPEC
|
|
338
|
+
- README and architecture document updates
|
|
339
|
+
- CHANGELOG entry creation
|
|
340
|
+
- Version control commit with SPEC reference
|
|
341
|
+
|
|
342
|
+
### Parallel Development with Git Worktree
|
|
343
|
+
|
|
344
|
+
**Worktree Concept**:
|
|
345
|
+
- Independent working directories for multiple branches
|
|
346
|
+
- Each SPEC gets isolated development environment
|
|
347
|
+
- No branch switching needed for parallel work
|
|
348
|
+
- Reduced merge conflicts through feature isolation
|
|
349
|
+
|
|
350
|
+
**Worktree Creation Process**:
|
|
351
|
+
```bash
|
|
352
|
+
# Command creates two SPECs with Worktrees
|
|
353
|
+
/moai:1-plan "login feature" "signup feature" --worktree
|
|
354
|
+
|
|
355
|
+
# Result directory structure:
|
|
356
|
+
# /project (main branch)
|
|
357
|
+
# /project-worktrees/SPEC-001 (login feature branch)
|
|
358
|
+
# /project-worktrees/SPEC-002 (signup feature branch)
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Worktree Benefits**:
|
|
362
|
+
- Parallel Development: Multiple features developed simultaneously
|
|
363
|
+
- Team Collaboration: Clear ownership boundaries per SPEC
|
|
364
|
+
- Dependency Isolation: Different library versions per feature
|
|
365
|
+
- Risk Reduction: Unstable code doesn't affect other features
|
|
366
|
+
|
|
367
|
+
**Worktree Cleanup**:
|
|
368
|
+
```bash
|
|
369
|
+
# After feature completion and merge
|
|
370
|
+
git worktree remove /project-worktrees/SPEC-001
|
|
371
|
+
git branch -d SPEC-001-login-feature
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## Advanced Implementation (10+ minutes)
|
|
377
|
+
|
|
378
|
+
For advanced patterns including SPEC templates, quality validation, and workflow optimization, see:
|
|
379
|
+
|
|
380
|
+
- [Advanced Patterns](advanced-patterns.md): Custom SPEC templates, validation automation
|
|
381
|
+
- [Reference Guide](reference.md): SPEC metadata schema, integration examples
|
|
382
|
+
- [Examples](examples.md): Real-world SPEC documents, workflow scenarios
|
|
383
|
+
|
|
384
|
+
## Resources
|
|
385
|
+
|
|
386
|
+
### SPEC File Organization
|
|
387
|
+
|
|
388
|
+
Directory Structure:
|
|
389
|
+
```
|
|
390
|
+
.moai/
|
|
391
|
+
├── specs/
|
|
392
|
+
│ ├── SPEC-001-user-authentication.md
|
|
393
|
+
│ ├── SPEC-002-user-registration.md
|
|
394
|
+
│ └── SPEC-003-password-reset.md
|
|
395
|
+
├── memory/
|
|
396
|
+
│ └── last-session-state.json
|
|
397
|
+
└── docs/
|
|
398
|
+
└── api-documentation.md
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### SPEC Metadata Schema
|
|
402
|
+
|
|
403
|
+
Required Fields:
|
|
404
|
+
- SPEC ID: Sequential number (SPEC-001, SPEC-002, etc.)
|
|
405
|
+
- Title: Feature name in English
|
|
406
|
+
- Created: ISO 8601 timestamp
|
|
407
|
+
- Status: Planned, In Progress, Completed, Blocked
|
|
408
|
+
- Priority: High, Medium, Low
|
|
409
|
+
- Assigned: Agent responsible for implementation
|
|
410
|
+
|
|
411
|
+
Optional Fields:
|
|
412
|
+
- Related SPECs: Dependencies and related features
|
|
413
|
+
- Epic: Parent feature group
|
|
414
|
+
- Estimated Effort: Time estimate in hours or story points
|
|
415
|
+
- Labels: Tags for categorization
|
|
416
|
+
|
|
417
|
+
### SPEC Lifecycle Management (SDD 2025 Standard)
|
|
418
|
+
|
|
419
|
+
Lifecycle Level Field (NEW):
|
|
420
|
+
|
|
421
|
+
SPEC maturity follows three levels based on SDD 2025 best practices:
|
|
422
|
+
|
|
423
|
+
Level 1 - spec-first:
|
|
424
|
+
- Description: SPEC written before implementation, discarded after completion
|
|
425
|
+
- Use Case: One-time features, prototypes, experiments
|
|
426
|
+
- Maintenance Policy: No maintenance required after implementation
|
|
427
|
+
- Recommended For: Quick iterations, exploratory development
|
|
428
|
+
|
|
429
|
+
Level 2 - spec-anchored:
|
|
430
|
+
- Description: SPEC maintained alongside implementation for evolution and maintenance
|
|
431
|
+
- Use Case: Core features, API contracts, integration points
|
|
432
|
+
- Maintenance Policy: Quarterly review, update when implementation changes
|
|
433
|
+
- Recommended For: Production features requiring long-term maintenance
|
|
434
|
+
|
|
435
|
+
Level 3 - spec-as-source:
|
|
436
|
+
- Description: SPEC is the single source of truth; only SPEC is edited by humans
|
|
437
|
+
- Use Case: Critical systems, regulated environments, code generation workflows
|
|
438
|
+
- Maintenance Policy: SPEC changes trigger implementation regeneration
|
|
439
|
+
- Recommended For: High-reliability systems, compliance-required features
|
|
440
|
+
|
|
441
|
+
SPEC Document Header with Lifecycle:
|
|
442
|
+
```markdown
|
|
443
|
+
---
|
|
444
|
+
id: SPEC-AUTH-001
|
|
445
|
+
version: "1.0.0"
|
|
446
|
+
status: "planned"
|
|
447
|
+
created: "2025-12-19"
|
|
448
|
+
updated: "2025-12-19"
|
|
449
|
+
author: "developer"
|
|
450
|
+
priority: "high"
|
|
451
|
+
lifecycle_level: "spec-anchored"
|
|
452
|
+
maintenance_policy: "quarterly_review"
|
|
453
|
+
---
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
Lifecycle Transition Rules:
|
|
457
|
+
- spec-first to spec-anchored: When feature becomes production-critical
|
|
458
|
+
- spec-anchored to spec-as-source: When compliance or regeneration workflow required
|
|
459
|
+
- Downgrade allowed but requires explicit justification in SPEC history
|
|
460
|
+
|
|
461
|
+
Spec Drift Prevention:
|
|
462
|
+
- For spec-anchored and spec-as-source levels, /moai:3-sync validates SPEC-implementation alignment
|
|
463
|
+
- Drift detection triggers warning before documentation sync
|
|
464
|
+
- Manual override requires explicit acknowledgment
|
|
465
|
+
|
|
466
|
+
### Quality Metrics
|
|
467
|
+
|
|
468
|
+
SPEC Quality Indicators:
|
|
469
|
+
- Requirement Clarity: All EARS patterns used appropriately
|
|
470
|
+
- Test Coverage: All requirements have corresponding test scenarios
|
|
471
|
+
- Constraint Completeness: Technical and business constraints defined
|
|
472
|
+
- Success Criteria Measurability: Quantifiable completion metrics
|
|
473
|
+
|
|
474
|
+
Validation Checklist:
|
|
475
|
+
- All EARS requirements testable
|
|
476
|
+
- No ambiguous language ("should", "might", "usually")
|
|
477
|
+
- All error cases documented
|
|
478
|
+
- Performance targets quantified
|
|
479
|
+
- Security requirements OWASP-compliant
|
|
480
|
+
|
|
481
|
+
### Works Well With
|
|
482
|
+
|
|
483
|
+
- moai-foundation-core: SPEC-First TDD methodology and TRUST 5 framework
|
|
484
|
+
- moai-workflow-testing: TDD implementation and test automation
|
|
485
|
+
- moai-workflow-project: Project initialization and configuration
|
|
486
|
+
- moai-worktree: Git Worktree management for parallel development
|
|
487
|
+
- manager-spec: SPEC creation and requirement analysis agent
|
|
488
|
+
- manager-tdd: TDD implementation based on SPEC requirements
|
|
489
|
+
- manager-quality: TRUST 5 quality validation and gate enforcement
|
|
490
|
+
|
|
491
|
+
### Integration Examples
|
|
492
|
+
|
|
493
|
+
Sequential Workflow:
|
|
494
|
+
```bash
|
|
495
|
+
# Step 1: Plan - Create SPEC
|
|
496
|
+
/moai:1-plan "user authentication system"
|
|
497
|
+
|
|
498
|
+
# Step 2: Run - Implement with TDD
|
|
499
|
+
/moai:2-run SPEC-001
|
|
500
|
+
|
|
501
|
+
# Step 3: Sync - Update documentation
|
|
502
|
+
/moai:3-sync SPEC-001
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
Parallel Workflow:
|
|
506
|
+
```bash
|
|
507
|
+
# Create multiple SPECs with Worktrees
|
|
508
|
+
/moai:1-plan "backend API" "frontend UI" "database schema" --worktree
|
|
509
|
+
|
|
510
|
+
# Parallel implementation in separate sessions
|
|
511
|
+
# Session 1: /moai:2-run SPEC-001 (backend API)
|
|
512
|
+
# Session 2: /moai:2-run SPEC-002 (frontend UI)
|
|
513
|
+
# Session 3: /moai:2-run SPEC-003 (database schema)
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
### Token Management
|
|
517
|
+
|
|
518
|
+
Session Strategy:
|
|
519
|
+
- PLAN phase: Requirements analysis and SPEC generation (~30% tokens)
|
|
520
|
+
- Clear context: /clear command after SPEC document saved
|
|
521
|
+
- RUN phase: Fresh session for TDD implementation (~60% tokens)
|
|
522
|
+
- SYNC phase: Documentation update in final session (~10% tokens)
|
|
523
|
+
|
|
524
|
+
Context Optimization:
|
|
525
|
+
- SPEC document persists in .moai/specs/ directory
|
|
526
|
+
- Session memory in .moai/memory/ for cross-session context
|
|
527
|
+
- Minimal context transfer through SPEC ID reference
|
|
528
|
+
- Agent delegation reduces token overhead
|
|
529
|
+
|
|
530
|
+
---
|
|
531
|
+
|
|
532
|
+
Version: 1.2.0 (SDD 2025 Standard Integration)
|
|
533
|
+
Last Updated: 2025-12-19
|
|
534
|
+
Integration Status: Complete - Full Plan-Run-Sync workflow with SDD 2025 features (Constitution, Tasks Decomposition, Lifecycle Management)
|