moai-adk 0.15.0__py3-none-any.whl → 0.25.4__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 +1 -2
- moai_adk/__main__.py +85 -2
- moai_adk/cli/__init__.py +0 -1
- moai_adk/cli/commands/__init__.py +0 -1
- moai_adk/cli/commands/analyze.py +127 -0
- moai_adk/cli/commands/backup.py +5 -3
- moai_adk/cli/commands/doctor.py +35 -11
- moai_adk/cli/commands/improve_user_experience.py +348 -0
- moai_adk/cli/commands/init.py +150 -23
- moai_adk/cli/commands/language.py +269 -0
- moai_adk/cli/commands/migrate.py +158 -0
- moai_adk/cli/commands/status.py +13 -12
- moai_adk/cli/commands/update.py +364 -60
- moai_adk/cli/commands/validate_links.py +118 -0
- moai_adk/cli/main.py +3 -2
- moai_adk/cli/prompts/init_prompts.py +79 -82
- moai_adk/core/__init__.py +0 -1
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +439 -0
- moai_adk/core/claude_integration.py +421 -0
- moai_adk/core/command_helpers.py +270 -0
- moai_adk/core/config/__init__.py +6 -0
- moai_adk/core/config/auto_spec_config.py +346 -0
- moai_adk/core/config/migration.py +133 -12
- moai_adk/core/context_manager.py +279 -0
- moai_adk/core/diagnostics/slash_commands.py +0 -1
- moai_adk/core/error_recovery_system.py +1289 -0
- moai_adk/core/git/__init__.py +0 -1
- moai_adk/core/git/branch.py +0 -1
- moai_adk/core/git/branch_manager.py +4 -4
- moai_adk/core/git/checkpoint.py +1 -5
- moai_adk/core/git/commit.py +0 -1
- moai_adk/core/git/event_detector.py +3 -5
- moai_adk/core/git/manager.py +0 -1
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +925 -0
- moai_adk/core/integration/__init__.py +22 -0
- moai_adk/core/integration/engine.py +169 -0
- moai_adk/core/integration/integration_tester.py +225 -0
- moai_adk/core/integration/models.py +88 -0
- moai_adk/core/integration/utils.py +211 -0
- moai_adk/core/issue_creator.py +28 -18
- moai_adk/core/language_config.py +202 -0
- moai_adk/core/language_validator.py +556 -0
- moai_adk/core/mcp/setup.py +113 -0
- moai_adk/core/migration/__init__.py +18 -0
- moai_adk/core/migration/backup_manager.py +208 -0
- moai_adk/core/migration/file_migrator.py +218 -0
- moai_adk/core/migration/version_detector.py +143 -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 +318 -0
- moai_adk/core/performance/parallel_processor.py +116 -0
- moai_adk/core/project/__init__.py +0 -1
- moai_adk/core/project/backup_utils.py +2 -7
- moai_adk/core/project/checker.py +3 -3
- moai_adk/core/project/detector.py +20 -40
- moai_adk/core/project/initializer.py +42 -17
- moai_adk/core/project/phase_executor.py +415 -58
- moai_adk/core/project/validator.py +6 -25
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +64 -110
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/rollback_manager.py +993 -0
- moai_adk/core/session_manager.py +667 -0
- moai_adk/core/spec/confidence_scoring.py +749 -0
- moai_adk/core/spec/ears_template_engine.py +1182 -0
- moai_adk/core/spec/quality_validator.py +721 -0
- moai_adk/core/spec_status_manager.py +488 -0
- moai_adk/core/template/__init__.py +0 -1
- moai_adk/core/template/backup.py +41 -1
- moai_adk/core/template/config.py +11 -12
- moai_adk/core/template/languages.py +0 -1
- moai_adk/core/template/merger.py +79 -22
- moai_adk/core/template/processor.py +614 -40
- moai_adk/core/template_engine.py +36 -27
- moai_adk/foundation/git/commit_templates.py +565 -0
- moai_adk/foundation/trust/trust_principles.py +725 -0
- moai_adk/foundation/trust/validation_checklist.py +1678 -0
- moai_adk/statusline/__init__.py +38 -0
- moai_adk/statusline/alfred_detector.py +107 -0
- moai_adk/statusline/config.py +364 -0
- moai_adk/statusline/enhanced_output_style_detector.py +364 -0
- moai_adk/statusline/git_collector.py +190 -0
- moai_adk/statusline/main.py +228 -0
- moai_adk/statusline/metrics_tracker.py +78 -0
- moai_adk/statusline/renderer.py +327 -0
- moai_adk/statusline/update_checker.py +135 -0
- moai_adk/statusline/version_reader.py +647 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +116 -4
- moai_adk/templates/.github/workflows/moai-gitflow.yml +1 -7
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +0 -1
- moai_adk/templates/.gitignore +44 -0
- moai_adk/templates/.mcp.json +22 -0
- moai_adk/templates/CLAUDE.md +450 -1071
- moai_adk/utils/__init__.py +0 -1
- moai_adk/utils/banner.py +0 -1
- moai_adk/utils/common.py +308 -0
- moai_adk/utils/link_validator.py +249 -0
- moai_adk/utils/logger.py +4 -9
- moai_adk/utils/safe_file_reader.py +210 -0
- moai_adk/utils/user_experience.py +531 -0
- moai_adk-0.25.4.dist-info/METADATA +2279 -0
- moai_adk-0.25.4.dist-info/RECORD +112 -0
- moai_adk/core/tags/__init__.py +0 -86
- moai_adk/core/tags/ci_validator.py +0 -463
- moai_adk/core/tags/cli.py +0 -283
- moai_adk/core/tags/generator.py +0 -109
- moai_adk/core/tags/inserter.py +0 -99
- moai_adk/core/tags/mapper.py +0 -126
- moai_adk/core/tags/parser.py +0 -76
- moai_adk/core/tags/pre_commit_validator.py +0 -393
- moai_adk/core/tags/reporter.py +0 -956
- moai_adk/core/tags/tags.py +0 -149
- moai_adk/core/tags/validator.py +0 -897
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +0 -319
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +0 -316
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +0 -208
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +0 -464
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +0 -214
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +0 -357
- moai_adk/templates/.claude/agents/alfred/git-manager.md +0 -406
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +0 -423
- moai_adk/templates/.claude/agents/alfred/project-manager.md +0 -312
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +0 -343
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +0 -865
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +0 -392
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +0 -361
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +0 -428
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +0 -375
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +0 -571
- moai_adk/templates/.claude/commands/alfred/0-project.md +0 -1525
- moai_adk/templates/.claude/commands/alfred/1-plan.md +0 -802
- moai_adk/templates/.claude/commands/alfred/2-run.md +0 -709
- moai_adk/templates/.claude/commands/alfred/3-sync.md +0 -1009
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +0 -149
- moai_adk/templates/.claude/hooks/alfred/core/project.py +0 -748
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +0 -136
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +0 -108
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +0 -29
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +0 -100
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +0 -94
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +0 -170
- moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +0 -271
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +0 -67
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +0 -749
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +0 -230
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +0 -198
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +0 -21
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +0 -154
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +0 -174
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +0 -87
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +0 -61
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +0 -112
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +0 -1
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +0 -161
- moai_adk/templates/.claude/settings.json +0 -144
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +0 -70
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +0 -242
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +0 -56
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +0 -444
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +0 -62
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +0 -28
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +0 -405
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +0 -51
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +0 -355
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +0 -239
- 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-expertise-detection/SKILL.md +0 -323
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +0 -286
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +0 -126
- 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-gitflow-policy/SKILL.md +0 -74
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +0 -269
- 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-issue-labels/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +0 -150
- 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-persona-roles/SKILL.md +0 -198
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +0 -141
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +0 -89
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +0 -122
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +0 -369
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +0 -508
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +0 -481
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +0 -100
- moai_adk/templates/.claude/skills/moai-alfred-reporting/SKILL.md +0 -273
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +0 -77
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +0 -265
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +0 -539
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +0 -84
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +0 -137
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +0 -219
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +0 -161
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +0 -541
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +0 -622
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +0 -115
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +0 -348
- 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-todowrite-pattern/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +0 -211
- 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-alfred-workflow/SKILL.md +0 -288
- 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-skill-descriptions/SKILL.md +0 -19
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +0 -4
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/reference.md +0 -218
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +0 -482
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +0 -524
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +0 -477
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +0 -429
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +0 -391
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +0 -431
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +0 -577
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +0 -271
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +0 -466
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +0 -583
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +0 -526
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +0 -465
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +0 -328
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +0 -312
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +0 -245
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +0 -285
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +0 -278
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +0 -303
- 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-design-systems/SKILL.md +0 -802
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +0 -1238
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +0 -673
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +0 -290
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +0 -1633
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +0 -660
- 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-database/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-database/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-frontend/SKILL.md +0 -128
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-domain-frontend/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 -116
- 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/SKILL.md +0 -124
- 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/SKILL.md +0 -123
- 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-go/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +0 -126
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +0 -31
- 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-kotlin/SKILL.md +0 -124
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +0 -126
- 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-python/SKILL.md +0 -433
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +0 -624
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +0 -316
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +0 -123
- 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/SKILL.md +0 -124
- 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-rust/SKILL.md +0 -127
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +0 -31
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +0 -125
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +0 -30
- 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-lang-swift/SKILL.md +0 -123
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +0 -30
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +0 -133
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +0 -29
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +0 -34
- moai_adk/templates/.claude/skills/moai-project-documentation.md +0 -622
- moai_adk/templates/.github/workflows/c-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/go-tag-validation.yml +0 -130
- moai_adk/templates/.github/workflows/java-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +0 -135
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/php-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/python-tag-validation.yml +0 -118
- moai_adk/templates/.github/workflows/release.yml +0 -118
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +0 -11
- moai_adk/templates/.github/workflows/tag-report.yml +0 -269
- moai_adk/templates/.github/workflows/tag-validation.yml +0 -186
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +0 -154
- moai_adk/templates/.moai/config.json +0 -115
- moai_adk/templates/workflows/go-tag-validation.yml +0 -30
- moai_adk/templates/workflows/javascript-tag-validation.yml +0 -41
- moai_adk/templates/workflows/python-tag-validation.yml +0 -42
- moai_adk/templates/workflows/typescript-tag-validation.yml +0 -31
- moai_adk-0.15.0.dist-info/METADATA +0 -3079
- moai_adk-0.15.0.dist-info/RECORD +0 -365
- {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/WHEEL +0 -0
- {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.15.0.dist-info → moai_adk-0.25.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
# Practical Examples: Workflow Execution
|
|
2
|
-
|
|
3
|
-
## Example 1: JIT Context Retrieval
|
|
4
|
-
|
|
5
|
-
### Task: "Add email verification feature"
|
|
6
|
-
|
|
7
|
-
**Phase 1: High-level Brief**
|
|
8
|
-
```markdown
|
|
9
|
-
## Email Verification Feature
|
|
10
|
-
- Goal: User can verify email after signup
|
|
11
|
-
- Success: User receives email, clicks link, marked verified
|
|
12
|
-
- Stakeholders: User (receiver), Admin (monitoring)
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**Phase 2: Technical Core**
|
|
16
|
-
```markdown
|
|
17
|
-
## Architecture
|
|
18
|
-
- Entry point: src/api/auth.py - POST /auth/signup
|
|
19
|
-
- Domain model: models/user.py - User.email_verified
|
|
20
|
-
- Email service: infra/email_service.py - send_verification_email()
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Phase 3: Edge Cases**
|
|
24
|
-
```markdown
|
|
25
|
-
## Known Gotchas
|
|
26
|
-
- Token expires in 24h
|
|
27
|
-
- Duplicate email prevents signup
|
|
28
|
-
- Test mode uses mock email service (doesn't send)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Example 2: Feature Implementation Workflow
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Step 1: Create SPEC
|
|
37
|
-
/alfred:1-plan "Email Verification"
|
|
38
|
-
|
|
39
|
-
# Step 2: TDD RED phase
|
|
40
|
-
/alfred:2-run SPEC-AUTH-015
|
|
41
|
-
# Write tests: test_verify_email_valid_token, test_token_expired, test_duplicate_email
|
|
42
|
-
# RED: All 3 tests fail
|
|
43
|
-
|
|
44
|
-
# Step 3: TDD GREEN phase
|
|
45
|
-
# Implement: User.verify_email(token)
|
|
46
|
-
# GREEN: All 3 tests pass
|
|
47
|
-
|
|
48
|
-
# Step 4: TDD REFACTOR phase
|
|
49
|
-
# Improve: Extract token validation logic
|
|
50
|
-
# REFACTOR: Tests still pass, code cleaner
|
|
51
|
-
|
|
52
|
-
# Step 5: Sync
|
|
53
|
-
/alfred:3-sync
|
|
54
|
-
# Update README with email verification docs
|
|
55
|
-
# Update CHANGELOG with SPEC-AUTH-015 reference
|
|
56
|
-
# Git commit with @TAG links
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## Example 3: Explore Agent for Large Codebase
|
|
62
|
-
|
|
63
|
-
### ❌ WRONG: Manual file hunting
|
|
64
|
-
```
|
|
65
|
-
User: "How is authentication currently implemented?"
|
|
66
|
-
Alfred:
|
|
67
|
-
grep -r "authenticate" src/
|
|
68
|
-
grep -r "login" src/
|
|
69
|
-
grep -r "jwt" src/
|
|
70
|
-
# … 20 files to read, context bloated
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### ✅ CORRECT: Use Explore Agent
|
|
74
|
-
```
|
|
75
|
-
User: "How is authentication currently implemented?"
|
|
76
|
-
Alfred: Task(subagent_type="Explore", prompt="Find authentication flow including entry points, models, middleware")
|
|
77
|
-
Explore:
|
|
78
|
-
- Found: src/api/auth.py (login endpoint)
|
|
79
|
-
- Found: models/user.py (User model, password_hash)
|
|
80
|
-
- Found: middleware/auth.py (JWT validation)
|
|
81
|
-
- Found: test/test_auth.py (test patterns)
|
|
82
|
-
Result: Clear architecture summary without bloated context
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Example 4: Problem Diagnosis
|
|
88
|
-
|
|
89
|
-
### Scenario: Tests failing unexpectedly
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
Error: "test_email_verification failed - connection timeout"
|
|
93
|
-
|
|
94
|
-
Debugging Steps:
|
|
95
|
-
1. Check stack trace → Email service timeout
|
|
96
|
-
2. Skill("moai-essentials-debug") → "Is test mode configured?"
|
|
97
|
-
3. Diagnosis → Production email service called in tests
|
|
98
|
-
4. Fix → Add mock for test environment
|
|
99
|
-
5. Verify → Tests pass again
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Example 5: Multi-step Workflow with Agents
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
User: "Implement search feature with 95%+ test coverage"
|
|
108
|
-
|
|
109
|
-
Alfred:
|
|
110
|
-
1. AskUserQuestion → Clarify search scope (users? products? all?)
|
|
111
|
-
2. Skill("moai-alfred-spec-metadata") → Create SPEC-SEARCH-001
|
|
112
|
-
3. Skill("moai-foundation-trust") → Enforce 95% coverage target
|
|
113
|
-
4. Skill("moai-essentials-debug") → Handle search performance
|
|
114
|
-
5. Skill("moai-foundation-tags") → Validate TAG chain
|
|
115
|
-
6. Skill("moai-foundation-git") → Proper commit messages
|
|
116
|
-
|
|
117
|
-
Result: Complete feature with TRUST 5 + full traceability
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
Learn more in `reference.md` for complete workflow patterns and advanced scenarios.
|
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
# CLAUDE-PRACTICES.md
|
|
2
|
-
|
|
3
|
-
> MoAI-ADK Practical Workflows & Examples
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## For Alfred: Why This Document Matters
|
|
8
|
-
|
|
9
|
-
When Alfred reads this document:
|
|
10
|
-
1. When performing actual tasks - "How specifically should I execute this?"
|
|
11
|
-
2. When context management is needed - "How can I use Explore efficiently?"
|
|
12
|
-
3. When solving problems - "How do I diagnose and resolve this error/problem?"
|
|
13
|
-
4. When onboarding new developers - "Learn MoAI-ADK workflows through practice"
|
|
14
|
-
|
|
15
|
-
Alfred's Decision Making:
|
|
16
|
-
- "What are the specific steps to perform this task?"
|
|
17
|
-
- "How can I collect the necessary context minimally?"
|
|
18
|
-
- "Where should I diagnose problems when they occur?"
|
|
19
|
-
|
|
20
|
-
After reading this document:
|
|
21
|
-
- Master JIT (Just-in-Time) context management strategies
|
|
22
|
-
- Learn how to use the Explore agent efficiently
|
|
23
|
-
- Master specific commands for SPEC → TDD → Sync execution
|
|
24
|
-
- Reference solutions for frequently occurring problems
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
→ Related Documents:
|
|
28
|
-
- [For rules verification, see CLAUDE-RULES.md](./CLAUDE-RULES.md#skill-invocation-rules)
|
|
29
|
-
- [For Agent selection, see CLAUDE-AGENTS-GUIDE.md](./CLAUDE-AGENTS-GUIDE.md#agent-selection-decision-tree)
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Context Engineering Strategy
|
|
34
|
-
|
|
35
|
-
### 1. JIT (Just-in-Time) Retrieval
|
|
36
|
-
|
|
37
|
-
- Pull only the context required for the immediate step.
|
|
38
|
-
- Prefer `Explore` over manual file hunting.
|
|
39
|
-
- Cache critical insights in the task thread for reuse.
|
|
40
|
-
|
|
41
|
-
#### Efficient Use of Explore
|
|
42
|
-
|
|
43
|
-
- Request call graphs or dependency maps when changing core modules.
|
|
44
|
-
- Fetch examples from similar features before implementing new ones.
|
|
45
|
-
- Ask for SPEC references or TAG metadata to anchor changes.
|
|
46
|
-
|
|
47
|
-
### 2. Layered Context Summaries
|
|
48
|
-
|
|
49
|
-
1. **High-level brief**: purpose, stakeholders, success criteria.
|
|
50
|
-
2. **Technical core**: entry points, domain models, shared utilities.
|
|
51
|
-
3. **Edge cases**: known bugs, performance constraints, SLAs.
|
|
52
|
-
|
|
53
|
-
### 3. Living Documentation Sync
|
|
54
|
-
|
|
55
|
-
- Align code, tests, and docs after each significant change.
|
|
56
|
-
- Use `/alfred:3-sync` to update Living Docs and TAG references.
|
|
57
|
-
- Record rationale for deviations from the SPEC.
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## On-demand Agent Usage
|
|
62
|
-
|
|
63
|
-
### Debugging & Analysis
|
|
64
|
-
|
|
65
|
-
- Use `debug-helper` for error triage and hypothesis testing.
|
|
66
|
-
- Attach logs, stack traces, and reproduction steps.
|
|
67
|
-
- Ask for fix-forward vs rollback recommendations.
|
|
68
|
-
|
|
69
|
-
### TAG System Management
|
|
70
|
-
|
|
71
|
-
- Assign IDs as `<DOMAIN>-<###>` (e.g., `AUTH-003`).
|
|
72
|
-
- Update HISTORY with every change.
|
|
73
|
-
- Cross-check usage with `rg '@TAG:ID' -n` searches.
|
|
74
|
-
|
|
75
|
-
### Backup Management
|
|
76
|
-
|
|
77
|
-
- `/alfred:0-project` and `git-manager` create automatic safety snapshots (e.g., `.moai-backups/`) before risky actions.
|
|
78
|
-
- Manual `/alfred:9-checkpoint` commands have been deprecated; rely on Git branches or team-approved backup workflows when additional restore points are needed.
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Practical Workflow Examples
|
|
83
|
-
|
|
84
|
-
### Scenario 1: Implementing a New Feature (USER-DASHBOARD-001)
|
|
85
|
-
|
|
86
|
-
**Situation**: User requests "Add user dashboard"
|
|
87
|
-
|
|
88
|
-
**Alfred's Execution Sequence**:
|
|
89
|
-
|
|
90
|
-
1. **Detect Ambiguity → Execute AskUserQuestion**
|
|
91
|
-
```
|
|
92
|
-
Question 1: What is the data source?
|
|
93
|
-
Options: [REST API | GraphQL | Local State]
|
|
94
|
-
|
|
95
|
-
Question 2: What is the refresh cycle?
|
|
96
|
-
Options: [Real-time (WebSocket) | Every 10 seconds | Manual refresh]
|
|
97
|
-
|
|
98
|
-
Question 3: Is access restriction needed?
|
|
99
|
-
Options: [Admin only | Logged-in users | Public]
|
|
100
|
-
|
|
101
|
-
User Answers:
|
|
102
|
-
- Data source: REST API
|
|
103
|
-
- Refresh cycle: Manual refresh
|
|
104
|
-
- Access restriction: Logged-in users
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
2. **Write SPEC (Based on User Answers)**
|
|
108
|
-
```bash
|
|
109
|
-
/alfred:1-plan "User Dashboard Feature - Display user stats with manual refresh, authenticated access only"
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**Output**: `.moai/specs/SPEC-USER-DASHBOARD-001/spec.md`
|
|
113
|
-
- YAML metadata: id, version: 0.0.1, status: draft
|
|
114
|
-
- @SPEC:USER-DASHBOARD-001 TAG
|
|
115
|
-
- EARS syntax requirements:
|
|
116
|
-
- "The system must display user statistics dashboard"
|
|
117
|
-
- "WHEN user clicks refresh button, THEN fetch latest data from REST API"
|
|
118
|
-
- "IF user not authenticated, THEN redirect to login page"
|
|
119
|
-
|
|
120
|
-
3. **TDD Implementation (RED → GREEN → REFACTOR)**
|
|
121
|
-
```bash
|
|
122
|
-
/alfred:2-run USER-DASHBOARD-001
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**Alfred Internal Execution**:
|
|
126
|
-
- **implementation-planner** (Phase 1):
|
|
127
|
-
- Establish implementation strategy: React component + fetch API + auth guard
|
|
128
|
-
- Library selection: react-query (data fetching), @tanstack/react-query (caching)
|
|
129
|
-
- TAG design: @CODE:USER-DASHBOARD-001:UI, @CODE:USER-DASHBOARD-001:API
|
|
130
|
-
|
|
131
|
-
- **tdd-implementer** (Phase 2):
|
|
132
|
-
- **RED**: Write `tests/features/dashboard.test.tsx` (failing tests)
|
|
133
|
-
- **GREEN**: Implement `src/features/Dashboard.tsx` (tests pass)
|
|
134
|
-
- **REFACTOR**: Clean code, separate hooks, improve reusability
|
|
135
|
-
|
|
136
|
-
4. **Document Synchronization**
|
|
137
|
-
```bash
|
|
138
|
-
/alfred:3-sync
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**Alfred Internal Execution**:
|
|
142
|
-
- TAG chain verification: @SPEC ↔ @TEST ↔ @CODE
|
|
143
|
-
- Living Document update: README.md, CHANGELOG.md
|
|
144
|
-
- PR status change: Draft → Ready
|
|
145
|
-
|
|
146
|
-
**Final Outputs**:
|
|
147
|
-
- SPEC: `.moai/specs/SPEC-USER-DASHBOARD-001/spec.md` (@SPEC:USER-DASHBOARD-001)
|
|
148
|
-
- TEST: `tests/features/dashboard.test.tsx` (@TEST:USER-DASHBOARD-001)
|
|
149
|
-
- CODE: `src/features/Dashboard.tsx` (@CODE:USER-DASHBOARD-001:UI)
|
|
150
|
-
- CODE: `src/api/dashboard.ts` (@CODE:USER-DASHBOARD-001:API)
|
|
151
|
-
- DOCS: `docs/features/USER-DASHBOARD-001.md` (@DOC:USER-DASHBOARD-001)
|
|
152
|
-
|
|
153
|
-
**Estimated Duration**: 30-45 minutes (SPEC 10min + TDD 20min + Sync 10min)
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
### Scenario 2: Bug Fix (BUG-AUTHENTICATION-TIMEOUT)
|
|
158
|
-
|
|
159
|
-
**Situation**: User reports "Authentication automatically disconnects after 5 minutes" bug
|
|
160
|
-
|
|
161
|
-
**Alfred's Execution Sequence**:
|
|
162
|
-
|
|
163
|
-
1. **Error Analysis (debug-helper)**
|
|
164
|
-
```bash
|
|
165
|
-
@agent-debug-helper "Authentication timeout after 5 minutes - expected 30 minutes"
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
**debug-helper Analysis Results**:
|
|
169
|
-
- Which function causes timeout? → `src/auth/token.ts:validateToken()`
|
|
170
|
-
- What is current timeout value? → `300000 ms` (5 minutes)
|
|
171
|
-
- What should the normal value be? → `1800000 ms` (30 minutes)
|
|
172
|
-
- Cause: JWT token expiration time incorrectly configured
|
|
173
|
-
|
|
174
|
-
2. **Write SPEC (For Bug Fix)**
|
|
175
|
-
```bash
|
|
176
|
-
/alfred:1-plan "Fix AUTH-TIMEOUT-001: JWT token expiration should be 30 minutes, not 5 minutes"
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
**Output**: `.moai/specs/SPEC-AUTH-TIMEOUT-001/spec.md`
|
|
180
|
-
- Bug description: Fix JWT expiration from 5min → 30min
|
|
181
|
-
- Root cause: `expiresIn` value error (change `300` → `1800`)
|
|
182
|
-
- Test case: Verify token validity for 30 minutes
|
|
183
|
-
|
|
184
|
-
3. **TDD Implementation (RED → GREEN → REFACTOR)**
|
|
185
|
-
```bash
|
|
186
|
-
/alfred:2-run AUTH-TIMEOUT-001
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
**Alfred Internal Execution**:
|
|
190
|
-
- **RED**: Add `tests/auth/token.test.ts`
|
|
191
|
-
```typescript
|
|
192
|
-
it('should keep token valid for 30 minutes', () => {
|
|
193
|
-
const token = generateToken();
|
|
194
|
-
const now = Date.now();
|
|
195
|
-
const futureTime = now + 30 * 60 * 1000;
|
|
196
|
-
expect(isTokenValid(token, futureTime)).toBe(true);
|
|
197
|
-
});
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
- **GREEN**: Modify `src/auth/token.ts`
|
|
201
|
-
```typescript
|
|
202
|
-
const JWT_EXPIRATION = 1800; // 30 minutes (was 300)
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
- **REFACTOR**: Constantize
|
|
206
|
-
```typescript
|
|
207
|
-
const JWT_EXPIRATION_MINUTES = 30;
|
|
208
|
-
const JWT_EXPIRATION = JWT_EXPIRATION_MINUTES * 60;
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
4. **Verification**
|
|
212
|
-
- **TRUST 5 Check**:
|
|
213
|
-
- Test First: ✅ New test case added
|
|
214
|
-
- Readable: ✅ ruff lint passed
|
|
215
|
-
- Unified: ✅ mypy type safety passed
|
|
216
|
-
- Secured: ✅ trivy security scan passed
|
|
217
|
-
- Trackable: ✅ @TAG chain normal
|
|
218
|
-
|
|
219
|
-
- **TAG Chain Verification**:
|
|
220
|
-
```bash
|
|
221
|
-
rg '@(SPEC|TEST|CODE):AUTH-TIMEOUT-001' -n
|
|
222
|
-
```
|
|
223
|
-
- @SPEC:AUTH-TIMEOUT-001 → `.moai/specs/SPEC-AUTH-TIMEOUT-001/spec.md`
|
|
224
|
-
- @TEST:AUTH-TIMEOUT-001 → `tests/auth/token.test.ts`
|
|
225
|
-
- @CODE:AUTH-TIMEOUT-001 → `src/auth/token.ts`
|
|
226
|
-
|
|
227
|
-
**Final Outputs**:
|
|
228
|
-
- SPEC updated
|
|
229
|
-
- TEST added
|
|
230
|
-
- CODE modified (1 line)
|
|
231
|
-
- Git commit: `fix(auth): Extend JWT expiration to 30 minutes (was 5 minutes) - Refs: @AUTH-TIMEOUT-001`
|
|
232
|
-
|
|
233
|
-
**Estimated Duration**: 15-20 minutes (Analysis 5min + SPEC 5min + TDD 5min + Verification 5min)
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
### Scenario 3: Document Synchronization (Automatic)
|
|
238
|
-
|
|
239
|
-
**Situation**: Keep documents up to date after code modifications
|
|
240
|
-
|
|
241
|
-
**Alfred's Execution Sequence**:
|
|
242
|
-
|
|
243
|
-
1. **Check Changed Files**
|
|
244
|
-
```bash
|
|
245
|
-
git diff develop...HEAD
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
**Results**:
|
|
249
|
-
- `src/features/Dashboard.tsx` (modified)
|
|
250
|
-
- `src/api/dashboard.ts` (new)
|
|
251
|
-
- `tests/features/dashboard.test.tsx` (new)
|
|
252
|
-
|
|
253
|
-
2. **Living Document Verification**
|
|
254
|
-
```bash
|
|
255
|
-
/alfred:3-sync status
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
**doc-syncer Analysis**:
|
|
259
|
-
- README.md update needed: Add "User Dashboard" to Features section
|
|
260
|
-
- CHANGELOG.md creation needed: v0.4.2 release notes
|
|
261
|
-
- TAG integrity verified: All @CODE linked to @SPEC
|
|
262
|
-
|
|
263
|
-
3. **TAG Integrity Check**
|
|
264
|
-
```bash
|
|
265
|
-
rg '@(SPEC|TEST|CODE|DOC):' -n .moai/specs/ tests/ src/ docs/
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**Results**:
|
|
269
|
-
- ✅ @SPEC:USER-DASHBOARD-001 → @TEST:USER-DASHBOARD-001 ✅
|
|
270
|
-
- ✅ @TEST:USER-DASHBOARD-001 → @CODE:USER-DASHBOARD-001:UI ✅
|
|
271
|
-
- ✅ @CODE:USER-DASHBOARD-001:UI → @DOC:USER-DASHBOARD-001 ✅
|
|
272
|
-
- 🎉 No orphan TAGs detected
|
|
273
|
-
|
|
274
|
-
4. **PR Status Change (Draft → Ready)**
|
|
275
|
-
```bash
|
|
276
|
-
@agent-git-manager "Move PR #42 from Draft to Ready"
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
**git-manager Execution**:
|
|
280
|
-
- PR verification: All tests passed, coverage ≥85%
|
|
281
|
-
- PR label update: `draft` → `ready-for-review`
|
|
282
|
-
- Auto-assign reviewer: GOOS오라버니
|
|
283
|
-
- PR description update: Reflect CHANGELOG.md content
|
|
284
|
-
|
|
285
|
-
**Final Outputs**:
|
|
286
|
-
- README.md auto-updated (Features section)
|
|
287
|
-
- CHANGELOG.md auto-generated (v0.4.2 entry)
|
|
288
|
-
- TAG chain verification completed
|
|
289
|
-
- PR #42 status: Draft → Ready for Review
|
|
290
|
-
|
|
291
|
-
**Estimated Duration**: 5-10 minutes (automated)
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
### Scenario 4: Multilingual Workflow (Language Boundary Pattern)
|
|
296
|
-
|
|
297
|
-
**Situation**: Users request features in their preferred language. System responds in that language while keeping all internal operations in English.
|
|
298
|
-
|
|
299
|
-
**Generic Multilingual Pattern**:
|
|
300
|
-
|
|
301
|
-
```
|
|
302
|
-
User Input (any language): "[Feature request in user's language]"
|
|
303
|
-
Examples:
|
|
304
|
-
- "Add user authentication feature" (English)
|
|
305
|
-
- "사용자 인증 기능 추가해줘" (Korean)
|
|
306
|
-
- "ユーザー認証機能を追加してください" (Japanese)
|
|
307
|
-
- "Agregar funcionalidad de autenticación de usuarios" (Spanish)
|
|
308
|
-
|
|
309
|
-
↓ [Alfred's Internal Translation Layer]
|
|
310
|
-
|
|
311
|
-
Alfred Internal Prompt: "Create authentication feature SPEC with JWT strategy,
|
|
312
|
-
email+password login, 30-minute token expiry"
|
|
313
|
-
|
|
314
|
-
↓ [Invoke spec-builder with English prompt]
|
|
315
|
-
|
|
316
|
-
Task(subagent_type="spec-builder",
|
|
317
|
-
prompt="Create SPEC for user authentication with JWT tokens...")
|
|
318
|
-
|
|
319
|
-
↓ [spec-builder receives English prompt]
|
|
320
|
-
|
|
321
|
-
spec-builder Execution:
|
|
322
|
-
1. Detects SPEC authoring task → Skill("moai-foundation-specs") ✅ [100% match]
|
|
323
|
-
2. Applies EARS syntax → Skill("moai-foundation-ears") ✅ [100% match]
|
|
324
|
-
3. Returns structured English SPEC
|
|
325
|
-
|
|
326
|
-
↓ [Alfred receives English SPEC output]
|
|
327
|
-
|
|
328
|
-
SPEC Output:
|
|
329
|
-
{
|
|
330
|
-
"id": "AUTH-001",
|
|
331
|
-
"version": "0.0.1",
|
|
332
|
-
"requirements": [
|
|
333
|
-
"The system must provide JWT-based authentication",
|
|
334
|
-
"WHEN valid credentials provided, THEN issue JWT token with 30-minute expiry",
|
|
335
|
-
"IF user not authenticated, THEN redirect to login page"
|
|
336
|
-
]
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
↓ [Alfred's Response Translation Layer]
|
|
340
|
-
|
|
341
|
-
User Response (in user's language):
|
|
342
|
-
- English: "I've created the authentication SPEC with JWT strategy..."
|
|
343
|
-
- Korean: "인증 SPEC을 작성했습니다. JWT 전략으로..."
|
|
344
|
-
- Japanese: "認証SPECを作成しました。JWT戦略で..."
|
|
345
|
-
- Spanish: "He creado la especificación de autenticación. Con estrategia JWT..."
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
**Key Principles**:
|
|
349
|
-
|
|
350
|
-
| Aspect | Implementation |
|
|
351
|
-
|--------|-----------------|
|
|
352
|
-
| **User-Facing (External)** | User's configured language (flexible) |
|
|
353
|
-
| **Internal Operations (Layer 2)** | English only (Task prompts, Sub-agent communication) |
|
|
354
|
-
| **Skills & Code (Layer 3)** | English only (Skill descriptions, code comments) |
|
|
355
|
-
| **Translation Points** | User Input → English (entry), English → User Language (response) |
|
|
356
|
-
|
|
357
|
-
**Why This Works**:
|
|
358
|
-
- ✅ **Skills remain unchanged**: English-only Skills work reliably for ANY user language
|
|
359
|
-
- ✅ **Zero maintenance burden**: No need to translate 55 Skills into N languages
|
|
360
|
-
- ✅ **Infinite scalability**: Add Korean, Russian, Mandarin, Arabic without code changes
|
|
361
|
-
- ✅ **Consistent quality**: English prompts guarantee 100% Skill trigger matching
|
|
362
|
-
- ✅ **Industry standard**: Same pattern used by Netflix, Google, AWS (localized UI + English backend)
|
|
363
|
-
|
|
364
|
-
**Estimated Duration**: Same as English (no overhead from translation layer)
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
**Last Updated**: 2025-10-27
|
|
369
|
-
**Document Version**: v1.0.0
|