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,114 @@
|
|
|
1
|
+
# Context Analysis Logic
|
|
2
|
+
|
|
3
|
+
현재 컨텍스트를 분석하여 압축 대상을 식별합니다.
|
|
4
|
+
|
|
5
|
+
## 분석 프로세스
|
|
6
|
+
|
|
7
|
+
### 1. 토큰 추정
|
|
8
|
+
|
|
9
|
+
대화 내용을 카테고리별로 분류하고 토큰을 추정합니다:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
토큰 추정 공식:
|
|
13
|
+
- 영어: 단어 수 × 1.3
|
|
14
|
+
- 한국어: 글자 수 × 0.5
|
|
15
|
+
- 코드: 줄 수 × 10
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 2. 카테고리 분류
|
|
19
|
+
|
|
20
|
+
| 카테고리 | 중요도 | 처리 |
|
|
21
|
+
|----------|--------|------|
|
|
22
|
+
| 결정사항 | 높음 | 유지 |
|
|
23
|
+
| 요구사항 | 높음 | 유지 |
|
|
24
|
+
| 아키텍처 | 높음 | 유지 |
|
|
25
|
+
| 현재 작업 | 높음 | 유지 |
|
|
26
|
+
| 토론/탐색 | 중간 | 요약 |
|
|
27
|
+
| 코드 리뷰 | 중간 | 요약 |
|
|
28
|
+
| 오류 로그 | 낮음 | 제거 |
|
|
29
|
+
| 시행착오 | 낮음 | 제거 |
|
|
30
|
+
|
|
31
|
+
### 3. 식별 패턴
|
|
32
|
+
|
|
33
|
+
#### 결정사항 (유지)
|
|
34
|
+
```
|
|
35
|
+
키워드:
|
|
36
|
+
- "결정", "선택", "확정"
|
|
37
|
+
- "~로 하자", "~가 좋겠다"
|
|
38
|
+
- "A 대신 B"
|
|
39
|
+
|
|
40
|
+
구조:
|
|
41
|
+
- 결정 내용
|
|
42
|
+
- 선택 이유
|
|
43
|
+
- 대안 (간략히)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### 토론/탐색 (요약)
|
|
47
|
+
```
|
|
48
|
+
키워드:
|
|
49
|
+
- "살펴보자", "검토", "분석"
|
|
50
|
+
- "옵션 1", "옵션 2"
|
|
51
|
+
- "어떻게 생각해?"
|
|
52
|
+
|
|
53
|
+
압축:
|
|
54
|
+
- 주요 논점만 유지
|
|
55
|
+
- 최종 결론 강조
|
|
56
|
+
- 중간 과정 생략
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### 오류/시행착오 (제거)
|
|
60
|
+
```
|
|
61
|
+
키워드:
|
|
62
|
+
- "에러", "실패", "수정"
|
|
63
|
+
- "다시 시도"
|
|
64
|
+
- "TypeError", "SyntaxError"
|
|
65
|
+
|
|
66
|
+
예외 (유지):
|
|
67
|
+
- 최종 해결책
|
|
68
|
+
- 반복 가능한 문제
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 4. 분석 결과 형식
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
75
|
+
📊 컨텍스트 분석 결과
|
|
76
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
77
|
+
|
|
78
|
+
총 추정 토큰: ~65,000
|
|
79
|
+
|
|
80
|
+
[카테고리별 분포]
|
|
81
|
+
결정사항 ████░░░░░░░░░░░░ 5,000 (유지)
|
|
82
|
+
요구사항 ██░░░░░░░░░░░░░░ 2,000 (유지)
|
|
83
|
+
현재 작업 ███░░░░░░░░░░░░░ 3,000 (유지)
|
|
84
|
+
토론/탐색 ████████████░░░░ 40,000 (→ 8,000 요약)
|
|
85
|
+
오류 로그 █████░░░░░░░░░░░ 15,000 (제거)
|
|
86
|
+
|
|
87
|
+
[압축 예상]
|
|
88
|
+
- 압축 전: 65,000 토큰
|
|
89
|
+
- 압축 후: 18,000 토큰
|
|
90
|
+
- 절감: 72%
|
|
91
|
+
|
|
92
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
93
|
+
압축하시겠습니까? [Y/n]
|
|
94
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 자동 분석 트리거
|
|
98
|
+
|
|
99
|
+
다음 상황에서 자동 분석 실행:
|
|
100
|
+
|
|
101
|
+
1. **토큰 경고 임계값 도달** (50,000)
|
|
102
|
+
2. **스테이지 전환 전**
|
|
103
|
+
3. **긴 대화 후** (메시지 20개 이상)
|
|
104
|
+
|
|
105
|
+
## 분석 우선순위
|
|
106
|
+
|
|
107
|
+
스테이지에 따른 우선순위 조정:
|
|
108
|
+
|
|
109
|
+
| 스테이지 | 우선 유지 |
|
|
110
|
+
|----------|----------|
|
|
111
|
+
| 01-03 | 결정사항, 요구사항 |
|
|
112
|
+
| 04-05 | 설계 내용, 태스크 |
|
|
113
|
+
| 06-07 | 구현 결정, 코드 패턴 |
|
|
114
|
+
| 08-10 | 이슈, 해결책 |
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Context Compression Logic
|
|
2
|
+
|
|
3
|
+
분석 결과를 바탕으로 컨텍스트를 압축합니다.
|
|
4
|
+
|
|
5
|
+
## 압축 프로세스
|
|
6
|
+
|
|
7
|
+
### 1. 유지할 내용 추출
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# 유지 항목
|
|
11
|
+
|
|
12
|
+
## 결정사항
|
|
13
|
+
- [결정 1]: [내용] - [이유]
|
|
14
|
+
- [결정 2]: [내용] - [이유]
|
|
15
|
+
|
|
16
|
+
## 요구사항
|
|
17
|
+
- [요구사항 목록]
|
|
18
|
+
|
|
19
|
+
## 아키텍처
|
|
20
|
+
- [주요 아키텍처 선택]
|
|
21
|
+
|
|
22
|
+
## 현재 작업 상태
|
|
23
|
+
- 스테이지: [현재 스테이지]
|
|
24
|
+
- 진행: [완료/진행중/대기]
|
|
25
|
+
- 다음: [다음 작업]
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. 요약할 내용 처리
|
|
29
|
+
|
|
30
|
+
#### 토론 요약 전략
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
원본:
|
|
34
|
+
사용자: React와 Vue 중 어떤 게 좋을까?
|
|
35
|
+
AI: React의 장점은... Vue의 장점은... 비교하면...
|
|
36
|
+
사용자: 팀이 React 경험이 많아
|
|
37
|
+
AI: 그렇다면 React가 좋겠습니다. 이유는...
|
|
38
|
+
사용자: React로 하자
|
|
39
|
+
|
|
40
|
+
압축:
|
|
41
|
+
기술 스택 토론 → React 선택 (팀 경험 기반)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### 코드 리뷰 요약
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
원본:
|
|
48
|
+
[긴 코드 diff]
|
|
49
|
+
AI: 이 부분은 최적화가 필요합니다... [상세 설명]
|
|
50
|
+
[수정된 코드]
|
|
51
|
+
|
|
52
|
+
압축:
|
|
53
|
+
코드 리뷰 완료: [파일명] 최적화 적용
|
|
54
|
+
- 변경: [핵심 변경사항]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 3. 제거할 내용
|
|
58
|
+
|
|
59
|
+
완전히 제거되는 항목:
|
|
60
|
+
|
|
61
|
+
- 오류 메시지 전문 (해결책만 유지)
|
|
62
|
+
- 실패한 시도 과정
|
|
63
|
+
- 임시 디버깅 출력
|
|
64
|
+
- 중복된 코드 표시
|
|
65
|
+
|
|
66
|
+
### 4. state.md 생성
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# 작업 상태 저장 - {{TIMESTAMP}}
|
|
70
|
+
|
|
71
|
+
## 현재 스테이지
|
|
72
|
+
{{STAGE_ID}}: {{STAGE_NAME}}
|
|
73
|
+
|
|
74
|
+
## 진행 상황
|
|
75
|
+
- 완료: {{COMPLETED_ITEMS}}
|
|
76
|
+
- 진행 중: {{CURRENT_ITEM}}
|
|
77
|
+
- 대기: {{PENDING_ITEMS}}
|
|
78
|
+
|
|
79
|
+
## 핵심 결정사항
|
|
80
|
+
|
|
81
|
+
### 기술 스택
|
|
82
|
+
- 프론트엔드: React + TypeScript
|
|
83
|
+
- 스타일링: Tailwind CSS
|
|
84
|
+
- 상태관리: Zustand
|
|
85
|
+
|
|
86
|
+
### 아키텍처
|
|
87
|
+
- 컴포넌트 기반 구조
|
|
88
|
+
- 기능별 폴더 구성
|
|
89
|
+
|
|
90
|
+
## 주요 컨텍스트
|
|
91
|
+
|
|
92
|
+
### 요구사항 요약
|
|
93
|
+
[핵심 요구사항 3-5개]
|
|
94
|
+
|
|
95
|
+
### 토론 결과 요약
|
|
96
|
+
[주요 토론 결과]
|
|
97
|
+
|
|
98
|
+
## 복구 지침
|
|
99
|
+
1. 이 파일 읽기
|
|
100
|
+
2. stages/{{STAGE_ID}}/CLAUDE.md 참조
|
|
101
|
+
3. {{CURRENT_TASK}}부터 재개
|
|
102
|
+
|
|
103
|
+
## 참조 파일
|
|
104
|
+
- progress.json
|
|
105
|
+
- stages/{{STAGE_ID}}/outputs/
|
|
106
|
+
- 최근 HANDOFF.md
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 압축 실행
|
|
110
|
+
|
|
111
|
+
### 자동 압축 (80k 도달 시)
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
⚠️ 토큰 한도 도달 (80,000)
|
|
115
|
+
|
|
116
|
+
자동 압축 실행 중...
|
|
117
|
+
|
|
118
|
+
[저장 중]
|
|
119
|
+
✓ 결정사항 추출
|
|
120
|
+
✓ 현재 상태 저장
|
|
121
|
+
✓ state.md 생성
|
|
122
|
+
|
|
123
|
+
저장 완료: state/context/state.md
|
|
124
|
+
|
|
125
|
+
/clear 후 복구하려면:
|
|
126
|
+
1. state/context/state.md 읽기
|
|
127
|
+
2. 작업 재개
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 수동 압축
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
/context --compress
|
|
134
|
+
|
|
135
|
+
[분석]
|
|
136
|
+
...
|
|
137
|
+
|
|
138
|
+
[압축 실행]
|
|
139
|
+
✓ 유지 항목 추출: 10,000 토큰
|
|
140
|
+
✓ 요약 생성: 5,000 토큰
|
|
141
|
+
✓ 불필요 항목 제거: 50,000 토큰
|
|
142
|
+
|
|
143
|
+
[결과]
|
|
144
|
+
- 압축 전: 65,000 토큰
|
|
145
|
+
- 압축 후: 15,000 토큰
|
|
146
|
+
|
|
147
|
+
state/context/state.md에 저장됨
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## 복구 프로세스
|
|
151
|
+
|
|
152
|
+
### /clear 후 복구
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
새 세션입니다.
|
|
156
|
+
|
|
157
|
+
이전 컨텍스트를 복구하시겠습니까?
|
|
158
|
+
저장된 상태: state/context/state.md
|
|
159
|
+
|
|
160
|
+
[Y] 복구 / [N] 새로 시작
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 복구 시 로드
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
컨텍스트 복구 중...
|
|
167
|
+
|
|
168
|
+
[로드된 정보]
|
|
169
|
+
- 스테이지: 06-implementation
|
|
170
|
+
- 진행: 스프린트 1 (3/5 태스크 완료)
|
|
171
|
+
- 결정사항: 5개
|
|
172
|
+
- 다음 작업: T004 사용자 인증 구현
|
|
173
|
+
|
|
174
|
+
복구 완료. 작업을 계속하시겠습니까?
|
|
175
|
+
```
|
|
File without changes
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Context Compression Prompts
|
|
2
|
+
|
|
3
|
+
컨텍스트 압축 및 복구 시 사용되는 프롬프트 템플릿입니다.
|
|
4
|
+
|
|
5
|
+
## 토큰 경고 프롬프트
|
|
6
|
+
|
|
7
|
+
### 50,000 토큰 (경고)
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
11
|
+
⚠️ 컨텍스트 사용량 경고
|
|
12
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
13
|
+
|
|
14
|
+
현재 토큰: ~{{CURRENT_TOKENS}} / 80,000
|
|
15
|
+
상태: {{PERCENTAGE}}% 사용
|
|
16
|
+
|
|
17
|
+
권장 조치:
|
|
18
|
+
1. /context --compress 로 압축
|
|
19
|
+
2. 또는 /context --save 로 저장 후 /clear
|
|
20
|
+
|
|
21
|
+
현재 스테이지: {{CURRENT_STAGE}}
|
|
22
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 80,000 토큰 (한도)
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
29
|
+
🔴 컨텍스트 한도 도달
|
|
30
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
31
|
+
|
|
32
|
+
토큰 한도(80,000)에 도달했습니다.
|
|
33
|
+
|
|
34
|
+
자동 저장 실행 중...
|
|
35
|
+
|
|
36
|
+
[저장 내용]
|
|
37
|
+
• 현재 스테이지: {{CURRENT_STAGE}}
|
|
38
|
+
• 진행 상황: {{PROGRESS}}
|
|
39
|
+
• 결정사항: {{DECISION_COUNT}}개
|
|
40
|
+
|
|
41
|
+
저장 위치: state/context/state.md
|
|
42
|
+
|
|
43
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
|
+
/clear 후 작업을 계속하려면 state.md를 참조하세요.
|
|
45
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## 압축 결과 프롬프트
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
52
|
+
✅ 컨텍스트 압축 완료
|
|
53
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
+
|
|
55
|
+
[압축 요약]
|
|
56
|
+
• 압축 전: {{BEFORE_TOKENS}} 토큰
|
|
57
|
+
• 압축 후: {{AFTER_TOKENS}} 토큰
|
|
58
|
+
• 절감: {{SAVED_PERCENTAGE}}%
|
|
59
|
+
|
|
60
|
+
[유지된 항목]
|
|
61
|
+
• 결정사항: {{DECISION_COUNT}}개
|
|
62
|
+
• 요구사항: {{REQUIREMENT_COUNT}}개
|
|
63
|
+
• 현재 작업: {{CURRENT_TASK}}
|
|
64
|
+
|
|
65
|
+
[요약된 항목]
|
|
66
|
+
• 토론: {{DISCUSSION_COUNT}}개 → {{SUMMARY_COUNT}}개
|
|
67
|
+
• 코드 리뷰: {{REVIEW_COUNT}}개
|
|
68
|
+
|
|
69
|
+
[제거된 항목]
|
|
70
|
+
• 오류 로그: {{ERROR_COUNT}}개
|
|
71
|
+
• 시행착오: {{RETRY_COUNT}}개
|
|
72
|
+
|
|
73
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
74
|
+
저장: state/context/state.md
|
|
75
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## 복구 프롬프트
|
|
79
|
+
|
|
80
|
+
### 복구 제안
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
📂 저장된 컨텍스트 발견
|
|
85
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
|
+
|
|
87
|
+
저장 시점: {{SAVED_AT}}
|
|
88
|
+
스테이지: {{STAGE}}
|
|
89
|
+
진행 상황: {{PROGRESS_SUMMARY}}
|
|
90
|
+
|
|
91
|
+
복구하시겠습니까?
|
|
92
|
+
|
|
93
|
+
[Y] 복구하고 계속
|
|
94
|
+
[N] 새로 시작
|
|
95
|
+
[V] 내용 미리보기
|
|
96
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 복구 완료
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
103
|
+
✅ 컨텍스트 복구 완료
|
|
104
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
105
|
+
|
|
106
|
+
[복구된 상태]
|
|
107
|
+
• 스테이지: {{CURRENT_STAGE}}
|
|
108
|
+
• 진행: {{COMPLETED}}/{{TOTAL}} 완료
|
|
109
|
+
• 다음 작업: {{NEXT_TASK}}
|
|
110
|
+
|
|
111
|
+
[핵심 결정사항]
|
|
112
|
+
{{#each DECISIONS}}
|
|
113
|
+
• {{this.title}}: {{this.choice}}
|
|
114
|
+
{{/each}}
|
|
115
|
+
|
|
116
|
+
[참조 파일]
|
|
117
|
+
• stages/{{STAGE}}/CLAUDE.md
|
|
118
|
+
• stages/{{STAGE}}/outputs/
|
|
119
|
+
|
|
120
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
121
|
+
{{NEXT_TASK}}부터 계속하시겠습니까?
|
|
122
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## state.md 미리보기 프롬프트
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
129
|
+
📄 state.md 미리보기
|
|
130
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
131
|
+
|
|
132
|
+
# 작업 상태 저장 - {{TIMESTAMP}}
|
|
133
|
+
|
|
134
|
+
## 현재 스테이지
|
|
135
|
+
{{STAGE_ID}}: {{STAGE_NAME}}
|
|
136
|
+
|
|
137
|
+
## 진행 상황
|
|
138
|
+
- 완료: {{COMPLETED_LIST}}
|
|
139
|
+
- 진행 중: {{CURRENT}}
|
|
140
|
+
- 대기: {{PENDING_LIST}}
|
|
141
|
+
|
|
142
|
+
## 핵심 결정사항
|
|
143
|
+
{{#each DECISIONS}}
|
|
144
|
+
- {{this.title}}: {{this.choice}} ({{this.reason}})
|
|
145
|
+
{{/each}}
|
|
146
|
+
|
|
147
|
+
...
|
|
148
|
+
|
|
149
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
150
|
+
[R] 복구 / [E] 편집 후 복구 / [C] 취소
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 스테이지 전환 시 압축 제안
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
스테이지 전환 감지: {{PREV}} → {{NEXT}}
|
|
158
|
+
|
|
159
|
+
이전 스테이지 컨텍스트를 정리하시겠습니까?
|
|
160
|
+
|
|
161
|
+
[정리 대상]
|
|
162
|
+
• {{PREV}} 관련 토론: ~{{TOKENS}} 토큰
|
|
163
|
+
• 시행착오 기록: ~{{ERROR_TOKENS}} 토큰
|
|
164
|
+
|
|
165
|
+
[유지 항목]
|
|
166
|
+
• HANDOFF.md 내용
|
|
167
|
+
• 핵심 결정사항
|
|
168
|
+
|
|
169
|
+
[Y] 정리 후 전환
|
|
170
|
+
[N] 그대로 전환
|
|
171
|
+
[S] 전체 저장 후 전환
|
|
172
|
+
```
|
|
File without changes
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Output Validator Skill
|
|
2
|
+
|
|
3
|
+
스테이지별 산출물 검증 스킬
|
|
4
|
+
|
|
5
|
+
## 개요
|
|
6
|
+
|
|
7
|
+
각 스테이지의 산출물이 요구사항을 충족하는지 자동으로 검증합니다:
|
|
8
|
+
- 필수 파일 존재 확인
|
|
9
|
+
- 파일 내용 검증
|
|
10
|
+
- 검증 명령어 실행 (lint, test 등)
|
|
11
|
+
- 품질 점수 계산
|
|
12
|
+
|
|
13
|
+
## 트리거
|
|
14
|
+
|
|
15
|
+
- 스테이지 완료 시 자동 실행
|
|
16
|
+
- `/validate` 명령어
|
|
17
|
+
- `/next` 명령어 전 자동 체크
|
|
18
|
+
|
|
19
|
+
## 기능
|
|
20
|
+
|
|
21
|
+
### 1. 파일 존재 확인
|
|
22
|
+
```yaml
|
|
23
|
+
required_outputs:
|
|
24
|
+
ideas.md:
|
|
25
|
+
exists: true
|
|
26
|
+
min_size_bytes: 500
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 2. 내용 검증
|
|
30
|
+
```yaml
|
|
31
|
+
content_checks:
|
|
32
|
+
min_ideas: 5
|
|
33
|
+
has_sections: ["기능", "비기능"]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 3. 명령어 검증
|
|
37
|
+
```yaml
|
|
38
|
+
validation_commands:
|
|
39
|
+
- name: "lint"
|
|
40
|
+
command: "npm run lint"
|
|
41
|
+
required: true
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 4. 품질 점수
|
|
45
|
+
```yaml
|
|
46
|
+
quality_metrics:
|
|
47
|
+
lint_score: 0.9
|
|
48
|
+
test_coverage: 0.8
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 파일 구조
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
output-validator/
|
|
55
|
+
├── README.md # 이 파일
|
|
56
|
+
├── validate.md # 검증 프로세스 가이드
|
|
57
|
+
└── prompts/
|
|
58
|
+
└── CLAUDE.md # AI 지침
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 설정
|
|
62
|
+
|
|
63
|
+
`config/output_validation.yaml` 참조
|
|
64
|
+
|
|
65
|
+
## 사용 예시
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# 현재 스테이지 검증
|
|
69
|
+
/validate
|
|
70
|
+
|
|
71
|
+
# 특정 스테이지 검증
|
|
72
|
+
/validate --stage 06
|
|
73
|
+
|
|
74
|
+
# 상세 리포트
|
|
75
|
+
/validate --verbose
|
|
76
|
+
|
|
77
|
+
# 자동 수정 제안
|
|
78
|
+
/validate --fix
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 출력
|
|
82
|
+
|
|
83
|
+
- 검증 결과 리포트
|
|
84
|
+
- 품질 점수
|
|
85
|
+
- 수정 제안 (실패 시)
|
|
86
|
+
- `state/validations/` 저장
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Output Validator Skill - AI Instructions
|
|
2
|
+
|
|
3
|
+
## 역할
|
|
4
|
+
|
|
5
|
+
당신은 산출물 검증 전문가입니다. 각 스테이지의 산출물이 품질 기준을 충족하는지 확인하고, 문제 발견 시 구체적인 수정 방안을 제시합니다.
|
|
6
|
+
|
|
7
|
+
## 검증 원칙
|
|
8
|
+
|
|
9
|
+
### 1. 완전성 (Completeness)
|
|
10
|
+
- 모든 필수 산출물 존재 확인
|
|
11
|
+
- 필수 섹션/내용 포함 여부
|
|
12
|
+
- 최소 요건 충족 여부
|
|
13
|
+
|
|
14
|
+
### 2. 정확성 (Correctness)
|
|
15
|
+
- 내용의 기술적 정확성
|
|
16
|
+
- 요구사항과의 일치성
|
|
17
|
+
- 문법/형식 오류 없음
|
|
18
|
+
|
|
19
|
+
### 3. 실행 가능성 (Executability)
|
|
20
|
+
- 코드 빌드 가능
|
|
21
|
+
- 테스트 통과
|
|
22
|
+
- 린트/타입체크 통과
|
|
23
|
+
|
|
24
|
+
## 검증 프로세스
|
|
25
|
+
|
|
26
|
+
### 스테이지 전환 전 검증
|
|
27
|
+
```
|
|
28
|
+
1. 현재 스테이지 규칙 로드
|
|
29
|
+
2. 필수 파일 존재 확인
|
|
30
|
+
3. 파일 내용 검증
|
|
31
|
+
4. 검증 명령어 실행
|
|
32
|
+
5. 품질 점수 계산
|
|
33
|
+
6. 결과 리포트 생성
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 결과에 따른 동작
|
|
37
|
+
```
|
|
38
|
+
통과 (점수 ≥ 0.9): 스테이지 전환 허용
|
|
39
|
+
경고 (0.7 ≤ 점수 < 0.9): 경고 표시 후 허용
|
|
40
|
+
실패 (점수 < 0.7): 전환 차단, 수정 필요
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 리포트 형식
|
|
44
|
+
|
|
45
|
+
### 간단 요약
|
|
46
|
+
```
|
|
47
|
+
✅ 검증 통과: 06-implementation
|
|
48
|
+
점수: 0.95 | 통과: 12/12
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 상세 리포트
|
|
52
|
+
```markdown
|
|
53
|
+
# 산출물 검증 리포트
|
|
54
|
+
|
|
55
|
+
## 요약
|
|
56
|
+
- 스테이지: {{stage_id}}
|
|
57
|
+
- 상태: {{status}}
|
|
58
|
+
- 점수: {{score}}
|
|
59
|
+
|
|
60
|
+
## 파일 검증
|
|
61
|
+
| 파일 | 상태 | 상세 |
|
|
62
|
+
|------|------|------|
|
|
63
|
+
|
|
64
|
+
## 명령어 검증
|
|
65
|
+
| 명령 | 결과 | 상세 |
|
|
66
|
+
|------|------|------|
|
|
67
|
+
|
|
68
|
+
## 수정 필요 사항
|
|
69
|
+
- [ ] 수정 사항 1
|
|
70
|
+
- [ ] 수정 사항 2
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 실패 처리
|
|
74
|
+
|
|
75
|
+
### 수정 제안
|
|
76
|
+
실패 항목에 대해 구체적인 수정 방안 제시:
|
|
77
|
+
```markdown
|
|
78
|
+
### 실패: 테스트 미통과
|
|
79
|
+
**위치**: tests/auth.test.ts:45
|
|
80
|
+
**원인**: loginUser 함수 반환값 타입 불일치
|
|
81
|
+
**수정 방안**:
|
|
82
|
+
1. UserService.login 반환 타입 확인
|
|
83
|
+
2. 테스트 기대값 수정
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 오버라이드 처리
|
|
87
|
+
사용자가 강제 진행 요청 시:
|
|
88
|
+
```
|
|
89
|
+
1. 이유 입력 요청
|
|
90
|
+
2. 이유 기록 (HANDOFF에 포함)
|
|
91
|
+
3. 경고와 함께 진행 허용
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 스테이지별 검증 초점
|
|
95
|
+
|
|
96
|
+
### 01-brainstorm
|
|
97
|
+
- 아이디어 다양성
|
|
98
|
+
- 요구사항 구조화
|
|
99
|
+
|
|
100
|
+
### 06-implementation
|
|
101
|
+
- 코드 빌드 성공
|
|
102
|
+
- 린트/타입체크 통과
|
|
103
|
+
- 기본 테스트 통과
|
|
104
|
+
|
|
105
|
+
### 09-testing
|
|
106
|
+
- 테스트 커버리지 80% 이상
|
|
107
|
+
- 모든 테스트 통과
|
|
108
|
+
- E2E 테스트 성공
|
|
109
|
+
|
|
110
|
+
## 금지 사항
|
|
111
|
+
|
|
112
|
+
- 검증 없이 스테이지 전환 허용
|
|
113
|
+
- 실패 원인 없이 결과만 보고
|
|
114
|
+
- 수정 방안 없이 실패 보고
|
|
115
|
+
- 품질 점수 계산 누락
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|