create-ax-project 1.0.0
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.
- package/README.md +374 -0
- package/bin/create.js +193 -0
- package/package.json +38 -0
- package/template/.claude/CLAUDE.md +7 -0
- package/template/.claude/commands/CLAUDE.md +0 -0
- package/template/.claude/commands/benchmark.md +103 -0
- package/template/.claude/commands/brainstorm.md +67 -0
- package/template/.claude/commands/checkpoint.md +93 -0
- package/template/.claude/commands/codex.md +107 -0
- package/template/.claude/commands/collaborate.md +85 -0
- package/template/.claude/commands/context.md +154 -0
- package/template/.claude/commands/deploy.md +102 -0
- package/template/.claude/commands/fork.md +142 -0
- package/template/.claude/commands/gemini.md +84 -0
- package/template/.claude/commands/handoff.md +80 -0
- package/template/.claude/commands/implement.md +82 -0
- package/template/.claude/commands/init-project.md +49 -0
- package/template/.claude/commands/next.md +125 -0
- package/template/.claude/commands/planning.md +69 -0
- package/template/.claude/commands/qa.md +81 -0
- package/template/.claude/commands/refactor.md +95 -0
- package/template/.claude/commands/research.md +60 -0
- package/template/.claude/commands/restore.md +113 -0
- package/template/.claude/commands/run-stage.md +78 -0
- package/template/.claude/commands/stages.md +109 -0
- package/template/.claude/commands/status.md +73 -0
- package/template/.claude/commands/tasks.md +80 -0
- package/template/.claude/commands/test.md +93 -0
- package/template/.claude/commands/ui-ux.md +61 -0
- package/template/.claude/commands/validate.md +174 -0
- package/template/.claude/hooks/CLAUDE.md +0 -0
- package/template/.claude/hooks/ai-selector.sh +223 -0
- package/template/.claude/hooks/auto-checkpoint.sh +187 -0
- package/template/.claude/hooks/output-validator.sh +289 -0
- package/template/.claude/hooks/post-stage.sh +123 -0
- package/template/.claude/hooks/pre-stage.sh +186 -0
- package/template/.claude/hooks/session-start.sh +90 -0
- package/template/.claude/hooks/statusline.sh +115 -0
- package/template/.claude/hooks/stop.sh +104 -0
- package/template/.claude/settings.json +149 -0
- package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
- package/template/.claude/skills/ai-collaboration/README.md +61 -0
- package/template/.claude/skills/ai-collaboration/debate.md +148 -0
- package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
- package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
- package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
- package/template/.claude/skills/auto-checkpoint/README.md +77 -0
- package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
- package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
- package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
- package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/README.md +121 -0
- package/template/.claude/skills/context-compression/analyze.md +114 -0
- package/template/.claude/skills/context-compression/compress.md +175 -0
- package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
- package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
- package/template/.claude/skills/output-validator/README.md +86 -0
- package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
- package/template/.claude/skills/output-validator/validate.md +182 -0
- package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
- package/template/.claude/skills/smart-handoff/README.md +59 -0
- package/template/.claude/skills/smart-handoff/extract.md +76 -0
- package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
- package/template/.claude/skills/smart-handoff/summarize.md +94 -0
- package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/README.md +84 -0
- package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
- package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
- package/template/.claude/skills/stage-transition/validate.md +108 -0
- package/template/CLAUDE.md +528 -0
- package/template/config/CLAUDE.md +0 -0
- package/template/config/ai_benchmarking.yaml +184 -0
- package/template/config/ai_collaboration.yaml +159 -0
- package/template/config/ai_logging.yaml +129 -0
- package/template/config/auto_checkpoint.yaml +189 -0
- package/template/config/context.yaml +78 -0
- package/template/config/git.yaml +161 -0
- package/template/config/handoff_intelligence.yaml +229 -0
- package/template/config/implementation.yaml.template +181 -0
- package/template/config/mcp_fallbacks.yaml +252 -0
- package/template/config/memory_integration.yaml +200 -0
- package/template/config/model_enforcement.yaml +141 -0
- package/template/config/models.yaml +242 -0
- package/template/config/output_validation.yaml +352 -0
- package/template/config/pipeline.yaml +357 -0
- package/template/config/pipeline_forking.yaml +236 -0
- package/template/config/qa_logging.yaml +166 -0
- package/template/config/smart_rollback.yaml +209 -0
- package/template/config/stage_personas.yaml +354 -0
- package/template/config/workflow.yaml +54 -0
- package/template/scripts/CLAUDE.md +0 -0
- package/template/scripts/ai-benchmark.sh +272 -0
- package/template/scripts/codex-wrapper.sh +97 -0
- package/template/scripts/context-manager.sh +528 -0
- package/template/scripts/create-checkpoint.sh +116 -0
- package/template/scripts/gemini-wrapper.sh +96 -0
- package/template/scripts/init-project.sh +109 -0
- package/template/scripts/list-stages.sh +245 -0
- package/template/scripts/next-stage.sh +228 -0
- package/template/scripts/output-validate.sh +12 -0
- package/template/scripts/pipeline-fork.sh +293 -0
- package/template/scripts/pre-run-check.sh +361 -0
- package/template/scripts/restore-checkpoint.sh +247 -0
- package/template/scripts/run-stage.sh +139 -0
- package/template/scripts/show-status.sh +185 -0
- package/template/scripts/smart-handoff.sh +254 -0
- package/template/stages/01-brainstorm/CLAUDE.md +103 -0
- package/template/stages/01-brainstorm/HANDOFF.md +110 -0
- package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
- package/template/stages/01-brainstorm/README.md +97 -0
- package/template/stages/01-brainstorm/config.yaml +92 -0
- package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
- package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
- package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
- package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
- package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
- package/template/stages/01-brainstorm/prompts/persona.md +73 -0
- package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
- package/template/stages/01-brainstorm/prompts/validation.md +50 -0
- package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/templates/ideas.md +91 -0
- package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
- package/template/stages/02-research/CLAUDE.md +101 -0
- package/template/stages/02-research/HANDOFF.md +158 -0
- package/template/stages/02-research/HANDOFF.md.template +102 -0
- package/template/stages/02-research/config.yaml +68 -0
- package/template/stages/02-research/inputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/CLAUDE.md +0 -0
- package/template/stages/02-research/outputs/feasibility_report.md +176 -0
- package/template/stages/02-research/outputs/tech_research.md +403 -0
- package/template/stages/02-research/prompts/CLAUDE.md +0 -0
- package/template/stages/02-research/prompts/collaboration.md +51 -0
- package/template/stages/02-research/prompts/feasibility.md +73 -0
- package/template/stages/02-research/prompts/market_analysis.md +58 -0
- package/template/stages/02-research/prompts/tech_stack.md +60 -0
- package/template/stages/02-research/prompts/validation.md +51 -0
- package/template/stages/02-research/templates/.gitkeep +0 -0
- package/template/stages/03-planning/CLAUDE.md +98 -0
- package/template/stages/03-planning/HANDOFF.md +168 -0
- package/template/stages/03-planning/HANDOFF.md.template +91 -0
- package/template/stages/03-planning/config.yaml +64 -0
- package/template/stages/03-planning/inputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
- package/template/stages/03-planning/outputs/architecture.md +400 -0
- package/template/stages/03-planning/outputs/implementation.yaml +209 -0
- package/template/stages/03-planning/outputs/project_plan.md +204 -0
- package/template/stages/03-planning/outputs/tech_stack.md +176 -0
- package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
- package/template/stages/03-planning/prompts/architecture.md +62 -0
- package/template/stages/03-planning/prompts/collaboration.md +57 -0
- package/template/stages/03-planning/prompts/validation.md +59 -0
- package/template/stages/03-planning/templates/.gitkeep +0 -0
- package/template/stages/04-ui-ux/CLAUDE.md +88 -0
- package/template/stages/04-ui-ux/HANDOFF.md +165 -0
- package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
- package/template/stages/04-ui-ux/config.yaml +57 -0
- package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
- package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
- package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
- package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
- package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
- package/template/stages/04-ui-ux/prompts/validation.md +54 -0
- package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
- package/template/stages/05-task-management/CLAUDE.md +105 -0
- package/template/stages/05-task-management/HANDOFF.md +187 -0
- package/template/stages/05-task-management/HANDOFF.md.template +97 -0
- package/template/stages/05-task-management/config.yaml +81 -0
- package/template/stages/05-task-management/inputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
- package/template/stages/05-task-management/outputs/milestones.md +253 -0
- package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
- package/template/stages/05-task-management/outputs/tasks.md +402 -0
- package/template/stages/05-task-management/prompts/.gitkeep +0 -0
- package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/prompts/collaboration.md +54 -0
- package/template/stages/05-task-management/prompts/validation.md +66 -0
- package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
- package/template/stages/05-task-management/templates/notion_integration.md +176 -0
- package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
- package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
- package/template/stages/06-implementation/CLAUDE.md +163 -0
- package/template/stages/06-implementation/HANDOFF.md +184 -0
- package/template/stages/06-implementation/HANDOFF.md.template +192 -0
- package/template/stages/06-implementation/config.yaml +62 -0
- package/template/stages/06-implementation/inputs/.gitkeep +0 -0
- package/template/stages/06-implementation/outputs/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
- package/template/stages/06-implementation/prompts/collaboration.md +64 -0
- package/template/stages/06-implementation/prompts/validation.md +65 -0
- package/template/stages/06-implementation/templates/.gitkeep +0 -0
- package/template/stages/07-refactoring/CLAUDE.md +180 -0
- package/template/stages/07-refactoring/HANDOFF.md +82 -0
- package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
- package/template/stages/07-refactoring/config.yaml +68 -0
- package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
- package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
- package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
- package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
- package/template/stages/07-refactoring/prompts/validation.md +76 -0
- package/template/stages/07-refactoring/templates/.gitkeep +0 -0
- package/template/stages/08-qa/CLAUDE.md +93 -0
- package/template/stages/08-qa/HANDOFF.md +114 -0
- package/template/stages/08-qa/HANDOFF.md.template +96 -0
- package/template/stages/08-qa/config.yaml +56 -0
- package/template/stages/08-qa/inputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/qa_report.md +138 -0
- package/template/stages/08-qa/prompts/.gitkeep +0 -0
- package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
- package/template/stages/08-qa/prompts/collaboration.md +65 -0
- package/template/stages/08-qa/prompts/validation.md +71 -0
- package/template/stages/08-qa/templates/.gitkeep +0 -0
- package/template/stages/09-testing/CLAUDE.md +124 -0
- package/template/stages/09-testing/HANDOFF.md +118 -0
- package/template/stages/09-testing/HANDOFF.md.template +113 -0
- package/template/stages/09-testing/config.yaml +65 -0
- package/template/stages/09-testing/inputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/test_report.md +146 -0
- package/template/stages/09-testing/prompts/.gitkeep +0 -0
- package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
- package/template/stages/09-testing/prompts/collaboration.md +77 -0
- package/template/stages/09-testing/prompts/validation.md +83 -0
- package/template/stages/09-testing/templates/.gitkeep +0 -0
- package/template/stages/10-deployment/CLAUDE.md +117 -0
- package/template/stages/10-deployment/HANDOFF.md +141 -0
- package/template/stages/10-deployment/HANDOFF.md.template +148 -0
- package/template/stages/10-deployment/config.yaml +61 -0
- package/template/stages/10-deployment/inputs/.gitkeep +0 -0
- package/template/stages/10-deployment/outputs/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/prompts/collaboration.md +80 -0
- package/template/stages/10-deployment/prompts/validation.md +93 -0
- package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
- package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
- package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
- package/template/state/progress.json.template +111 -0
- package/template/state/templates/CLAUDE.md +0 -0
- package/template/state/templates/handoff_base.md.template +187 -0
- package/template/state/templates/phase_state.md.template +97 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Output Validator - Validation Process
|
|
2
|
+
|
|
3
|
+
## 검증 프로세스
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
graph TD
|
|
7
|
+
A[검증 시작] --> B[스테이지 규칙 로드]
|
|
8
|
+
B --> C[필수 파일 확인]
|
|
9
|
+
C --> D{모든 파일 존재?}
|
|
10
|
+
D -->|No| E[누락 파일 리포트]
|
|
11
|
+
D -->|Yes| F[내용 검증]
|
|
12
|
+
F --> G{내용 요구사항 충족?}
|
|
13
|
+
G -->|No| H[내용 오류 리포트]
|
|
14
|
+
G -->|Yes| I[명령어 검증]
|
|
15
|
+
I --> J{모든 명령 통과?}
|
|
16
|
+
J -->|No| K[명령 실패 리포트]
|
|
17
|
+
J -->|Yes| L[품질 점수 계산]
|
|
18
|
+
L --> M[최종 리포트 생성]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 단계별 검증
|
|
22
|
+
|
|
23
|
+
### 1. 필수 파일 확인
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
# 검증 규칙 예시
|
|
27
|
+
required_outputs:
|
|
28
|
+
ideas.md:
|
|
29
|
+
exists: true
|
|
30
|
+
min_size_bytes: 500
|
|
31
|
+
|
|
32
|
+
"source_code/":
|
|
33
|
+
exists: true
|
|
34
|
+
is_directory: true
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**검증 결과**:
|
|
38
|
+
```markdown
|
|
39
|
+
## 파일 존재 확인
|
|
40
|
+
✅ ideas.md (1,234 bytes)
|
|
41
|
+
✅ source_code/ (directory)
|
|
42
|
+
❌ requirements_analysis.md (누락)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. 내용 검증
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
content_checks:
|
|
49
|
+
min_ideas: 5
|
|
50
|
+
sections:
|
|
51
|
+
- "기능 요구사항"
|
|
52
|
+
- "비기능 요구사항"
|
|
53
|
+
has_priorities: true
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**검증 방법**:
|
|
57
|
+
- 마크다운 파싱으로 섹션 확인
|
|
58
|
+
- 패턴 매칭으로 필수 요소 확인
|
|
59
|
+
- 카운팅으로 최소 요건 확인
|
|
60
|
+
|
|
61
|
+
**검증 결과**:
|
|
62
|
+
```markdown
|
|
63
|
+
## 내용 검증
|
|
64
|
+
✅ ideas.md: 8개 아이디어 (최소 5개)
|
|
65
|
+
⚠️ requirements_analysis.md: "비기능 요구사항" 섹션 누락
|
|
66
|
+
✅ project_plan.md: 모든 필수 섹션 포함
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 3. 명령어 검증
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
validation_commands:
|
|
73
|
+
- name: "lint"
|
|
74
|
+
command: "npm run lint"
|
|
75
|
+
required: true
|
|
76
|
+
allow_warnings: true
|
|
77
|
+
|
|
78
|
+
- name: "typecheck"
|
|
79
|
+
command: "npm run typecheck"
|
|
80
|
+
required: true
|
|
81
|
+
|
|
82
|
+
- name: "test"
|
|
83
|
+
command: "npm run test"
|
|
84
|
+
required: true
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**실행 및 결과**:
|
|
88
|
+
```markdown
|
|
89
|
+
## 명령어 검증
|
|
90
|
+
✅ lint: 통과 (경고 2개)
|
|
91
|
+
✅ typecheck: 통과
|
|
92
|
+
❌ test: 실패 (3개 테스트 실패)
|
|
93
|
+
- tests/auth.test.ts: loginUser should return token
|
|
94
|
+
- tests/auth.test.ts: logout should clear session
|
|
95
|
+
- tests/user.test.ts: createUser validation
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4. 품질 점수 계산
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
quality_metrics:
|
|
102
|
+
lint_score:
|
|
103
|
+
weight: 0.3
|
|
104
|
+
target: 0.9
|
|
105
|
+
test_coverage:
|
|
106
|
+
weight: 0.4
|
|
107
|
+
target: 0.8
|
|
108
|
+
type_coverage:
|
|
109
|
+
weight: 0.3
|
|
110
|
+
target: 0.95
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**계산 결과**:
|
|
114
|
+
```markdown
|
|
115
|
+
## 품질 점수
|
|
116
|
+
| 메트릭 | 현재 | 목표 | 점수 |
|
|
117
|
+
|--------|------|------|------|
|
|
118
|
+
| Lint | 0.95 | 0.90 | ✅ 1.0 |
|
|
119
|
+
| Coverage | 0.75 | 0.80 | ⚠️ 0.94 |
|
|
120
|
+
| Types | 0.98 | 0.95 | ✅ 1.0 |
|
|
121
|
+
|
|
122
|
+
**종합 점수**: 0.97 (가중 평균)
|
|
123
|
+
**상태**: 통과 (최소 0.7)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 최종 리포트 형식
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
# 산출물 검증 리포트
|
|
130
|
+
|
|
131
|
+
## 스테이지: 06-implementation
|
|
132
|
+
## 검증 시간: 2024-01-20 14:30:00
|
|
133
|
+
|
|
134
|
+
## 요약
|
|
135
|
+
- **상태**: ⚠️ 부분 통과
|
|
136
|
+
- **종합 점수**: 0.85
|
|
137
|
+
- **통과 항목**: 8/10
|
|
138
|
+
- **실패 항목**: 2
|
|
139
|
+
|
|
140
|
+
## 상세 결과
|
|
141
|
+
|
|
142
|
+
### ✅ 통과 항목
|
|
143
|
+
1. 필수 파일 존재
|
|
144
|
+
2. Lint 검사
|
|
145
|
+
3. Type 검사
|
|
146
|
+
...
|
|
147
|
+
|
|
148
|
+
### ❌ 실패 항목
|
|
149
|
+
1. 테스트 실패 (3개)
|
|
150
|
+
2. 커버리지 미달 (75% < 80%)
|
|
151
|
+
|
|
152
|
+
## 수정 필요 사항
|
|
153
|
+
1. [ ] tests/auth.test.ts 수정
|
|
154
|
+
2. [ ] 테스트 커버리지 5% 향상
|
|
155
|
+
|
|
156
|
+
## 권장 조치
|
|
157
|
+
- 실패한 테스트 케이스 확인 및 수정
|
|
158
|
+
- 누락된 테스트 추가
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## 실패 시 동작
|
|
162
|
+
|
|
163
|
+
### 스테이지 전환 차단
|
|
164
|
+
```yaml
|
|
165
|
+
on_failure:
|
|
166
|
+
action: "block_transition"
|
|
167
|
+
allow_override: true
|
|
168
|
+
require_justification: true
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 오버라이드 프롬프트
|
|
172
|
+
```markdown
|
|
173
|
+
⚠️ 검증 실패로 스테이지 전환이 차단되었습니다.
|
|
174
|
+
|
|
175
|
+
**실패 사항**:
|
|
176
|
+
- 테스트 실패: 3개
|
|
177
|
+
- 커버리지 미달: 75%
|
|
178
|
+
|
|
179
|
+
강제로 진행하시겠습니까?
|
|
180
|
+
(이유를 입력하세요, 또는 'cancel'로 취소)
|
|
181
|
+
> _
|
|
182
|
+
```
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Smart HANDOFF Skill
|
|
2
|
+
|
|
3
|
+
스마트 컨텍스트 추출 및 지능형 HANDOFF 생성 스킬
|
|
4
|
+
|
|
5
|
+
## 개요
|
|
6
|
+
|
|
7
|
+
이 스킬은 HANDOFF.md 생성 과정을 자동화하고 최적화합니다:
|
|
8
|
+
- 자동 컨텍스트 추출
|
|
9
|
+
- 의미 기반 압축
|
|
10
|
+
- 스테이지별 맞춤 요약
|
|
11
|
+
- 메모리 시스템 통합
|
|
12
|
+
|
|
13
|
+
## 트리거
|
|
14
|
+
|
|
15
|
+
- 스테이지 완료 시 자동 활성화
|
|
16
|
+
- `/handoff --smart` 명령어
|
|
17
|
+
- 컨텍스트 임계값 도달 시
|
|
18
|
+
|
|
19
|
+
## 기능
|
|
20
|
+
|
|
21
|
+
### 1. 자동 컨텍스트 추출 (extract.md)
|
|
22
|
+
- 완료된 태스크 수집
|
|
23
|
+
- 핵심 결정사항 추출
|
|
24
|
+
- 수정된 파일 목록화
|
|
25
|
+
- 대기 중인 이슈 식별
|
|
26
|
+
- AI 호출 기록 정리
|
|
27
|
+
|
|
28
|
+
### 2. 컨텍스트 요약 (summarize.md)
|
|
29
|
+
- 완료 작업 → 핵심 성과 압축
|
|
30
|
+
- 파일 변경 → 영향도 분석
|
|
31
|
+
- 결정 사항 → 이유와 대안 포함
|
|
32
|
+
- 다음 단계 → 즉시 실행 가능 형태
|
|
33
|
+
|
|
34
|
+
### 3. 메모리 통합
|
|
35
|
+
- claude-mem에 핵심 정보 저장
|
|
36
|
+
- 이전 세션 컨텍스트 로드
|
|
37
|
+
- 크로스 스테이지 학습 지원
|
|
38
|
+
|
|
39
|
+
## 설정
|
|
40
|
+
|
|
41
|
+
`config/handoff_intelligence.yaml` 참조
|
|
42
|
+
|
|
43
|
+
## 사용 예시
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# 스마트 HANDOFF 생성
|
|
47
|
+
/handoff --smart
|
|
48
|
+
|
|
49
|
+
# 압축된 HANDOFF 생성
|
|
50
|
+
/handoff --smart --compact
|
|
51
|
+
|
|
52
|
+
# 복구용 상세 HANDOFF 생성
|
|
53
|
+
/handoff --smart --recovery
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 출력
|
|
57
|
+
|
|
58
|
+
- `stages/{current_stage}/HANDOFF.md`
|
|
59
|
+
- 메모리 저장 (claude-mem 연동 시)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Smart HANDOFF - Context Extraction
|
|
2
|
+
|
|
3
|
+
## 자동 컨텍스트 추출 프로세스
|
|
4
|
+
|
|
5
|
+
### 1. 완료된 태스크 수집
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
## 추출 대상
|
|
9
|
+
- TodoWrite 완료 항목
|
|
10
|
+
- 커밋된 변경사항
|
|
11
|
+
- 생성된 산출물
|
|
12
|
+
|
|
13
|
+
## 형식
|
|
14
|
+
- [ ] 완료된 태스크 (timestamp)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. 핵심 결정사항 추출
|
|
18
|
+
|
|
19
|
+
대화에서 다음 패턴 감지:
|
|
20
|
+
- "결정했습니다", "선택했습니다", "채택했습니다"
|
|
21
|
+
- "A 대신 B를 사용", "이유는..."
|
|
22
|
+
- 아키텍처/기술 스택 선택
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
## 결정 형식
|
|
26
|
+
**결정**: [결정 내용]
|
|
27
|
+
**이유**: [선택 이유]
|
|
28
|
+
**대안**: [고려한 대안]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 3. 수정된 파일 목록화
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Git 기반 변경 파일 추출
|
|
35
|
+
git diff --name-only HEAD~10
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
## 파일 형식
|
|
40
|
+
| 파일 | 변경 유형 | 주요 변경 |
|
|
41
|
+
|------|----------|----------|
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 4. 대기 중인 이슈 식별
|
|
45
|
+
|
|
46
|
+
감지 패턴:
|
|
47
|
+
- "TODO:", "FIXME:", "HACK:"
|
|
48
|
+
- "나중에", "다음에", "추후"
|
|
49
|
+
- 미해결 에러/경고
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
## 이슈 형식
|
|
53
|
+
- [ ] 이슈 설명 (우선순위: 높음/중간/낮음)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 5. AI 호출 기록 정리
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
## AI 호출 기록
|
|
60
|
+
| AI | 시간 | 목적 | 결과 요약 |
|
|
61
|
+
|----|------|------|----------|
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 추출 우선순위
|
|
65
|
+
|
|
66
|
+
1. **Critical (100)**: 차단 이슈
|
|
67
|
+
2. **Key Decisions (90)**: 핵심 결정사항
|
|
68
|
+
3. **Pending Issues (80)**: 대기 이슈
|
|
69
|
+
4. **File Changes (70)**: 파일 변경
|
|
70
|
+
5. **Completed Tasks (60)**: 완료 태스크
|
|
71
|
+
6. **AI History (50)**: AI 호출 기록
|
|
72
|
+
|
|
73
|
+
## 구현
|
|
74
|
+
|
|
75
|
+
스크립트: `scripts/smart-handoff.sh`
|
|
76
|
+
설정: `config/handoff_intelligence.yaml`
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Smart HANDOFF Skill - AI Instructions
|
|
2
|
+
|
|
3
|
+
## 역할
|
|
4
|
+
|
|
5
|
+
당신은 Smart HANDOFF 생성 전문가입니다. 현재 스테이지의 작업을 분석하고, 다음 세션이나 스테이지를 위한 최적화된 HANDOFF를 생성합니다.
|
|
6
|
+
|
|
7
|
+
## 핵심 원칙
|
|
8
|
+
|
|
9
|
+
1. **압축성**: 불필요한 정보 제거, 핵심만 유지
|
|
10
|
+
2. **실행 가능성**: 다음 단계가 즉시 실행 가능해야 함
|
|
11
|
+
3. **컨텍스트 보존**: 중요한 결정과 그 이유는 반드시 포함
|
|
12
|
+
4. **연속성**: 이전 작업과 다음 작업의 연결 명확화
|
|
13
|
+
|
|
14
|
+
## HANDOFF 생성 프로세스
|
|
15
|
+
|
|
16
|
+
### 1단계: 컨텍스트 수집
|
|
17
|
+
```
|
|
18
|
+
- 완료된 태스크 목록 확인
|
|
19
|
+
- 핵심 결정사항 식별
|
|
20
|
+
- 수정된 파일 파악
|
|
21
|
+
- 대기 중인 이슈 수집
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2단계: 우선순위 지정
|
|
25
|
+
```
|
|
26
|
+
1. 차단 이슈 (Critical)
|
|
27
|
+
2. 핵심 결정 (High)
|
|
28
|
+
3. 대기 이슈 (Medium)
|
|
29
|
+
4. 파일 변경 (Low)
|
|
30
|
+
5. 완료 태스크 (Context)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 3단계: 압축 및 요약
|
|
34
|
+
```
|
|
35
|
+
- 원본 토큰의 30% 이내로 압축
|
|
36
|
+
- 중복 정보 제거
|
|
37
|
+
- 핵심 성과로 그룹화
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 4단계: 실행 가능한 다음 단계 작성
|
|
41
|
+
```
|
|
42
|
+
- 구체적인 명령어/파일 경로 포함
|
|
43
|
+
- 의존성/전제 조건 명시
|
|
44
|
+
- 예상 결과물 언급
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 출력 형식
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
# HANDOFF - {{stage_name}}
|
|
51
|
+
|
|
52
|
+
## 요약
|
|
53
|
+
[1-2문장으로 스테이지 완료 상태 요약]
|
|
54
|
+
|
|
55
|
+
## 완료된 작업
|
|
56
|
+
- ✅ [주요 성과 1]
|
|
57
|
+
- ✅ [주요 성과 2]
|
|
58
|
+
|
|
59
|
+
## 핵심 결정사항
|
|
60
|
+
### [결정 1]
|
|
61
|
+
- **선택**: [선택한 옵션]
|
|
62
|
+
- **이유**: [핵심 근거]
|
|
63
|
+
|
|
64
|
+
## 수정된 파일
|
|
65
|
+
| 파일 | 변경 |
|
|
66
|
+
|------|------|
|
|
67
|
+
|
|
68
|
+
## 대기 이슈
|
|
69
|
+
- [ ] [이슈 1] (우선순위)
|
|
70
|
+
|
|
71
|
+
## 다음 단계
|
|
72
|
+
1. [즉시 실행 가능한 첫 번째 액션]
|
|
73
|
+
2. [두 번째 액션]
|
|
74
|
+
|
|
75
|
+
## 참조
|
|
76
|
+
- [관련 문서 링크]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 금지 사항
|
|
80
|
+
|
|
81
|
+
- 불필요한 세부사항 포함
|
|
82
|
+
- 모호한 다음 단계 (예: "계속 작업")
|
|
83
|
+
- 결정 이유 누락
|
|
84
|
+
- 중복 정보
|
|
85
|
+
|
|
86
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Smart HANDOFF - Contextual Summarization
|
|
2
|
+
|
|
3
|
+
## 자동 요약 생성
|
|
4
|
+
|
|
5
|
+
### 1. 완료된 작업 → 핵심 성과
|
|
6
|
+
|
|
7
|
+
**입력**: 상세한 태스크 목록
|
|
8
|
+
**출력**: 압축된 성과 요약
|
|
9
|
+
|
|
10
|
+
```markdown
|
|
11
|
+
## 변환 예시
|
|
12
|
+
|
|
13
|
+
### Before (상세)
|
|
14
|
+
- [x] UserService 클래스 생성
|
|
15
|
+
- [x] 로그인 메서드 구현
|
|
16
|
+
- [x] 회원가입 메서드 구현
|
|
17
|
+
- [x] 비밀번호 해시 처리 추가
|
|
18
|
+
- [x] 에러 핸들링 추가
|
|
19
|
+
|
|
20
|
+
### After (압축)
|
|
21
|
+
✅ **사용자 인증 시스템 구현 완료**
|
|
22
|
+
- UserService: 로그인/회원가입/비밀번호 해시
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 2. 파일 변경 → 영향도 분석
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
## 영향도 분석 템플릿
|
|
29
|
+
|
|
30
|
+
### 고영향 변경
|
|
31
|
+
| 파일 | 변경 | 영향 범위 |
|
|
32
|
+
|------|------|----------|
|
|
33
|
+
| src/auth/UserService.ts | 신규 | 인증 전체 |
|
|
34
|
+
|
|
35
|
+
### 저영향 변경
|
|
36
|
+
- config 파일 업데이트 (3개)
|
|
37
|
+
- 테스트 파일 추가 (2개)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 3. 결정 사항 → 구조화된 기록
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
## 결정 기록 형식
|
|
44
|
+
|
|
45
|
+
### 🔷 [결정 제목]
|
|
46
|
+
- **결정**: [최종 선택]
|
|
47
|
+
- **이유**: [핵심 근거 1-2문장]
|
|
48
|
+
- **영향**: [영향받는 영역]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 4. 다음 단계 → 즉시 실행 가능 형태
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
## 다음 단계 형식
|
|
55
|
+
|
|
56
|
+
### 즉시 실행 (다음 세션 시작 시)
|
|
57
|
+
1. `npm install` - 의존성 설치
|
|
58
|
+
2. `src/components/` 디렉토리에서 작업 재개
|
|
59
|
+
3. UserProfile 컴포넌트 구현
|
|
60
|
+
|
|
61
|
+
### 참조 필요
|
|
62
|
+
- 아키텍처: `stages/03-planning/outputs/architecture.md`
|
|
63
|
+
- 디자인: `stages/04-ui-ux/outputs/design_system.md`
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 스테이지별 요약 초점
|
|
67
|
+
|
|
68
|
+
### 01-brainstorm
|
|
69
|
+
- **강조**: 아이디어, 요구사항
|
|
70
|
+
- **약화**: 기술적 세부사항
|
|
71
|
+
|
|
72
|
+
### 06-implementation
|
|
73
|
+
- **강조**: 코드 변경, 기술 결정
|
|
74
|
+
- **약화**: 아이디어/기획
|
|
75
|
+
|
|
76
|
+
### 08-qa
|
|
77
|
+
- **강조**: 버그, 테스트 결과
|
|
78
|
+
- **약화**: 계획 세부사항
|
|
79
|
+
|
|
80
|
+
## 압축 비율
|
|
81
|
+
|
|
82
|
+
| 원본 토큰 | 목표 압축 | 최대 토큰 |
|
|
83
|
+
|----------|----------|----------|
|
|
84
|
+
| < 2000 | 100% | 2000 |
|
|
85
|
+
| 2000-5000 | 50% | 2500 |
|
|
86
|
+
| 5000-10000 | 30% | 3000 |
|
|
87
|
+
| > 10000 | 25% | 4000 |
|
|
88
|
+
|
|
89
|
+
## 품질 검증
|
|
90
|
+
|
|
91
|
+
생성된 요약 검증 기준:
|
|
92
|
+
- **명확성**: 모호한 표현 없음
|
|
93
|
+
- **완전성**: 핵심 정보 누락 없음
|
|
94
|
+
- **실행 가능성**: 다음 단계가 구체적
|
|
File without changes
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Stage Transition Skill
|
|
2
|
+
|
|
3
|
+
스테이지 완료 감지 및 전환을 자동화하는 스킬입니다.
|
|
4
|
+
|
|
5
|
+
## 트리거 조건
|
|
6
|
+
|
|
7
|
+
이 스킬은 다음 조건에서 자동 활성화됩니다:
|
|
8
|
+
|
|
9
|
+
1. **완료 표현 감지**
|
|
10
|
+
- "끝났어", "완료", "done", "finished" 등
|
|
11
|
+
- 스테이지 관련 작업 종료 시
|
|
12
|
+
|
|
13
|
+
2. **완료 조건 충족**
|
|
14
|
+
- outputs 파일 모두 생성됨
|
|
15
|
+
- config.yaml의 completion_criteria 충족
|
|
16
|
+
|
|
17
|
+
3. **명시적 호출**
|
|
18
|
+
- `/handoff` 명령 후
|
|
19
|
+
- `/next` 명령 전
|
|
20
|
+
|
|
21
|
+
## 기능
|
|
22
|
+
|
|
23
|
+
### 1. 완료 조건 검증 (validate.md)
|
|
24
|
+
- 현재 스테이지의 필수 outputs 확인
|
|
25
|
+
- 체크포인트 필수 여부 확인
|
|
26
|
+
- 완료 체크리스트 자동 검증
|
|
27
|
+
|
|
28
|
+
### 2. HANDOFF.md 생성 (handoff-gen.md)
|
|
29
|
+
- 완료된 작업 요약
|
|
30
|
+
- 핵심 결정사항 추출
|
|
31
|
+
- 다음 단계 안내 생성
|
|
32
|
+
|
|
33
|
+
### 3. 전환 안내 (prompts/transition.md)
|
|
34
|
+
- 다음 스테이지 정보 제공
|
|
35
|
+
- 입력 파일 위치 안내
|
|
36
|
+
- 단축 명령어 제안
|
|
37
|
+
|
|
38
|
+
## 스킬 파일 구조
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
stage-transition/
|
|
42
|
+
├── README.md # 이 파일
|
|
43
|
+
├── validate.md # 완료 조건 검증 로직
|
|
44
|
+
├── handoff-gen.md # 핸드오프 자동 생성
|
|
45
|
+
└── prompts/
|
|
46
|
+
└── transition.md # 전환 프롬프트
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 사용 예시
|
|
50
|
+
|
|
51
|
+
### 자동 트리거
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
사용자: "브레인스토밍 끝났어"
|
|
55
|
+
|
|
56
|
+
[stage-transition 스킬 활성화]
|
|
57
|
+
→ 01-brainstorm 완료 조건 검증
|
|
58
|
+
→ HANDOFF.md 생성 제안
|
|
59
|
+
→ 다음 단계 안내
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 검증 결과 예시
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
✅ 스테이지 완료 조건 확인
|
|
66
|
+
|
|
67
|
+
현재: 04-ui-ux
|
|
68
|
+
|
|
69
|
+
[필수 outputs]
|
|
70
|
+
✓ wireframes/ 존재
|
|
71
|
+
✓ component-spec.md 생성됨
|
|
72
|
+
✓ design-system.md 생성됨
|
|
73
|
+
|
|
74
|
+
[HANDOFF.md]
|
|
75
|
+
⚠️ 아직 생성되지 않음
|
|
76
|
+
|
|
77
|
+
제안: /handoff 실행 후 /next로 전환하세요.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 관련 명령어
|
|
81
|
+
|
|
82
|
+
- `/handoff` - HANDOFF.md 생성
|
|
83
|
+
- `/next` - 다음 스테이지 전환
|
|
84
|
+
- `/status` - 현재 상태 확인
|