moai-adk 0.9.0__py3-none-any.whl → 0.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/cli/commands/init.py +14 -2
- moai_adk/cli/commands/update.py +214 -56
- moai_adk/core/issue_creator.py +2 -2
- moai_adk/core/project/detector.py +201 -12
- moai_adk/core/project/initializer.py +62 -1
- moai_adk/core/project/phase_executor.py +48 -6
- moai_adk/core/tags/ci_validator.py +34 -4
- moai_adk/core/tags/pre_commit_validator.py +40 -2
- moai_adk/core/tags/reporter.py +2 -3
- moai_adk/core/tags/validator.py +1 -1
- moai_adk/core/template_engine.py +20 -5
- moai_adk/templates/.claude/agents/alfred/backend-expert.md +319 -0
- moai_adk/templates/.claude/agents/alfred/devops-expert.md +464 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +1 -1
- moai_adk/templates/.claude/agents/alfred/frontend-expert.md +357 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +2 -2
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +76 -3
- moai_adk/templates/.claude/agents/alfred/project-manager.md +49 -10
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +3 -3
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +108 -3
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +74 -0
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +107 -5
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +2 -2
- moai_adk/templates/.claude/agents/alfred/ui-ux-expert.md +571 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +465 -129
- moai_adk/templates/.claude/commands/alfred/1-plan.md +139 -65
- moai_adk/templates/.claude/commands/alfred/2-run.md +214 -50
- moai_adk/templates/.claude/commands/alfred/3-sync.md +372 -46
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +1 -1
- moai_adk/templates/.claude/hooks/alfred/core/project.py +25 -27
- 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 +4 -4
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +29 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +11 -19
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +11 -19
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +11 -19
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +10 -18
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +2 -2
- moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +3 -3
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +5 -5
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +40 -41
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +55 -23
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +4 -4
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +132 -3
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +9 -10
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +3 -6
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +19 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +14 -22
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +161 -0
- moai_adk/templates/.claude/settings.json +5 -5
- 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/{.moai/memory/CLAUDE-AGENTS-GUIDE.md → .claude/skills/moai-alfred-agent-guide/reference.md} +34 -0
- moai_adk/templates/.claude/skills/moai-alfred-config-schema/SKILL.md +56 -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-gitflow-policy/SKILL.md +74 -0
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-gitflow-policy/reference.md +269 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-alfred-issue-labels/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/SKILL.md +198 -0
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/examples.md +431 -0
- moai_adk/templates/.claude/skills/moai-alfred-persona-roles/reference.md +141 -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-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-reporting/SKILL.md +273 -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-session-state/SKILL.md +19 -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-spec-authoring → moai-alfred-spec-authoring}/SKILL.md +5 -5
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/SKILL.md +115 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/examples.md +4 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-extended/reference.md +348 -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-skill-descriptions/SKILL.md +19 -0
- moai_adk/templates/.claude/skills/moai-cc-skill-descriptions/examples.md +4 -0
- moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL.md +3 -3
- 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-frontend/SKILL.md +17 -13
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +15 -12
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +14 -12
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +14 -11
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +10 -8
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +15 -12
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +13 -11
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +16 -10
- moai_adk/templates/.claude/skills/moai-project-documentation.md +622 -0
- moai_adk/templates/.git-hooks/pre-push +143 -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 +182 -25
- moai_adk/templates/.github/workflows/moai-release-pipeline.yml +35 -29
- 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 +76 -7
- 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 +208 -41
- 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/.moai/config.json +3 -1
- moai_adk/templates/CLAUDE.md +940 -45
- moai_adk/templates/workflows/go-tag-validation.yml +30 -0
- moai_adk/templates/workflows/javascript-tag-validation.yml +41 -0
- moai_adk/templates/workflows/python-tag-validation.yml +42 -0
- moai_adk/templates/workflows/typescript-tag-validation.yml +31 -0
- moai_adk/utils/banner.py +5 -5
- {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/METADATA +1166 -455
- {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/RECORD +169 -109
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +0 -209
- moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +0 -102
- moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +0 -102
- moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +0 -102
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +0 -640
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +0 -696
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +0 -474
- moai_adk/templates/.github/ISSUE_TEMPLATE/spec.yml +0 -176
- 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/SPEC-METADATA.md +0 -356
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +0 -330
- 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/README.md +0 -256
- moai_adk/templates/__init__.py +0 -2
- /moai_adk/templates/{.moai/memory/ISSUE-LABEL-MAPPING.md → .claude/skills/moai-alfred-issue-labels/reference.md} +0 -0
- /moai_adk/templates/{.moai/memory/CLAUDE-PRACTICES.md → .claude/skills/moai-alfred-practices/reference.md} +0 -0
- /moai_adk/templates/{.moai/memory/CLAUDE-RULES.md → .claude/skills/moai-alfred-rules/reference.md} +0 -0
- /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/README.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/examples/validate-spec.sh +0 -0
- /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/examples.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-spec-authoring → moai-alfred-spec-authoring}/reference.md +0 -0
- /moai_adk/templates/{.moai/memory/SKILLS-DESCRIPTION-POLICY.md → .claude/skills/moai-cc-skill-descriptions/reference.md} +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/CHECKLIST.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/EXAMPLES.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/INTERACTIVE-DISCOVERY.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/METADATA.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PARALLEL-ANALYSIS-REPORT.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/PYTHON-VERSION-MATRIX.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-FACTORY-WORKFLOW.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/SKILL-UPDATE-ADVISOR.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STEP-BY-STEP-GUIDE.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/STRUCTURE.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/WEB-RESEARCH.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/reference.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/generate-structure.sh +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/scripts/validate-skill.sh +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/SKILL_TEMPLATE.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/examples-template.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/reference-template.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-skill-factory → moai-cc-skill-factory}/templates/scripts-template.sh +0 -0
- {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.9.0.dist-info → moai_adk-0.15.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alfred:1-plan
|
|
3
|
-
description: "
|
|
4
|
-
# Translations:
|
|
5
|
-
# - ko: "계획 수립 (브레인스토밍, 설계 논의) + 브랜치/PR 생성"
|
|
6
|
-
# - ja: "計画策定(ブレインストーミング、設計議論)+ ブランチ/PR作成"
|
|
7
|
-
# - zh: "规划(头脑风暴、设计讨论)+ 分支/PR创建"
|
|
3
|
+
description: "Define specifications and create development branch"
|
|
8
4
|
argument-hint: Title 1 Title 2 ... | SPEC-ID modifications
|
|
9
5
|
allowed-tools:
|
|
10
6
|
- Read
|
|
@@ -22,6 +18,12 @@ allowed-tools:
|
|
|
22
18
|
|
|
23
19
|
# 🏗️ MoAI-ADK Step 1: Establish a plan (Plan) - Always make a plan first and then proceed.
|
|
24
20
|
> **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
|
|
21
|
+
>
|
|
22
|
+
> **Batched Design**: All AskUserQuestion calls follow batched design principles (1-4 questions per call) to minimize user interaction turns. See CLAUDE.md section "Alfred Command Completion Pattern" for details.
|
|
23
|
+
|
|
24
|
+
<!-- @CODE:ALF-WORKFLOW-001:CMD-PLAN -->
|
|
25
|
+
|
|
26
|
+
**4-Step Workflow Integration**: This command implements Steps 1-2 of Alfred's workflow (Intent Understanding → Plan Creation). See CLAUDE.md for full workflow details.
|
|
25
27
|
|
|
26
28
|
## 🎯 Command Purpose
|
|
27
29
|
|
|
@@ -167,11 +169,11 @@ STEP 1 consists of **two independent phases** to provide flexible workflow based
|
|
|
167
169
|
Invoking the Task tool (Explore agent):
|
|
168
170
|
- subagent_type: "Explore"
|
|
169
171
|
- description: "Explore related files in the codebase"
|
|
170
|
-
- prompt: "
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
|
|
172
|
+
- prompt: "다음 키워드와 관련된 모든 파일을 찾아주세요: $ARGUMENTS
|
|
173
|
+
- 파일 위치 (src/, tests/, docs/)
|
|
174
|
+
- 관련 SPEC 문서 (.moai/specs/)
|
|
175
|
+
- 기존 구현 코드
|
|
176
|
+
상세도 수준: medium"
|
|
175
177
|
```
|
|
176
178
|
|
|
177
179
|
**Note**: If user provides clear SPEC title, skip Phase A and proceed directly to Phase B.
|
|
@@ -190,34 +192,47 @@ This phase is **always required** regardless of whether Phase A was executed.
|
|
|
190
192
|
Call the Task tool:
|
|
191
193
|
- subagent_type: "spec-builder"
|
|
192
194
|
- description: "Analyze the plan and establish a plan"
|
|
193
|
-
- prompt: """
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
(
|
|
195
|
+
- prompt: """당신은 spec-builder 에이전트입니다.
|
|
196
|
+
|
|
197
|
+
언어 설정:
|
|
198
|
+
- 대화_언어: {{CONVERSATION_LANGUAGE}}
|
|
199
|
+
- 언어명: {{CONVERSATION_LANGUAGE_NAME}}
|
|
200
|
+
|
|
201
|
+
중요 지시사항:
|
|
202
|
+
SPEC 문서는 이중 언어 구조를 따라야 합니다 (사용자 언어 + 영어 요약):
|
|
203
|
+
|
|
204
|
+
conversation_language == 'ko' (한국어)인 경우:
|
|
205
|
+
- YAML 메타데이터: 영어만 사용
|
|
206
|
+
- 제목 (@SPEC 태그): 한국어 주요, 영어 버전은 하단에 기재
|
|
207
|
+
- 주요 내용 (분석, 요구사항, EARS): 한국어
|
|
208
|
+
- SUMMARY 섹션: 영어 (국제 기여자를 위해 100-200단어)
|
|
209
|
+
- HISTORY: 한국어 (새로운 항목), 주요 버전에는 영어 요약
|
|
210
|
+
|
|
211
|
+
conversation_language == 'ja' (일본어)인 경우:
|
|
212
|
+
- 한국어와 동일한 이중 언어 패턴 사용
|
|
213
|
+
- 주요 내용: 일본어
|
|
214
|
+
- SUMMARY: 영어
|
|
215
|
+
|
|
216
|
+
다른 언어인 경우:
|
|
217
|
+
- 주요 내용: 사용자 지정 언어
|
|
218
|
+
- SUMMARY: 영어 (항상)
|
|
219
|
+
|
|
220
|
+
스킬 호출:
|
|
221
|
+
필요 시 명시적 Skill() 호출 사용:
|
|
222
|
+
- Skill("moai-foundation-specs") - SPEC 구조 가이드
|
|
223
|
+
- Skill("moai-foundation-ears") - EARS 문법 요구사항
|
|
224
|
+
- Skill("moai-alfred-spec-metadata-validation") - 메타데이터 검증
|
|
225
|
+
|
|
226
|
+
작업:
|
|
227
|
+
프로젝트 문서를 분석하여 SPEC 후보자를 제시해주세요.
|
|
228
|
+
분석 모드로 실행하며, 다음을 포함해야 합니다:
|
|
229
|
+
1. product/structure/tech.md의 심층 분석
|
|
230
|
+
2. SPEC 후보자 식별 및 우선순위 결정
|
|
231
|
+
3. EARS 구조 설계
|
|
232
|
+
4. 사용자 승인 대기
|
|
233
|
+
|
|
234
|
+
사용자 입력: $ARGUMENTS
|
|
235
|
+
(선택사항) 탐색 결과: $EXPLORE_RESULTS"""
|
|
221
236
|
```
|
|
222
237
|
|
|
223
238
|
**Note**: If Phase A was executed, pass the exploration results via `$EXPLORE_RESULTS` variable.
|
|
@@ -259,36 +274,58 @@ After user approval (collected via `AskUserQuestion tool (documented in moai-alf
|
|
|
259
274
|
1. Call spec-builder (create plan):
|
|
260
275
|
- subagent_type: "spec-builder"
|
|
261
276
|
- description: "Create SPEC document"
|
|
262
|
-
- prompt: """
|
|
277
|
+
- prompt: """당신은 spec-builder 에이전트입니다.
|
|
263
278
|
|
|
264
|
-
|
|
265
|
-
-
|
|
266
|
-
-
|
|
279
|
+
언어 설정:
|
|
280
|
+
- 대화_언어: {{CONVERSATION_LANGUAGE}}
|
|
281
|
+
- 언어명: {{CONVERSATION_LANGUAGE_NAME}}
|
|
267
282
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
- spec.md:
|
|
271
|
-
- plan.md:
|
|
272
|
-
- acceptance.md:
|
|
283
|
+
중요 지시사항:
|
|
284
|
+
모든 SPEC 문서는 대화_언어로 작성되어야 합니다:
|
|
285
|
+
- spec.md: 전체 문서를 대화_언어로 작성
|
|
286
|
+
- plan.md: 전체 문서를 대화_언어로 작성
|
|
287
|
+
- acceptance.md: 전체 문서를 대화_언어로 작성
|
|
273
288
|
|
|
274
|
-
YAML
|
|
275
|
-
|
|
289
|
+
YAML 프론트매터와 @TAG 식별자는 반드시 영어로 유지합니다.
|
|
290
|
+
코드 예제와 기술 키워드는 혼합 가능 (코드는 영어, 설명은 사용자 언어).
|
|
276
291
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
- Skill("moai-foundation-specs")
|
|
280
|
-
- Skill("moai-foundation-ears")
|
|
281
|
-
- Skill("moai-alfred-spec-metadata-validation")
|
|
282
|
-
- Skill("moai-alfred-tag-scanning")
|
|
292
|
+
스킬 호출:
|
|
293
|
+
필요 시 명시적 Skill() 호출 사용:
|
|
294
|
+
- Skill("moai-foundation-specs") - SPEC 구조 가이드
|
|
295
|
+
- Skill("moai-foundation-ears") - EARS 문법 요구사항
|
|
296
|
+
- Skill("moai-alfred-spec-metadata-validation") - 메타데이터 검증
|
|
297
|
+
- Skill("moai-alfred-tag-scanning") - TAG 체인 참조
|
|
283
298
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
299
|
+
작업:
|
|
300
|
+
STEP 1에서 승인된 계획에 따라 SPEC 문서를 작성해주세요.
|
|
301
|
+
EARS 구조에 대한 명세를 작성합니다."""
|
|
287
302
|
|
|
288
303
|
2. Invoke git-manager (Git task):
|
|
289
304
|
- subagent_type: "git-manager"
|
|
290
|
-
- description: "Create Git branch/PR"
|
|
291
|
-
- prompt: "
|
|
305
|
+
- description: "Create Git branch/PR with duplicate prevention"
|
|
306
|
+
- prompt: """당신은 git-manager 에이전트입니다.
|
|
307
|
+
|
|
308
|
+
언어 설정:
|
|
309
|
+
- 대화_언어: {{CONVERSATION_LANGUAGE}}
|
|
310
|
+
- 언어명: {{CONVERSATION_LANGUAGE_NAME}}
|
|
311
|
+
|
|
312
|
+
중요 지시사항 (팀 모드 중복 방지):
|
|
313
|
+
GitHub Issue 또는 PR을 만들기 전에:
|
|
314
|
+
1. 항상 제목에 SPEC-ID가 있는 기존 Issue를 확인하세요
|
|
315
|
+
2. 항상 feature/SPEC-{ID} 브랜치명의 기존 PR을 확인하세요
|
|
316
|
+
3. Issue가 존재하면 → 업데이트, 중복 생성 금지
|
|
317
|
+
4. PR이 존재하면 → 업데이트, 중복 생성 금지
|
|
318
|
+
5. 둘 다 존재하면 → 최신 SPEC 버전으로 모두 업데이트
|
|
319
|
+
6. 레이블 필터 실패 시 대체 검색 사용 (일부 Issue는 레이블 없을 수 있음)
|
|
320
|
+
7. 항상 레이블 추가: "spec", "planning", + 우선순위 레이블
|
|
321
|
+
|
|
322
|
+
git-manager.md의 "SPEC 작성 시" 섹션에서 자세한 중복 방지 프로토콜과 코드 예제를 참고하세요.
|
|
323
|
+
|
|
324
|
+
작업:
|
|
325
|
+
완성된 SPEC 문서에 대해 기능 브랜치(feature/SPEC-{SPEC_ID})와 Draft PR(→ develop)을 생성합니다.
|
|
326
|
+
GitHub 엔티티를 생성하기 전에 중복 방지 프로토콜을 구현합니다.
|
|
327
|
+
|
|
328
|
+
출력 언어: {{CONVERSATION_LANGUAGE}}"""
|
|
292
329
|
```
|
|
293
330
|
|
|
294
331
|
## function
|
|
@@ -443,7 +480,7 @@ Only if the user selects **"Proceed"** or **"Start"** will Alfred call the spec-
|
|
|
443
480
|
|
|
444
481
|
#### YAML Front Matter Schema
|
|
445
482
|
|
|
446
|
-
> **📋 SPEC Metadata Standard (SSOT)**:
|
|
483
|
+
> **📋 SPEC Metadata Standard (SSOT)**: Skill("moai-alfred-spec-metadata-extended")
|
|
447
484
|
|
|
448
485
|
**Metadata that must be included** at the top of the spec.md file:
|
|
449
486
|
- **7 required fields**: id, version, status, created, updated, author, priority
|
|
@@ -470,7 +507,7 @@ priority: high
|
|
|
470
507
|
- **author**: GitHub @ prefix is required before ID (e.g. `@Goos`)
|
|
471
508
|
- **priority**: critical | high | medium | low
|
|
472
509
|
|
|
473
|
-
**Full field description and validation methods**: see
|
|
510
|
+
**Full field description and validation methods**: see Skill("moai-alfred-spec-metadata-extended")
|
|
474
511
|
|
|
475
512
|
#### HISTORY section (required)
|
|
476
513
|
|
|
@@ -504,10 +541,10 @@ You must include a HISTORY section **right after the YAML Front Matter**:
|
|
|
504
541
|
|
|
505
542
|
**HISTORY writing rules**:
|
|
506
543
|
- **Version system**: v0.0.1 (INITIAL) → v0.1.0 (implementation complete) → v1.0.0 (stabilization)
|
|
507
|
-
- Detailed version system: See
|
|
544
|
+
- Detailed version system: See Skill("moai-alfred-spec-metadata-extended") for version-system guide
|
|
508
545
|
- **Version order**: Latest version on top (reverse order)
|
|
509
546
|
- **Change type tag**: INITIAL, ADDED, CHANGED, IMPLEMENTATION COMPLETED, BREAKING, DEPRECATED, REMOVED, FIXED
|
|
510
|
-
- Detailed description: See
|
|
547
|
+
- Detailed description: See Skill("moai-alfred-spec-metadata-extended") for history-writing-guide
|
|
511
548
|
- **Required items**: Version, date, AUTHOR, changes
|
|
512
549
|
- **Optional items**: REVIEW, SCOPE, CONTEXT, MIGRATION
|
|
513
550
|
|
|
@@ -710,7 +747,7 @@ See `.coderabbit.yaml` for detailed SPEC review checklist.
|
|
|
710
747
|
|
|
711
748
|
## 🧠 Context Management
|
|
712
749
|
|
|
713
|
-
> For more information:
|
|
750
|
+
> For more information: Skill("moai-alfred-dev-guide") - see section "Context Engineering"
|
|
714
751
|
|
|
715
752
|
### Core strategy of this command
|
|
716
753
|
|
|
@@ -720,6 +757,43 @@ See `.coderabbit.yaml` for detailed SPEC review checklist.
|
|
|
720
757
|
|
|
721
758
|
---
|
|
722
759
|
|
|
760
|
+
## Final Step
|
|
761
|
+
|
|
762
|
+
After plan creation completes, Alfred automatically invokes AskUserQuestion to ask the user what to do next:
|
|
763
|
+
|
|
764
|
+
```python
|
|
765
|
+
AskUserQuestion(
|
|
766
|
+
questions=[
|
|
767
|
+
{
|
|
768
|
+
"question": "스펙 작성이 완료되었습니다. 다음으로 뭘 하시겠습니까?",
|
|
769
|
+
"header": "다음 단계",
|
|
770
|
+
"multiSelect": false,
|
|
771
|
+
"options": [
|
|
772
|
+
{
|
|
773
|
+
"label": "🔨 구현 시작",
|
|
774
|
+
"description": "/alfred:2-run SPEC-XXX로 TDD 구현 진행"
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"label": "📝 스펙 수정",
|
|
778
|
+
"description": "SPEC 문서 검토 후 수정"
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"label": "🔄 새 세션 시작",
|
|
782
|
+
"description": "성능 최적화를 위해 /clear 실행"
|
|
783
|
+
}
|
|
784
|
+
]
|
|
785
|
+
}
|
|
786
|
+
]
|
|
787
|
+
)
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
**User Responses**:
|
|
791
|
+
- **🔨 구현 시작**: Proceed to `/alfred:2-run SPEC-XXX` for TDD implementation
|
|
792
|
+
- **📝 스펙 수정**: Review and modify SPEC documents before implementation
|
|
793
|
+
- **🔄 새 세션 시작**: Execute `/clear` to start fresh session (recommended for performance)
|
|
794
|
+
|
|
795
|
+
---
|
|
796
|
+
|
|
723
797
|
## Next steps
|
|
724
798
|
|
|
725
799
|
**Recommendation**: For better performance and context management, start a new chat session with the `/clear` or `/new` command before proceeding to the next step.
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: alfred:2-run
|
|
3
|
-
description: "Execute
|
|
4
|
-
# Translations:
|
|
5
|
-
# - ko: "계획된 작업 실행 (TDD 구현, 프로토타이핑, 문서화 등)"
|
|
6
|
-
# - ja: "計画されたタスクの実行(TDD実装、プロトタイピング、ドキュメント作成など)"
|
|
7
|
-
# - zh: "执行计划任务(TDD实现、原型开发、文档编写等)"
|
|
3
|
+
description: "Execute TDD implementation cycle"
|
|
8
4
|
argument-hint: "SPEC-ID - All with SPEC ID to implement (e.g. SPEC-001) or all \"SPEC Implementation\""
|
|
9
5
|
allowed-tools:
|
|
10
6
|
- Read
|
|
@@ -25,6 +21,12 @@ allowed-tools:
|
|
|
25
21
|
|
|
26
22
|
# ⚒️ MoAI-ADK Phase 2: Run the plan - Flexible implementation strategy
|
|
27
23
|
> **Note**: Interactive prompts use `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)` for TUI selection menus. The skill is loaded on-demand when user interaction is required.
|
|
24
|
+
>
|
|
25
|
+
> **Batched Design**: All AskUserQuestion calls follow batched design principles (1-4 questions per call) to minimize user interaction turns. See CLAUDE.md section "Alfred Command Completion Pattern" for details.
|
|
26
|
+
|
|
27
|
+
<!-- @CODE:ALF-WORKFLOW-002:CMD-RUN -->
|
|
28
|
+
|
|
29
|
+
**4-Step Workflow Integration**: This command implements Step 3 of Alfred's workflow (Task Execution with TodoWrite tracking). See CLAUDE.md for full workflow details.
|
|
28
30
|
|
|
29
31
|
## 🎯 Command Purpose
|
|
30
32
|
|
|
@@ -154,12 +156,12 @@ STEP 1 consists of **two independent phases** to provide flexible workflow based
|
|
|
154
156
|
Invoking the Task tool (Explore agent):
|
|
155
157
|
- subagent_type: "Explore"
|
|
156
158
|
- description: "Explore existing code structures and patterns"
|
|
157
|
-
- prompt: "
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
|
|
159
|
+
- prompt: "SPEC-$ARGUMENTS와 관련된 기존 코드를 탐색해주세요:
|
|
160
|
+
- 유사한 기능 구현 코드 (src/)
|
|
161
|
+
- 참고할 테스트 패턴 (tests/)
|
|
162
|
+
- 아키텍처 패턴 및 디자인 패턴
|
|
163
|
+
- 현재 라이브러리 및 버전 (package.json, requirements.txt)
|
|
164
|
+
상세도 수준: medium"
|
|
163
165
|
```
|
|
164
166
|
|
|
165
167
|
**Note**: If you skip Phase A, proceed directly to Phase B.
|
|
@@ -178,15 +180,15 @@ This phase is **always required** regardless of whether Phase A was executed.
|
|
|
178
180
|
Task tool call:
|
|
179
181
|
- subagent_type: "implementation-planner"
|
|
180
182
|
- description: "SPEC analysis and establishment of execution strategy"
|
|
181
|
-
- prompt: "
|
|
182
|
-
|
|
183
|
-
1. SPEC
|
|
184
|
-
2.
|
|
185
|
-
3. TAG
|
|
186
|
-
4.
|
|
187
|
-
5.
|
|
188
|
-
6.
|
|
189
|
-
(
|
|
183
|
+
- prompt: "$ARGUMENTS의 SPEC을 분석하고 실행 계획을 수립해주세요.
|
|
184
|
+
다음을 포함해야 합니다:
|
|
185
|
+
1. SPEC 요구사항 추출 및 복잡도 평가
|
|
186
|
+
2. 라이브러리 및 도구 선택 (WebFetch 사용)
|
|
187
|
+
3. TAG 체인 설계
|
|
188
|
+
4. 단계별 실행 계획
|
|
189
|
+
5. 위험 요소 및 대응 계획
|
|
190
|
+
6. 행동 계획을 작성하고 `AskUserQuestion 도구 (moai-alfred-interactive-questions 스킬 참고)`로 사용자와 다음 단계를 확인합니다
|
|
191
|
+
(선택사항) 탐색 결과: $EXPLORE_RESULTS"
|
|
190
192
|
```
|
|
191
193
|
|
|
192
194
|
**Note**: If Phase A was executed, pass the exploration results via `$EXPLORE_RESULTS` variable.
|
|
@@ -233,6 +235,125 @@ After reviewing the action plan, select one of the following:
|
|
|
233
235
|
|
|
234
236
|
After user approval (gathered through `AskUserQuestion tool (documented in moai-alfred-interactive-questions skill)`), **call the tdd-implementer agent using the Task tool**.
|
|
235
237
|
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### 2.0.5 Domain Readiness Check (Automatic - Before Implementation)
|
|
241
|
+
|
|
242
|
+
**Purpose**: Load domain-expert agents as "implementation advisors" based on SPEC.stack metadata
|
|
243
|
+
|
|
244
|
+
**When to run**: After user approval, BEFORE invoking tdd-implementer
|
|
245
|
+
|
|
246
|
+
**Detection Logic**:
|
|
247
|
+
|
|
248
|
+
Alfred reads the SPEC metadata to identify required domains:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
# Read SPEC metadata
|
|
252
|
+
spec_metadata=$(grep "^domains:" .moai/specs/SPEC-{ID}/spec.md)
|
|
253
|
+
|
|
254
|
+
# Or read from config.json
|
|
255
|
+
selected_domains=$(jq -r '.stack.selected_domains[]' .moai/config.json)
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Domain Expert Advisory Pattern**:
|
|
259
|
+
|
|
260
|
+
| Domain | Readiness Check | Advisory Focus |
|
|
261
|
+
|--------|----------------|----------------|
|
|
262
|
+
| **Frontend** | Component structure, testing strategy, state management | Component hierarchy, React/Vue best practices, UI testing patterns |
|
|
263
|
+
| **Backend** | API contract, database schema, async patterns | RESTful design, database indexing, error handling, authentication |
|
|
264
|
+
| **DevOps** | Docker readiness, environment variables, health checks | Containerization, CI/CD integration, deployment strategies |
|
|
265
|
+
| **Database** | Schema design, migration strategy, indexing | Data modeling, query optimization, migration safety |
|
|
266
|
+
| **Data Science** | Data pipeline design, notebook structure | ETL patterns, data validation, model versioning |
|
|
267
|
+
| **Mobile** | Platform-specific requirements, app lifecycle | Native integration, state management, offline support |
|
|
268
|
+
|
|
269
|
+
**Example Invocation** (Frontend + Backend detected):
|
|
270
|
+
|
|
271
|
+
```python
|
|
272
|
+
# Read SPEC metadata
|
|
273
|
+
spec_domains = ["frontend", "backend"] # from SPEC frontmatter
|
|
274
|
+
|
|
275
|
+
# Invoke domain experts BEFORE tdd-implementer
|
|
276
|
+
for domain in spec_domains:
|
|
277
|
+
if domain == "frontend":
|
|
278
|
+
Task(
|
|
279
|
+
subagent_type="Explore",
|
|
280
|
+
prompt="""You are consulting as frontend-expert for TDD implementation.
|
|
281
|
+
|
|
282
|
+
SPEC: [SPEC-UI-001 - User Dashboard Component]
|
|
283
|
+
|
|
284
|
+
Provide implementation readiness check:
|
|
285
|
+
1. Component structure recommendations
|
|
286
|
+
2. State management approach (Redux/Zustand/Context)
|
|
287
|
+
3. Testing strategy (Jest + Testing Library)
|
|
288
|
+
4. Accessibility requirements
|
|
289
|
+
5. Performance optimization tips
|
|
290
|
+
|
|
291
|
+
Output: Brief advisory for tdd-implementer (3-4 key points)"""
|
|
292
|
+
)
|
|
293
|
+
|
|
294
|
+
if domain == "backend":
|
|
295
|
+
Task(
|
|
296
|
+
subagent_type="Explore",
|
|
297
|
+
prompt="""You are consulting as backend-expert for TDD implementation.
|
|
298
|
+
|
|
299
|
+
SPEC: [SPEC-API-001 - Authentication Endpoints]
|
|
300
|
+
|
|
301
|
+
Provide implementation readiness check:
|
|
302
|
+
1. API contract validation
|
|
303
|
+
2. Database schema requirements
|
|
304
|
+
3. Authentication/authorization patterns
|
|
305
|
+
4. Error handling strategy
|
|
306
|
+
5. Async processing considerations
|
|
307
|
+
|
|
308
|
+
Output: Brief advisory for tdd-implementer (3-4 key points)"""
|
|
309
|
+
)
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Output Format** (Stored in SPEC plan.md):
|
|
313
|
+
|
|
314
|
+
```markdown
|
|
315
|
+
## Domain Expert Advisory (Implementation Phase)
|
|
316
|
+
|
|
317
|
+
### Frontend Readiness
|
|
318
|
+
- Component structure: Use compound component pattern for Dashboard
|
|
319
|
+
- State management: Recommend Zustand for lightweight state
|
|
320
|
+
- Testing: Prioritize user interaction tests over implementation details
|
|
321
|
+
- Performance: Implement React.memo for expensive components
|
|
322
|
+
|
|
323
|
+
### Backend Readiness
|
|
324
|
+
- API contract: OpenAPI 3.0 spec generated from FastAPI
|
|
325
|
+
- Database schema: Add index on user_id and created_at columns
|
|
326
|
+
- Authentication: Use JWT with refresh token rotation
|
|
327
|
+
- Async: Use background tasks for email notifications
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**Integration with tdd-implementer**:
|
|
331
|
+
|
|
332
|
+
```python
|
|
333
|
+
# Pass domain expert feedback to tdd-implementer
|
|
334
|
+
Task(
|
|
335
|
+
subagent_type="tdd-implementer",
|
|
336
|
+
prompt="""You are tdd-implementer agent.
|
|
337
|
+
|
|
338
|
+
SPEC: SPEC-{ID}
|
|
339
|
+
|
|
340
|
+
DOMAIN EXPERT ADVISORY:
|
|
341
|
+
{domain_expert_feedback}
|
|
342
|
+
|
|
343
|
+
Execute TDD implementation considering domain expert guidance.
|
|
344
|
+
Follow RED → GREEN → REFACTOR cycle with domain best practices.
|
|
345
|
+
|
|
346
|
+
$ARGUMENTS"""
|
|
347
|
+
)
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
**Graceful Degradation**:
|
|
351
|
+
- If SPEC.stack.domains missing → Skip advisory (greenfield implementation)
|
|
352
|
+
- If domain expert unavailable → Continue with tdd-implementer only
|
|
353
|
+
- Advisory is non-blocking (implementation proceeds regardless)
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
236
357
|
### ⚙️ How to call an agent
|
|
237
358
|
|
|
238
359
|
**STEP 2 calls tdd-implementer using the Task tool**:
|
|
@@ -241,35 +362,39 @@ After user approval (gathered through `AskUserQuestion tool (documented in moai-
|
|
|
241
362
|
Call the Task tool:
|
|
242
363
|
- subagent_type: "tdd-implementer"
|
|
243
364
|
- description: "Execute task with TDD implementation"
|
|
244
|
-
- prompt: """
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
Code and technical output MUST be in English.
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
365
|
+
- prompt: """당신은 tdd-implementer 에이전트입니다.
|
|
366
|
+
|
|
367
|
+
언어 설정:
|
|
368
|
+
- 대화_언어: {{CONVERSATION_LANGUAGE}}
|
|
369
|
+
- 언어명: {{CONVERSATION_LANGUAGE_NAME}}
|
|
370
|
+
|
|
371
|
+
중요 지시사항:
|
|
372
|
+
**Code and technical output MUST be in English.** This ensures global compatibility and maintainability.
|
|
373
|
+
|
|
374
|
+
코드 문법 및 키워드: 영어 (고정).
|
|
375
|
+
코드 주석:
|
|
376
|
+
- 로컬 프로젝트 코드: 반드시 {{CONVERSATION_LANGUAGE}}로 작성
|
|
377
|
+
- 패키지 코드 (src/moai_adk/): 반드시 영어로 작성 (글로벌 배포용)
|
|
378
|
+
테스트 설명 및 문서: 반드시 {{CONVERSATION_LANGUAGE}}로 작성.
|
|
379
|
+
|
|
380
|
+
스킬 호출:
|
|
381
|
+
필요 시 명시적 Skill() 호출 사용:
|
|
382
|
+
- Skill("moai-alfred-language-detection") - 프로젝트 언어 감지
|
|
383
|
+
- Skill("moai-lang-python") 또는 언어별 스킬 - 베스트 프랙티스
|
|
384
|
+
- Skill("moai-essentials-debug") - 테스트 실패 시
|
|
385
|
+
- Skill("moai-essentials-refactor") - REFACTOR 단계에서
|
|
386
|
+
|
|
387
|
+
작업: STEP 1에서 승인된 계획에 따라 작업을 실행합니다.
|
|
388
|
+
|
|
389
|
+
TDD 시나리오의 경우:
|
|
390
|
+
- RED → GREEN → REFACTOR 사이클 수행
|
|
391
|
+
- 각 TAG에 대해 다음을 수행:
|
|
392
|
+
1. RED 단계: @TEST:ID 태그로 실패하는 테스트 작성
|
|
393
|
+
2. GREEN 단계: @CODE:ID 태그로 최소한의 구현
|
|
394
|
+
3. REFACTOR 단계: 코드 품질 개선
|
|
395
|
+
4. TAG 완료 조건 확인 및 다음 TAG 진행
|
|
396
|
+
|
|
397
|
+
실행 대상: $ARGUMENTS"""
|
|
273
398
|
```
|
|
274
399
|
|
|
275
400
|
## 🔗 TDD optimization for each language
|
|
@@ -526,7 +651,7 @@ Only if the user selects **"Proceed"** or **"Start"** will Alfred call the tdd-i
|
|
|
526
651
|
|
|
527
652
|
## 🧠 Context Management
|
|
528
653
|
|
|
529
|
-
> For more information:
|
|
654
|
+
> For more information: Skill("moai-alfred-dev-guide") - see section "Context Engineering"
|
|
530
655
|
|
|
531
656
|
### Core strategy of this command
|
|
532
657
|
|
|
@@ -536,6 +661,45 @@ Only if the user selects **"Proceed"** or **"Start"** will Alfred call the tdd-i
|
|
|
536
661
|
|
|
537
662
|
---
|
|
538
663
|
|
|
664
|
+
## Final Step
|
|
665
|
+
|
|
666
|
+
### After STEP 3 (git-manager) Completes
|
|
667
|
+
|
|
668
|
+
Alfred calls AskUserQuestion to collect user's next action:
|
|
669
|
+
|
|
670
|
+
```python
|
|
671
|
+
AskUserQuestion(
|
|
672
|
+
questions=[
|
|
673
|
+
{
|
|
674
|
+
"question": "구현이 완료되었습니다. 다음으로 뭘 하시겠습니까?",
|
|
675
|
+
"header": "다음 단계",
|
|
676
|
+
"multiSelect": false,
|
|
677
|
+
"options": [
|
|
678
|
+
{
|
|
679
|
+
"label": "📚 문서 동기화 진행",
|
|
680
|
+
"description": "/alfred:3-sync 실행하여 문서 동기화"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"label": "🔍 추가 구현",
|
|
684
|
+
"description": "다른 SPEC 구현 진행"
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"label": "🔄 새 세션 시작",
|
|
688
|
+
"description": "성능 최적화를 위해 /clear 실행"
|
|
689
|
+
}
|
|
690
|
+
]
|
|
691
|
+
}
|
|
692
|
+
]
|
|
693
|
+
)
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
**User Responses**:
|
|
697
|
+
- **📚 문서 동기화**: Proceed to `/alfred:3-sync` for documentation synchronization
|
|
698
|
+
- **🔍 추가 구현**: Repeat `/alfred:2-run SPEC-XXX` for next feature
|
|
699
|
+
- **🔄 새 세션**: Execute `/clear` to start fresh session (recommended for performance)
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
539
703
|
## Next steps
|
|
540
704
|
|
|
541
705
|
**Recommendation**: For better performance and context management, start a new chat session with the `/clear` or `/new` command before proceeding to the next step.
|