moai-adk 0.4.5__py3-none-any.whl → 0.20.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 +1 -1
- moai_adk/__main__.py +74 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/analyze.py +119 -0
- moai_adk/cli/commands/backup.py +25 -1
- moai_adk/cli/commands/doctor.py +31 -5
- moai_adk/cli/commands/improve_user_experience.py +307 -0
- moai_adk/cli/commands/init.py +111 -10
- moai_adk/cli/commands/status.py +33 -3
- moai_adk/cli/commands/update.py +921 -130
- moai_adk/cli/commands/validate_links.py +120 -0
- moai_adk/cli/prompts/init_prompts.py +22 -87
- moai_adk/core/analysis/__init__.py +9 -0
- moai_adk/core/analysis/session_analyzer.py +388 -0
- moai_adk/core/analysis/tag_chain_analyzer.py +344 -0
- moai_adk/core/analysis/tag_chain_repair.py +879 -0
- moai_adk/core/config/__init__.py +19 -0
- moai_adk/core/config/migration.py +235 -0
- moai_adk/core/git/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/commit.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/issue_creator.py +313 -0
- moai_adk/core/mcp/setup.py +56 -0
- moai_adk/core/mcp/setup_old.py +296 -0
- moai_adk/core/project/backup_utils.py +1 -1
- moai_adk/core/project/checker.py +2 -2
- moai_adk/core/project/detector.py +211 -12
- moai_adk/core/project/initializer.py +85 -15
- moai_adk/core/project/phase_executor.py +76 -13
- moai_adk/core/project/validator.py +13 -13
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/tags/__init__.py +86 -0
- moai_adk/core/tags/auto_corrector.py +693 -0
- moai_adk/core/tags/ci_validator.py +463 -0
- moai_adk/core/tags/cli.py +283 -0
- moai_adk/core/tags/generator.py +109 -0
- moai_adk/core/tags/inserter.py +99 -0
- moai_adk/core/tags/mapper.py +126 -0
- moai_adk/core/tags/parser.py +76 -0
- moai_adk/core/tags/policy_validator.py +580 -0
- moai_adk/core/tags/pre_commit_validator.py +421 -0
- moai_adk/core/tags/reporter.py +956 -0
- moai_adk/core/tags/rollback_manager.py +525 -0
- moai_adk/core/tags/tags.py +149 -0
- moai_adk/core/tags/validator.py +897 -0
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +1 -1
- moai_adk/core/template/merger.py +50 -1
- moai_adk/core/template/processor.py +119 -13
- moai_adk/core/template_engine.py +268 -0
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +348 -0
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +209 -944
- moai_adk/templates/.claude/agents/alfred/database-expert.md +352 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +34 -5
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +38 -8
- moai_adk/templates/.claude/agents/alfred/format-expert.md +469 -0
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +128 -9
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +104 -6
- moai_adk/templates/.claude/agents/alfred/project-manager.md +88 -16
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +36 -9
- moai_adk/templates/.claude/agents/alfred/security-expert.md +270 -0
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +214 -43
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +111 -9
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +309 -160
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +36 -7
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +605 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +393 -966
- moai_adk/templates/.claude/commands/alfred/1-plan.md +651 -367
- moai_adk/templates/.claude/commands/alfred/2-run.md +388 -241
- moai_adk/templates/.claude/commands/alfred/3-sync.md +1921 -410
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +153 -0
- moai_adk/templates/.claude/commands/alfred/release-new.md +3604 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +484 -20
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +14 -6
- moai_adk/templates/.claude/hooks/alfred/post_tool__enable_streaming_ui.py +50 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__tag_auto_corrector.py +407 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +99 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__realtime_tag_monitor.py +335 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__tag_policy_validator.py +325 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +93 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__auto_cleanup.py +580 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +298 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/checkpoint.py +3 -3
- moai_adk/templates/.claude/hooks/alfred/{core → shared/core}/context.py +5 -5
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/daily_analysis.py +351 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/hook_config.py +94 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/output-styles/alfred/alfred-moai-adk-beginner.md +267 -0
- moai_adk/templates/.claude/output-styles/alfred/keating-personal-tutor.md +440 -0
- moai_adk/templates/.claude/output-styles/alfred/r2d2-agentic-coding.md +583 -0
- moai_adk/templates/.claude/settings.json +96 -14
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/SKILL.md +70 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-agent-guide/reference.md +242 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/SKILL.md +237 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/examples.md +871 -0
- moai_adk/templates/.claude/skills/moai-alfred-ask-user-questions/reference.md +653 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/README.md +162 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/SKILL.md +227 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/examples.md +354 -0
- moai_adk/templates/.claude/skills/moai-alfred-clone-pattern/reference.md +158 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +179 -79
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +117 -0
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/scripts/pre-review-check.sh +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +132 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/reference.md +444 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/examples.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-context-budget/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/SKILL.md +51 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/examples.md +355 -0
- moai_adk/templates/.claude/skills/moai-alfred-dev-guide/reference.md +239 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/SKILL.md +323 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/examples.md +286 -0
- moai_adk/templates/.claude/skills/moai-alfred-expertise-detection/reference.md +126 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +229 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/reference.md +150 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +87 -73
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/README.md +42 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/SKILL.md +429 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/examples.md +520 -0
- moai_adk/templates/.claude/skills/moai-alfred-personas/reference.md +405 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/SKILL.md +89 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/examples.md +122 -0
- moai_adk/templates/.claude/skills/moai-alfred-practices/reference.md +369 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/SKILL.md +508 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/examples.md +481 -0
- moai_adk/templates/.claude/skills/moai-alfred-proactive-suggestions/reference.md +100 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/SKILL.md +77 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/examples.md +265 -0
- moai_adk/templates/.claude/skills/moai-alfred-rules/reference.md +539 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/SKILL.md +320 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-session-state/reference.md +84 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/README.md +137 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/SKILL.md +219 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples/validate-spec.sh +161 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/examples.md +541 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-authoring/reference.md +622 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-todowrite-pattern/reference.md +211 -0
- moai_adk/templates/.claude/skills/moai-alfred-workflow/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/CHECKLIST.md +482 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/EXAMPLES.md +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/METADATA.md +477 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/SKILL.md +273 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/STRUCTURE.md +583 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/WEB-RESEARCH.md +526 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/reference.md +608 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/generate-structure.sh +328 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/scripts/validate-skill.sh +312 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/examples-template.md +285 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/reference-template.md +278 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-factory/templates/scripts-template.sh +303 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
- moai_adk/templates/.claude/skills/moai-change-logger/SKILL.md +563 -0
- moai_adk/templates/.claude/skills/moai-design-systems/SKILL.md +802 -0
- moai_adk/templates/.claude/skills/moai-design-systems/examples.md +1238 -0
- moai_adk/templates/.claude/skills/moai-design-systems/reference.md +673 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +234 -43
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +97 -69
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +97 -72
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +102 -73
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +97 -67
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +97 -79
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -71
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +265 -64
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +87 -78
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +87 -70
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +87 -86
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +80 -62
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +207 -50
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +90 -71
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +78 -58
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +78 -51
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/.!11330!examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +253 -32
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
- moai_adk/templates/.claude/skills/moai-jit-docs-enhanced/SKILL.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +98 -76
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +2358 -70
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +2962 -68
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +1898 -70
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +1465 -68
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +2364 -66
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +1630 -69
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +89 -61
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +735 -66
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +97 -73
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +98 -73
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +1834 -70
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +99 -74
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +97 -74
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +98 -74
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +1959 -69
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-template/SKILL.md +348 -0
- moai_adk/templates/.claude/skills/moai-lang-template/VARIABLES.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +1230 -66
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
- moai_adk/templates/.claude/skills/moai-learning-optimizer/SKILL.md +575 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/README.md +50 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/SKILL.md +304 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/examples.md +417 -0
- moai_adk/templates/.claude/skills/moai-project-batch-questions/reference.md +704 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/README.md +87 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/examples.md +1109 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/reference.md +514 -0
- moai_adk/templates/.claude/skills/moai-project-config-manager/validate.py +106 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/README.md +11 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/SKILL.md +622 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/examples.md +20 -0
- moai_adk/templates/.claude/skills/moai-project-documentation/reference.md +12 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/README.md +152 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/SKILL.md +285 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/examples.md +333 -0
- moai_adk/templates/.claude/skills/moai-project-language-initializer/reference.md +386 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/README.md +49 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/SKILL.md +319 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/examples.md +58 -0
- moai_adk/templates/.claude/skills/moai-project-template-optimizer/reference.md +123 -0
- moai_adk/templates/.claude/skills/moai-session-info/SKILL.md +314 -0
- moai_adk/templates/.claude/skills/moai-streaming-ui/SKILL.md +552 -0
- moai_adk/templates/.claude/skills/moai-tag-policy-validator/SKILL.md +570 -0
- moai_adk/templates/.git-hooks/pre-commit +66 -0
- moai_adk/templates/.git-hooks/pre-push +255 -0
- moai_adk/templates/.github/workflows/c-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/go-tag-validation.yml +130 -0
- moai_adk/templates/.github/workflows/java-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/javascript-tag-validation.yml +135 -0
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/moai-gitflow.yml +166 -3
- moai_adk/templates/.github/workflows/moai-release-create.yml +100 -0
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +188 -0
- moai_adk/templates/.github/workflows/php-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/python-tag-validation.yml +118 -0
- moai_adk/templates/.github/workflows/release.yml +118 -0
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/spec-issue-sync.yml +338 -0
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +11 -0
- moai_adk/templates/.github/workflows/tag-report.yml +269 -0
- moai_adk/templates/.github/workflows/tag-validation.yml +186 -0
- moai_adk/templates/.github/workflows/typescript-tag-validation.yml +154 -0
- moai_adk/templates/.mcp.json +31 -0
- moai_adk/templates/.moai/config.json +80 -7
- moai_adk/templates/CLAUDE.md +562 -546
- moai_adk/utils/banner.py +5 -5
- moai_adk/utils/common.py +294 -0
- moai_adk/utils/link_validator.py +235 -0
- moai_adk/utils/logger.py +8 -8
- moai_adk/utils/user_experience.py +451 -0
- moai_adk-0.20.1.dist-info/METADATA +233 -0
- moai_adk-0.20.1.dist-info/RECORD +404 -0
- moai_adk/templates/.claude/hooks/alfred/README.md +0 -230
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -156
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +0 -85
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +0 -25
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +0 -92
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +0 -70
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +0 -41
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -636
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -692
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -470
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +0 -103
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +0 -95
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -105
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +0 -97
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +0 -90
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -87
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -62
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -94
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -513
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -433
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -99
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -100
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -98
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -98
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +0 -69
- moai_adk/templates/.moai/memory/development-guide.md +0 -344
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -220
- moai_adk/templates/.moai/memory/spec-metadata.md +0 -356
- moai_adk/templates/.moai/project/product.md +0 -161
- moai_adk/templates/.moai/project/structure.md +0 -156
- moai_adk/templates/.moai/project/tech.md +0 -227
- moai_adk/templates/__init__.py +0 -2
- moai_adk-0.4.5.dist-info/METADATA +0 -369
- moai_adk-0.4.5.dist-info/RECORD +0 -152
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.5.dist-info → moai_adk-0.20.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,281 +1,428 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tdd-implementer
|
|
3
|
-
description: "Use when
|
|
3
|
+
description: "Use PROACTIVELY when TDD RED-GREEN-REFACTOR implementation is needed. Called in /alfred:2-run Phase 2."
|
|
4
4
|
tools: Read, Write, Edit, MultiEdit, Bash, Grep, Glob, TodoWrite
|
|
5
|
-
model:
|
|
5
|
+
model: haiku
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# TDD Implementer - TDD
|
|
9
|
-
> Interactive prompts rely on `Skill("moai-alfred-tui-survey")` so AskUserQuestion renders TUI selection menus for user surveys and approvals.
|
|
8
|
+
# TDD Implementer - TDD Implementation Expert
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
> **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-ask-user-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
|
|
12
11
|
|
|
13
|
-
## 🎭 Agent
|
|
12
|
+
## 🎭 Agent Identity
|
|
14
13
|
|
|
15
14
|
**Icon**: 🔬
|
|
16
|
-
**
|
|
17
|
-
**
|
|
18
|
-
**
|
|
19
|
-
|
|
15
|
+
**Role**: Senior Developer specializing in TDD, unit testing, refactoring, and TAG chain management
|
|
16
|
+
**Responsibility**: Translate implementation plans into actual code following strict RED-GREEN-REFACTOR cycles
|
|
17
|
+
**Outcome**: Generate code with 100% test coverage and TRUST principles compliance
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 🌍 Language Handling
|
|
22
|
+
|
|
23
|
+
**IMPORTANT**: Receive prompts in the user's **configured conversation_language**.
|
|
24
|
+
|
|
25
|
+
Alfred passes the user's language directly via `Task()` calls for natural multilingual support.
|
|
26
|
+
|
|
27
|
+
**Language Guidelines**:
|
|
28
|
+
|
|
29
|
+
1. **Prompt Language**: Receive prompts in user's conversation_language (English, Korean, Japanese, etc.)
|
|
30
|
+
|
|
31
|
+
2. **Output Language**:
|
|
32
|
+
- Code: **Always in English** (functions, variables, class names)
|
|
33
|
+
- Comments: **Always in English** (for global collaboration)
|
|
34
|
+
- Test descriptions: Can be in user's language or English
|
|
35
|
+
- Commit messages: **Always in English**
|
|
36
|
+
- Status updates: In user's language
|
|
37
|
+
|
|
38
|
+
3. **Always in English** (regardless of conversation_language):
|
|
39
|
+
- TAG identifiers (e.g., `@CODE:TAG-ID`, `@TEST:TAG-ID`)
|
|
40
|
+
- Skill names: `Skill("moai-lang-python")`, `Skill("moai-essentials-debug")`
|
|
41
|
+
- Code syntax and keywords
|
|
42
|
+
- Git commit messages
|
|
43
|
+
|
|
44
|
+
4. **Explicit Skill Invocation**:
|
|
45
|
+
- Always use explicit syntax: `Skill("moai-alfred-language-detection")`, `Skill("moai-lang-*")`
|
|
46
|
+
- Do NOT rely on keyword matching or auto-triggering
|
|
47
|
+
|
|
48
|
+
**Example**:
|
|
49
|
+
- Receive (Korean): "SPEC-AUTH-001을 TDD로 구현해주세요"
|
|
50
|
+
- Invoke Skills: `Skill("moai-lang-python")`, `Skill("moai-essentials-debug")`
|
|
51
|
+
- Write code in English with English comments
|
|
52
|
+
- Provide Korean status updates to user
|
|
53
|
+
|
|
54
|
+
---
|
|
20
55
|
|
|
21
56
|
## 🧰 Required Skills
|
|
22
57
|
|
|
23
58
|
**Automatic Core Skills**
|
|
24
|
-
- `Skill("moai-essentials-debug")` – Immediately
|
|
59
|
+
- `Skill("moai-essentials-debug")` – Immediately suggest failure cause analysis and minimum correction path in RED stage
|
|
25
60
|
|
|
26
61
|
**Conditional Skill Logic**
|
|
27
|
-
- Language-specific skills: Based on `Skill("moai-alfred-language-detection")` or
|
|
28
|
-
- `Skill("moai-essentials-refactor")`: Called only when entering
|
|
29
|
-
- `Skill("moai-alfred-git-workflow")`:
|
|
30
|
-
- `Skill("moai-essentials-perf")
|
|
31
|
-
- `
|
|
62
|
+
- Language-specific skills: Based on `Skill("moai-alfred-language-detection")` or implementation plan info, select only one relevant language skill (`Skill("moai-lang-python")`, `Skill("moai-lang-typescript")`, etc.)
|
|
63
|
+
- `Skill("moai-essentials-refactor")`: Called only when entering REFACTOR stage
|
|
64
|
+
- `Skill("moai-alfred-git-workflow")`: Load commits/checkpoints for each TAG at time of preparation
|
|
65
|
+
- `Skill("moai-essentials-perf")`: Applied only when performance requirements are specified in SPEC
|
|
66
|
+
- `AskUserQuestion tool (documented in moai-alfred-ask-user-questions skill)`: Collect user decisions when choosing implementation alternative or refactoring strategy is needed
|
|
32
67
|
|
|
33
|
-
|
|
68
|
+
---
|
|
34
69
|
|
|
35
|
-
|
|
36
|
-
- **Decision-making criteria**: Testability, code quality, maintainability
|
|
37
|
-
- **Communication style**: TAG-based progress reporting, clear commit messages
|
|
38
|
-
- **Expertise**: TDD, unit testing, refactoring, clean code
|
|
70
|
+
## 🎯 Core Responsibilities
|
|
39
71
|
|
|
40
|
-
|
|
72
|
+
### 1. Execute TDD Cycle
|
|
41
73
|
|
|
42
|
-
|
|
74
|
+
**Execute this cycle for each TAG**:
|
|
43
75
|
|
|
44
76
|
- **RED**: Write failing tests first
|
|
45
77
|
- **GREEN**: Write minimal code to pass tests
|
|
46
|
-
- **REFACTOR**: Improve code quality
|
|
47
|
-
- **Repeat cycle
|
|
78
|
+
- **REFACTOR**: Improve code quality without changing functionality
|
|
79
|
+
- **Repeat**: Continue cycle until TAG complete
|
|
48
80
|
|
|
49
|
-
### 2. TAG
|
|
81
|
+
### 2. Manage TAG Chain
|
|
82
|
+
|
|
83
|
+
**Follow these TAG management rules**:
|
|
50
84
|
|
|
51
85
|
- **Observe TAG order**: Implement in TAG order provided by implementation-planner
|
|
52
86
|
- **Insert TAG marker**: Add `# @CODE:[TAG-ID]` comment to code
|
|
53
|
-
- **TAG progress
|
|
54
|
-
- **TAG
|
|
87
|
+
- **Track TAG progress**: Record progress with TodoWrite
|
|
88
|
+
- **Verify TAG completion**: Check completion conditions for each TAG
|
|
89
|
+
|
|
90
|
+
### 3. Maintain Code Quality
|
|
55
91
|
|
|
56
|
-
|
|
92
|
+
**Apply these quality standards**:
|
|
57
93
|
|
|
58
94
|
- **Clean code**: Write readable and maintainable code
|
|
59
95
|
- **SOLID principles**: Follow object-oriented design principles
|
|
60
96
|
- **DRY principles**: Minimize code duplication
|
|
61
97
|
- **Naming rules**: Use meaningful variable/function names
|
|
62
98
|
|
|
63
|
-
### 4. Test
|
|
99
|
+
### 4. Ensure Test Coverage
|
|
100
|
+
|
|
101
|
+
**Follow these testing requirements**:
|
|
64
102
|
|
|
65
103
|
- **100% coverage goal**: Write tests for all code paths
|
|
66
104
|
- **Edge cases**: Test boundary conditions and exception cases
|
|
67
105
|
- **Integration testing**: Add integration tests when needed
|
|
68
106
|
- **Test execution**: Run and verify tests with pytest/jest
|
|
69
107
|
|
|
70
|
-
|
|
108
|
+
### 5. Generate Language-Aware Workflow
|
|
109
|
+
|
|
110
|
+
**IMPORTANT**: DO NOT execute Python code examples in this agent. Descriptions below are for INFORMATIONAL purposes only. Use Read/Write/Bash tools directly.
|
|
111
|
+
|
|
112
|
+
**Detection Process**:
|
|
113
|
+
|
|
114
|
+
**Step 1**: Detect project language
|
|
115
|
+
- Read project indicator files (pyproject.toml, package.json, go.mod, etc.)
|
|
116
|
+
- Identify primary language from file patterns
|
|
117
|
+
- Store detected language for workflow selection
|
|
118
|
+
|
|
119
|
+
**Step 2**: Select appropriate workflow template
|
|
120
|
+
- IF language is Python → Use python-tag-validation.yml template
|
|
121
|
+
- IF language is JavaScript → Use javascript-tag-validation.yml template
|
|
122
|
+
- IF language is TypeScript → Use typescript-tag-validation.yml template
|
|
123
|
+
- IF language is Go → Use go-tag-validation.yml template
|
|
124
|
+
- IF language not supported → Raise error with clear message
|
|
125
|
+
|
|
126
|
+
**Step 3**: Generate project-specific workflow
|
|
127
|
+
- Copy selected template to .github/workflows/tag-validation.yml
|
|
128
|
+
- Apply project-specific customization if needed
|
|
129
|
+
- Validate workflow syntax
|
|
130
|
+
|
|
131
|
+
**Workflow Features by Language**:
|
|
132
|
+
|
|
133
|
+
**Python**:
|
|
134
|
+
- Test framework: pytest with 85% coverage target
|
|
135
|
+
- Type checking: mypy
|
|
136
|
+
- Linting: ruff
|
|
137
|
+
- Python versions: 3.11, 3.12, 3.13
|
|
138
|
+
|
|
139
|
+
**JavaScript**:
|
|
140
|
+
- Package manager: Auto-detect (npm, yarn, pnpm, bun)
|
|
141
|
+
- Test: npm test (or yarn test, pnpm test, bun test)
|
|
142
|
+
- Linting: eslint or biome
|
|
143
|
+
- Coverage target: 80%
|
|
144
|
+
- Node versions: 20, 22 LTS
|
|
145
|
+
|
|
146
|
+
**TypeScript**:
|
|
147
|
+
- Type checking: tsc --noEmit
|
|
148
|
+
- Test: npm test (vitest/jest)
|
|
149
|
+
- Linting: biome or eslint
|
|
150
|
+
- Coverage target: 85%
|
|
151
|
+
- Node versions: 20, 22 LTS
|
|
152
|
+
|
|
153
|
+
**Go**:
|
|
154
|
+
- Test: go test -v -cover
|
|
155
|
+
- Linting: golangci-lint
|
|
156
|
+
- Format check: gofmt
|
|
157
|
+
- Coverage target: 75%
|
|
158
|
+
|
|
159
|
+
**Error Handling**:
|
|
160
|
+
- IF language detection returns None → Check for language indicator files (pyproject.toml, package.json, etc.)
|
|
161
|
+
- IF detected language lacks dedicated workflow → Use generic workflow or create custom template
|
|
162
|
+
- IF TypeScript incorrectly detected as JavaScript → Verify tsconfig.json exists in project root
|
|
163
|
+
- IF wrong package manager detected → Remove outdated lock files, keep only one (priority: bun.lockb > pnpm-lock.yaml > yarn.lock > package-lock.json)
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 📋 Execution Workflow
|
|
168
|
+
|
|
169
|
+
### STEP 1: Confirm Implementation Plan
|
|
170
|
+
|
|
171
|
+
**Task**: Verify plan from implementation-planner
|
|
71
172
|
|
|
72
|
-
|
|
173
|
+
**Actions**:
|
|
174
|
+
1. Read the implementation plan document
|
|
175
|
+
2. Extract TAG chain (order and dependencies)
|
|
176
|
+
3. Extract library version information
|
|
177
|
+
4. Extract implementation priority
|
|
178
|
+
5. Extract completion conditions
|
|
179
|
+
6. Check current codebase status:
|
|
180
|
+
- Read existing code files
|
|
181
|
+
- Read existing test files
|
|
182
|
+
- Read package.json/pyproject.toml
|
|
73
183
|
|
|
74
|
-
|
|
75
|
-
- TAG chain (order and dependencies)
|
|
76
|
-
- Library version information
|
|
77
|
-
- Implementation priority
|
|
78
|
-
- Completion conditions
|
|
184
|
+
### STEP 2: Prepare Environment
|
|
79
185
|
|
|
80
|
-
|
|
81
|
-
- Read existing code files
|
|
82
|
-
- Check existing test files
|
|
83
|
-
- Check package.json/pyproject.toml
|
|
186
|
+
**Task**: Set up development environment
|
|
84
187
|
|
|
85
|
-
|
|
188
|
+
**Actions**:
|
|
86
189
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
190
|
+
**IF libraries need installation**:
|
|
191
|
+
1. Check package manager (npm/pip/yarn/etc.)
|
|
192
|
+
2. Install required libraries with specific versions
|
|
193
|
+
- Example: `npm install [library@version]`
|
|
194
|
+
- Example: `pip install [library==version]`
|
|
90
195
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
196
|
+
**Check test environment**:
|
|
197
|
+
1. Verify pytest or jest installation
|
|
198
|
+
2. Verify test configuration file exists
|
|
94
199
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
200
|
+
**Check directory structure**:
|
|
201
|
+
1. Verify src/ or lib/ directory exists
|
|
202
|
+
2. Verify tests/ or __tests__/ directory exists
|
|
98
203
|
|
|
99
|
-
###
|
|
204
|
+
### STEP 3: Execute TAG Unit TDD Cycle
|
|
100
205
|
|
|
101
|
-
**Repeat
|
|
206
|
+
**CRITICAL**: Repeat this cycle for each TAG in order
|
|
102
207
|
|
|
103
|
-
#### 3.1 RED
|
|
208
|
+
#### Phase 3.1: RED (Write Failing Tests)
|
|
209
|
+
|
|
210
|
+
**Task**: Create tests that fail as expected
|
|
211
|
+
|
|
212
|
+
**Actions**:
|
|
104
213
|
|
|
105
214
|
1. **Create or modify test file**:
|
|
106
|
-
|
|
107
|
-
|
|
215
|
+
- Path: tests/test_[module_name].py OR __tests__/[module_name].test.js
|
|
216
|
+
- Add TAG comment: `# @TEST:[TAG-ID]`
|
|
217
|
+
|
|
218
|
+
2. **Write test cases**:
|
|
219
|
+
- Normal case (happy path)
|
|
220
|
+
- Edge case (boundary conditions)
|
|
221
|
+
- Exception case (error handling)
|
|
108
222
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
223
|
+
3. **Run test and verify failure**:
|
|
224
|
+
- Execute: `pytest tests/` OR `npm test`
|
|
225
|
+
- Check failure message
|
|
226
|
+
- Verify it fails as expected
|
|
227
|
+
- IF test passes unexpectedly → Review test logic
|
|
228
|
+
- IF test fails unexpectedly → Check test environment
|
|
113
229
|
|
|
114
|
-
3.
|
|
115
|
-
- pytest tests/ or npm test
|
|
116
|
-
- Check the failure message
|
|
117
|
-
- Verify that it fails as expected.
|
|
230
|
+
#### Phase 3.2: GREEN (Write Test-Passing Code)
|
|
118
231
|
|
|
119
|
-
|
|
232
|
+
**Task**: Write minimal code to pass tests
|
|
233
|
+
|
|
234
|
+
**Actions**:
|
|
120
235
|
|
|
121
236
|
1. **Create or modify source code file**:
|
|
122
|
-
|
|
123
|
-
|
|
237
|
+
- Path: src/[module_name].py OR lib/[module_name].js
|
|
238
|
+
- Add TAG comment: `# @CODE:[TAG-ID]`
|
|
124
239
|
|
|
125
240
|
2. **Write minimal code**:
|
|
126
|
-
|
|
127
|
-
|
|
241
|
+
- Simplest code that passes test
|
|
242
|
+
- Avoid over-implementation (YAGNI principle)
|
|
243
|
+
- Focus on passing current test only
|
|
244
|
+
|
|
245
|
+
3. **Run tests and verify pass**:
|
|
246
|
+
- Execute: `pytest tests/` OR `npm test`
|
|
247
|
+
- Verify all tests pass
|
|
248
|
+
- Check coverage report
|
|
249
|
+
- IF tests fail → Debug and fix code
|
|
250
|
+
- IF coverage insufficient → Add missing tests
|
|
251
|
+
|
|
252
|
+
#### Phase 3.3: REFACTOR (Improve Code Quality)
|
|
128
253
|
|
|
129
|
-
|
|
130
|
-
- pytest tests/ or npm test
|
|
131
|
-
- Check that all tests pass
|
|
132
|
-
- Check coverage
|
|
254
|
+
**Task**: Improve code without changing functionality
|
|
133
255
|
|
|
134
|
-
|
|
256
|
+
**Actions**:
|
|
135
257
|
|
|
136
|
-
1. **
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
258
|
+
1. **Refactor code**:
|
|
259
|
+
- Eliminate duplication
|
|
260
|
+
- Improve naming
|
|
261
|
+
- Reduce complexity
|
|
262
|
+
- Apply SOLID principles
|
|
263
|
+
- Invoke `Skill("moai-essentials-refactor")` for guidance
|
|
141
264
|
|
|
142
265
|
2. **Rerun tests**:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
266
|
+
- Execute: `pytest tests/` OR `npm test`
|
|
267
|
+
- Verify tests still pass after refactoring
|
|
268
|
+
- Ensure no functional changes
|
|
269
|
+
- IF tests fail → Revert refactoring and retry
|
|
146
270
|
|
|
147
|
-
3. **
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
271
|
+
3. **Verify refactoring quality**:
|
|
272
|
+
- Confirm code readability improved
|
|
273
|
+
- Confirm no performance degradation
|
|
274
|
+
- Confirm no new bugs introduced
|
|
151
275
|
|
|
152
|
-
###
|
|
276
|
+
### STEP 4: Track TAG Completion and Progress
|
|
277
|
+
|
|
278
|
+
**Task**: Record TAG completion
|
|
279
|
+
|
|
280
|
+
**Actions**:
|
|
153
281
|
|
|
154
282
|
1. **Check TAG completion conditions**:
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
283
|
+
- Test coverage goal achieved
|
|
284
|
+
- All tests passed
|
|
285
|
+
- Code review ready
|
|
158
286
|
|
|
159
287
|
2. **Record progress**:
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
288
|
+
- Update TodoWrite with TAG status
|
|
289
|
+
- Mark completed TAG
|
|
290
|
+
- Record next TAG information
|
|
291
|
+
|
|
292
|
+
3. **Move to next TAG**:
|
|
293
|
+
- Check TAG dependency
|
|
294
|
+
- IF next TAG has dependencies → Verify dependencies completed
|
|
295
|
+
- Repeat STEP 3 for next TAG
|
|
296
|
+
|
|
297
|
+
### STEP 5: Complete Implementation
|
|
298
|
+
|
|
299
|
+
**Task**: Final verification and handover
|
|
163
300
|
|
|
164
|
-
|
|
165
|
-
- Check TAG dependency
|
|
166
|
-
- Repeat Step 3 for the next TAG
|
|
301
|
+
**Actions**:
|
|
167
302
|
|
|
168
|
-
|
|
303
|
+
1. **Verify all TAGs complete**:
|
|
304
|
+
- Run full test suite
|
|
305
|
+
- Check coverage report
|
|
306
|
+
- Run integration tests (if any)
|
|
307
|
+
- IF any TAG incomplete → Return to STEP 3 for that TAG
|
|
308
|
+
- IF coverage below target → Add missing tests
|
|
169
309
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
310
|
+
2. **Prepare final verification**:
|
|
311
|
+
- Prepare verification request to quality-gate
|
|
312
|
+
- Write implementation summary
|
|
313
|
+
- Report TAG chain completion
|
|
174
314
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
315
|
+
3. **Report to user**:
|
|
316
|
+
- Print implementation completion summary
|
|
317
|
+
- Print test coverage report
|
|
318
|
+
- Print next steps guidance
|
|
179
319
|
|
|
180
|
-
|
|
181
|
-
- Summary of implementation completion
|
|
182
|
-
- Test coverage report
|
|
183
|
-
- Guidance on next steps
|
|
320
|
+
---
|
|
184
321
|
|
|
185
322
|
## 🚫 Constraints
|
|
186
323
|
|
|
187
|
-
###
|
|
324
|
+
### DO NOT:
|
|
325
|
+
|
|
326
|
+
- Skip tests (must follow RED-GREEN-REFACTOR order)
|
|
327
|
+
- Over-implement (implement only current TAG scope)
|
|
328
|
+
- Change TAG order (follow order set by implementation-planner)
|
|
329
|
+
- Perform quality verification (role of quality-gate)
|
|
330
|
+
- Execute direct Git commits (delegated to git-manager)
|
|
331
|
+
- Call agents directly (command handles agent orchestration)
|
|
188
332
|
|
|
189
|
-
|
|
190
|
-
- **Do not over-implement**: Implement only the current TAG range
|
|
191
|
-
- **Do not change the TAG order**: Follow the order set by implementation-planner
|
|
192
|
-
- **Do not perform quality verification**: Role of quality-gate, no duplication of performance
|
|
193
|
-
- **No direct Git commit**: Delegated to git-manager
|
|
194
|
-
- **No direct agent call**: Command is responsible for agent orchestration
|
|
333
|
+
### Delegation Rules:
|
|
195
334
|
|
|
196
|
-
|
|
335
|
+
- **Quality verification** → Delegate to quality-gate
|
|
336
|
+
- **Git tasks** → Delegate to git-manager
|
|
337
|
+
- **Document synchronization** → Delegate to doc-syncer
|
|
338
|
+
- **Debugging** → Delegate to debug-helper (for complex errors)
|
|
197
339
|
|
|
198
|
-
|
|
199
|
-
- **Git tasks**: Delegated to git-manager
|
|
200
|
-
- **Document synchronization**: Delegated to doc-syncer
|
|
201
|
-
- **Debugging**: Delegated to debug-helper (in case of complex errors)
|
|
340
|
+
### Quality Gate:
|
|
202
341
|
|
|
203
|
-
|
|
342
|
+
- Tests passed: All tests 100% passed
|
|
343
|
+
- Coverage: At least 80% (goal 100%)
|
|
344
|
+
- TAGs completed: All TAG completion conditions met
|
|
345
|
+
- Runnable: No errors when executing code
|
|
204
346
|
|
|
205
|
-
|
|
206
|
-
- **Coverage**: At least 80% (goal 100%)
|
|
207
|
-
- **TAGs completed**: All TAGs completed conditions met
|
|
208
|
-
- **Feasibility**: No errors when running code.
|
|
347
|
+
---
|
|
209
348
|
|
|
210
349
|
## 📤 Output Format
|
|
211
350
|
|
|
212
|
-
### Implementation
|
|
351
|
+
### Implementation Progress Report
|
|
352
|
+
|
|
353
|
+
**Print to user in this format**:
|
|
213
354
|
|
|
214
355
|
```markdown
|
|
215
|
-
## Implementation
|
|
356
|
+
## Implementation Progress: [SPEC-ID]
|
|
216
357
|
|
|
217
|
-
### Completed
|
|
358
|
+
### Completed TAGs
|
|
218
359
|
- ✅ [TAG-001]: [TAG name]
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
360
|
+
- Files: [list of files]
|
|
361
|
+
- Tests: [list of test files]
|
|
362
|
+
- Coverage: [%]
|
|
222
363
|
|
|
223
|
-
### TAG in
|
|
364
|
+
### TAG in Progress
|
|
224
365
|
- 🔄 [TAG-002]: [TAG name]
|
|
225
|
-
|
|
226
|
-
|
|
366
|
+
- Current Phase: RED/GREEN/REFACTOR
|
|
367
|
+
- Progress: [%]
|
|
227
368
|
|
|
228
|
-
### Waiting
|
|
369
|
+
### Waiting TAGs
|
|
229
370
|
- [ ] [TAG-003]: [TAG name]
|
|
230
371
|
```
|
|
231
372
|
|
|
232
|
-
### Final
|
|
373
|
+
### Final Completion Report
|
|
374
|
+
|
|
375
|
+
**Print to user when all TAGs complete**:
|
|
233
376
|
|
|
234
377
|
```markdown
|
|
235
|
-
## ✅ Implementation
|
|
378
|
+
## ✅ Implementation Complete: [SPEC-ID]
|
|
236
379
|
|
|
237
380
|
### Summary
|
|
238
|
-
- **TAGs implemented
|
|
381
|
+
- **TAGs implemented**: [count]
|
|
239
382
|
- **Files created**: [count] (source [count], tests [count])
|
|
240
383
|
- **Test coverage**: [%]
|
|
241
384
|
- **All tests passed**: ✅
|
|
242
385
|
|
|
243
|
-
### Main
|
|
244
|
-
1. **[TAG-001]**: [
|
|
245
|
-
2. **[TAG-002]**: [
|
|
246
|
-
3. **[TAG-003]**: [
|
|
386
|
+
### Main Implementation Details
|
|
387
|
+
1. **[TAG-001]**: [main function description]
|
|
388
|
+
2. **[TAG-002]**: [main function description]
|
|
389
|
+
3. **[TAG-003]**: [main function description]
|
|
247
390
|
|
|
248
|
-
### Test
|
|
249
|
-
[
|
|
391
|
+
### Test Results
|
|
392
|
+
[test execution result output]
|
|
250
393
|
|
|
251
|
-
### Coverage
|
|
252
|
-
[
|
|
394
|
+
### Coverage Report
|
|
395
|
+
[coverage report output]
|
|
253
396
|
|
|
254
|
-
### Next
|
|
397
|
+
### Next Steps
|
|
255
398
|
1. **quality-gate verification**: Perform TRUST principles and quality verification
|
|
256
399
|
2. **When verification passes**: git-manager creates commit
|
|
257
|
-
3. **Document synchronization**: doc-syncer updates
|
|
400
|
+
3. **Document synchronization**: doc-syncer updates documents
|
|
258
401
|
```
|
|
259
402
|
|
|
260
|
-
|
|
403
|
+
---
|
|
261
404
|
|
|
262
|
-
|
|
405
|
+
## 🔗 Agent Collaboration
|
|
406
|
+
|
|
407
|
+
### Preceding Agent:
|
|
263
408
|
- **implementation-planner**: Provides implementation plan
|
|
264
409
|
|
|
265
|
-
###
|
|
266
|
-
- **quality-gate**: Quality verification after
|
|
410
|
+
### Following Agents:
|
|
411
|
+
- **quality-gate**: Quality verification after implementation complete
|
|
267
412
|
- **git-manager**: Create commit after verification passes
|
|
268
413
|
- **doc-syncer**: Synchronize documents after commit
|
|
269
414
|
|
|
270
|
-
### Collaboration Protocol
|
|
415
|
+
### Collaboration Protocol:
|
|
271
416
|
1. **Input**: Implementation plan (TAG chain, library version)
|
|
272
417
|
2. **Output**: Implementation completion report (test results, coverage)
|
|
273
418
|
3. **Verification**: Request verification from quality-gate
|
|
274
419
|
4. **Handover**: Request commit from git-manager when verification passes
|
|
275
420
|
|
|
276
|
-
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## 💡 Usage Example
|
|
277
424
|
|
|
278
|
-
### Automatic
|
|
425
|
+
### Automatic Call Within Command
|
|
279
426
|
```
|
|
280
427
|
/alfred:2-run [SPEC-ID]
|
|
281
428
|
→ Run implementation-planner
|
|
@@ -284,10 +431,12 @@ You are a TDD expert who strictly adheres to the RED-GREEN-REFACTOR cycle and ke
|
|
|
284
431
|
→ Automatically run quality-gate
|
|
285
432
|
```
|
|
286
433
|
|
|
434
|
+
---
|
|
435
|
+
|
|
287
436
|
## 📚 References
|
|
288
437
|
|
|
289
438
|
- **Implementation plan**: implementation-planner output
|
|
290
|
-
- **Development guide**:
|
|
291
|
-
- **TRUST principles**: TRUST section
|
|
292
|
-
- **TAG guide
|
|
293
|
-
- **TDD guide
|
|
439
|
+
- **Development guide**: Skill("moai-alfred-dev-guide")
|
|
440
|
+
- **TRUST principles**: TRUST section in Skill("moai-alfred-dev-guide")
|
|
441
|
+
- **TAG guide**: TAG chain section in Skill("moai-alfred-dev-guide")
|
|
442
|
+
- **TDD guide**: TDD section in Skill("moai-alfred-dev-guide")
|