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,192 @@
|
|
|
1
|
+
# Stage Handoff: 06-implementation → 07-refactoring
|
|
2
|
+
|
|
3
|
+
**생성일**: {{TIMESTAMP}}
|
|
4
|
+
**생성자**: ClaudeCode
|
|
5
|
+
**소요 시간**: {{DURATION}}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## AI 사용 기록
|
|
10
|
+
|
|
11
|
+
> 이 섹션은 의도된 AI 설정과 실제 사용을 비교하여 협업 효율성을 추적합니다.
|
|
12
|
+
|
|
13
|
+
### 의도 vs 실제 비교
|
|
14
|
+
|
|
15
|
+
| 항목 | 의도 | 실제 | 일치 |
|
|
16
|
+
|------|------|------|------|
|
|
17
|
+
| Primary AI | ClaudeCode | {{ACTUAL_PRIMARY_AI}} | {{PRIMARY_MATCH}} |
|
|
18
|
+
| Secondary AI | - | {{ACTUAL_SECONDARY_AI}} | - |
|
|
19
|
+
| 협업 모드 | none (단일 AI) | {{ACTUAL_COLLABORATION_MODE}} | {{MODE_MATCH}} |
|
|
20
|
+
| 외부 AI 호출 | 아니오 | {{ACTUAL_EXTERNAL_CALL}} | {{EXTERNAL_MATCH}} |
|
|
21
|
+
|
|
22
|
+
### AI 호출 로그
|
|
23
|
+
|
|
24
|
+
| AI | 호출 시간 | 역할 | 프롬프트 | 결과 | 상태 |
|
|
25
|
+
|----|----------|------|---------|------|------|
|
|
26
|
+
| {{AI_1}} | {{TIME_1}} | {{ROLE_1}} | {{PROMPT_1}} | {{OUTPUT_1}} | {{STATUS_1}} |
|
|
27
|
+
| {{AI_2}} | {{TIME_2}} | {{ROLE_2}} | {{PROMPT_2}} | {{OUTPUT_2}} | {{STATUS_2}} |
|
|
28
|
+
|
|
29
|
+
### 폴백 기록
|
|
30
|
+
|
|
31
|
+
| 시도한 AI | 실패 시간 | 오류 | 폴백 AI | 결과 |
|
|
32
|
+
|----------|----------|------|---------|------|
|
|
33
|
+
| {{FALLBACK_ATTEMPTED}} | {{FALLBACK_TIME}} | {{FALLBACK_ERROR}} | {{FALLBACK_TO}} | {{FALLBACK_RESULT}} |
|
|
34
|
+
|
|
35
|
+
> 설정: `config/ai_collaboration.yaml`, `config/mcp_fallbacks.yaml`
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 완료된 작업
|
|
40
|
+
|
|
41
|
+
- [ ] 프로젝트 스캐폴딩
|
|
42
|
+
- [ ] 공통 컴포넌트 ({{COMPONENT_COUNT}}개)
|
|
43
|
+
- [ ] 핵심 기능 구현
|
|
44
|
+
- [ ] API 엔드포인트 ({{API_COUNT}}개)
|
|
45
|
+
- [ ] **스모크 테스트 실행** (Test-First)
|
|
46
|
+
- [ ] 체크포인트 생성
|
|
47
|
+
- [ ] HANDOFF.md 생성
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 테스트 상태 (Test-First 플로우)
|
|
52
|
+
|
|
53
|
+
> ⚠️ **필수**: 구현 완료 후 스모크 테스트를 실행하여 기본 동작을 확인하세요.
|
|
54
|
+
|
|
55
|
+
### 실행된 테스트
|
|
56
|
+
|
|
57
|
+
| 테스트 유형 | 실행 시간 | 결과 | 비고 |
|
|
58
|
+
|-----------|----------|------|------|
|
|
59
|
+
| `npm run dev` | {{DEV_TIME}} | {{DEV_RESULT}} | 개발 서버 실행 |
|
|
60
|
+
| ESLint | {{LINT_TIME}} | {{LINT_RESULT}} | 정적 분석 |
|
|
61
|
+
| TypeScript | {{TS_TIME}} | {{TS_RESULT}} | 타입 체크 |
|
|
62
|
+
| Playwright 스모크 | {{PLAYWRIGHT_TIME}} | {{PLAYWRIGHT_RESULT}} | UI 기본 동작 |
|
|
63
|
+
|
|
64
|
+
### 발견된 버그
|
|
65
|
+
|
|
66
|
+
| ID | 설명 | 발견 시점 | 상태 | 수정 파일 |
|
|
67
|
+
|----|------|----------|------|----------|
|
|
68
|
+
| {{BUG_ID}} | {{BUG_DESC}} | {{BUG_FOUND}} | {{BUG_STATUS}} | {{BUG_FILE}} |
|
|
69
|
+
|
|
70
|
+
### 테스트 미실행 사유
|
|
71
|
+
|
|
72
|
+
- **미실행 시**: {{TEST_SKIP_REASON}}
|
|
73
|
+
- **권장 조치**: 07-refactoring 전에 기본 테스트 실행 권장
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 다음 에이전트를 위한 컨텍스트
|
|
78
|
+
|
|
79
|
+
### 프로젝트 구조
|
|
80
|
+
```
|
|
81
|
+
source_code/
|
|
82
|
+
├── src/
|
|
83
|
+
│ ├── components/
|
|
84
|
+
│ ├── pages/
|
|
85
|
+
│ ├── api/
|
|
86
|
+
│ ├── lib/
|
|
87
|
+
│ └── styles/
|
|
88
|
+
├── package.json
|
|
89
|
+
└── ...
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 기술 스택 확정
|
|
93
|
+
|
|
94
|
+
| 영역 | 기술 | 버전 |
|
|
95
|
+
|------|------|------|
|
|
96
|
+
| Framework | {{FRAMEWORK}} | {{VERSION}} |
|
|
97
|
+
| UI Library | {{UI_LIB}} | |
|
|
98
|
+
| State | {{STATE_MGMT}} | |
|
|
99
|
+
| API | {{API_STYLE}} | |
|
|
100
|
+
|
|
101
|
+
### 구현 완료 기능
|
|
102
|
+
|
|
103
|
+
| 기능 | 상태 | 파일 | 테스트 상태 |
|
|
104
|
+
|------|------|------|-----------|
|
|
105
|
+
| {{FEATURE_1}} | 완료 | {{FILE_1}} | {{TEST_1}} |
|
|
106
|
+
| {{FEATURE_2}} | 완료 | {{FILE_2}} | {{TEST_2}} |
|
|
107
|
+
| {{FEATURE_3}} | 완료 | {{FILE_3}} | {{TEST_3}} |
|
|
108
|
+
|
|
109
|
+
### 알려진 이슈 / 기술 부채
|
|
110
|
+
1. {{TECH_DEBT_1}}
|
|
111
|
+
2. {{TECH_DEBT_2}}
|
|
112
|
+
|
|
113
|
+
### 리팩토링 필요 영역
|
|
114
|
+
- {{REFACTOR_AREA_1}}: {{REASON_1}}
|
|
115
|
+
- {{REFACTOR_AREA_2}}: {{REASON_2}}
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 체크포인트 정보
|
|
120
|
+
|
|
121
|
+
| ID | 생성일 | 설명 | 자동/수동 |
|
|
122
|
+
|----|--------|------|----------|
|
|
123
|
+
| {{CP_ID}} | {{CP_DATE}} | 스프린트 1 완료 | {{CP_TYPE}} |
|
|
124
|
+
|
|
125
|
+
복구 명령:
|
|
126
|
+
```bash
|
|
127
|
+
scripts/restore-checkpoint.sh {{CP_ID}}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 생성된 산출물
|
|
133
|
+
|
|
134
|
+
| 파일 | 설명 | 검증 상태 |
|
|
135
|
+
|------|------|----------|
|
|
136
|
+
| source_code/ | 구현된 소스 코드 | {{CODE_VALIDATED}} |
|
|
137
|
+
| implementation_log.md | 구현 로그 | - |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 07-refactoring 스테이지 가이드
|
|
142
|
+
|
|
143
|
+
### 즉시 실행할 작업
|
|
144
|
+
1. **회귀 테스트 실행** (Test-First)
|
|
145
|
+
2. 코드 품질 분석 (ESLint, TypeScript)
|
|
146
|
+
3. 중복 코드 식별
|
|
147
|
+
4. 성능 병목 지점 분석
|
|
148
|
+
|
|
149
|
+
### 리팩토링 우선순위
|
|
150
|
+
1. {{REFACTOR_PRIORITY_1}}
|
|
151
|
+
2. {{REFACTOR_PRIORITY_2}}
|
|
152
|
+
3. {{REFACTOR_PRIORITY_3}}
|
|
153
|
+
|
|
154
|
+
### 주의사항
|
|
155
|
+
- ⚠️ **Codex CLI 사용 필수** - 깊이 있는 분석을 위해 `/codex` 명령어 활용
|
|
156
|
+
- 기존 기능 깨뜨리지 않도록 주의
|
|
157
|
+
- 리팩토링 전/후 동작 동일 확인
|
|
158
|
+
- 체크포인트 활용
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 메타데이터
|
|
163
|
+
|
|
164
|
+
```yaml
|
|
165
|
+
stage: "06-implementation"
|
|
166
|
+
status: "completed"
|
|
167
|
+
next_stage: "07-refactoring"
|
|
168
|
+
timestamp: "{{TIMESTAMP}}"
|
|
169
|
+
|
|
170
|
+
ai_usage:
|
|
171
|
+
intended:
|
|
172
|
+
primary: "claudecode"
|
|
173
|
+
secondary: null
|
|
174
|
+
collaboration_mode: "none"
|
|
175
|
+
actual:
|
|
176
|
+
primary: "{{ACTUAL_PRIMARY_AI}}"
|
|
177
|
+
secondary: "{{ACTUAL_SECONDARY_AI}}"
|
|
178
|
+
collaboration_mode: "{{ACTUAL_COLLABORATION_MODE}}"
|
|
179
|
+
fallbacks: {{FALLBACK_COUNT}}
|
|
180
|
+
match_rate: "{{MATCH_RATE}}"
|
|
181
|
+
|
|
182
|
+
testing:
|
|
183
|
+
smoke_test_run: {{SMOKE_TEST_RUN}}
|
|
184
|
+
lint_passed: {{LINT_PASSED}}
|
|
185
|
+
typecheck_passed: {{TYPECHECK_PASSED}}
|
|
186
|
+
bugs_found: {{BUGS_FOUND_COUNT}}
|
|
187
|
+
bugs_fixed: {{BUGS_FIXED_COUNT}}
|
|
188
|
+
|
|
189
|
+
checkpoint_id: "{{CP_ID}}"
|
|
190
|
+
files_created: {{FILE_COUNT}}
|
|
191
|
+
lines_of_code: {{LOC}}
|
|
192
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Stage 06: Implementation Configuration
|
|
2
|
+
|
|
3
|
+
stage:
|
|
4
|
+
id: "06-implementation"
|
|
5
|
+
name: "Implementation"
|
|
6
|
+
description: "핵심 기능 구현"
|
|
7
|
+
|
|
8
|
+
models:
|
|
9
|
+
primary: "claudecode"
|
|
10
|
+
secondary: null
|
|
11
|
+
collaboration: null
|
|
12
|
+
|
|
13
|
+
execution:
|
|
14
|
+
mode: "plan_sandbox"
|
|
15
|
+
container: false
|
|
16
|
+
sandbox: true
|
|
17
|
+
timeout: 14400 # 4 hours
|
|
18
|
+
|
|
19
|
+
inputs:
|
|
20
|
+
required:
|
|
21
|
+
- name: "../05-task-management/outputs/tasks.md"
|
|
22
|
+
- name: "../03-planning/outputs/architecture.md"
|
|
23
|
+
- name: "../03-planning/outputs/implementation.yaml"
|
|
24
|
+
description: "구현 규칙 (Issue #10)"
|
|
25
|
+
- name: "../05-task-management/HANDOFF.md"
|
|
26
|
+
optional:
|
|
27
|
+
- name: "../04-ui-ux/outputs/design_system.md"
|
|
28
|
+
- name: "../03-planning/outputs/tech_stack.md"
|
|
29
|
+
|
|
30
|
+
outputs:
|
|
31
|
+
required:
|
|
32
|
+
- name: "source_code/"
|
|
33
|
+
description: "구현된 소스 코드"
|
|
34
|
+
- name: "implementation_log.md"
|
|
35
|
+
description: "구현 로그"
|
|
36
|
+
- name: "HANDOFF.md"
|
|
37
|
+
|
|
38
|
+
prompts:
|
|
39
|
+
- name: "scaffolding"
|
|
40
|
+
file: "prompts/scaffolding.md"
|
|
41
|
+
model: "claudecode"
|
|
42
|
+
- name: "component_impl"
|
|
43
|
+
file: "prompts/component_impl.md"
|
|
44
|
+
model: "claudecode"
|
|
45
|
+
- name: "api_impl"
|
|
46
|
+
file: "prompts/api_impl.md"
|
|
47
|
+
model: "claudecode"
|
|
48
|
+
|
|
49
|
+
completion:
|
|
50
|
+
checklist:
|
|
51
|
+
- "프로젝트 스캐폴딩 완료"
|
|
52
|
+
- "공통 컴포넌트 구현"
|
|
53
|
+
- "핵심 기능 구현"
|
|
54
|
+
- "API 엔드포인트 구현"
|
|
55
|
+
- "체크포인트 생성"
|
|
56
|
+
|
|
57
|
+
transition:
|
|
58
|
+
next_stage: "07-refactoring"
|
|
59
|
+
prerequisites:
|
|
60
|
+
- "05-task-management"
|
|
61
|
+
handoff_required: true
|
|
62
|
+
checkpoint_required: true # 필수!
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# AI 협업 프롬프트 - Implementation
|
|
2
|
+
|
|
3
|
+
## 협업 모드: Sequential Handoff
|
|
4
|
+
|
|
5
|
+
이 스테이지에서는 **순차적 전달** 모드를 사용하여 구현 → 리뷰 → 개선 사이클을 진행합니다.
|
|
6
|
+
|
|
7
|
+
### 참여 모델
|
|
8
|
+
- **ClaudeCode**: 코드 생성, 구현
|
|
9
|
+
|
|
10
|
+
### 협업 프롬프트
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
# 구현 → 셀프 리뷰 → 개선
|
|
14
|
+
/collaborate --mode sequential --chain "claudecode:implement -> claudecode:review -> claudecode:improve"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### AI 벤치마킹 (선택적)
|
|
18
|
+
|
|
19
|
+
복잡한 알고리즘 구현 시:
|
|
20
|
+
```
|
|
21
|
+
/benchmark --task "sorting_algorithm" --models "claude,codex"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 작업 흐름
|
|
25
|
+
|
|
26
|
+
1. **스캐폴딩**: 프로젝트 초기화
|
|
27
|
+
2. **공통 컴포넌트**: 디자인 시스템 기반
|
|
28
|
+
3. **기능 구현**: 스프린트 태스크 순차 구현
|
|
29
|
+
4. **통합**: API/DB 연동
|
|
30
|
+
|
|
31
|
+
### 체크포인트 트리거
|
|
32
|
+
|
|
33
|
+
- 스프린트 완료 시
|
|
34
|
+
- 주요 기능 완료 시
|
|
35
|
+
- 100줄 이상 변경 시
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
/checkpoint --reason "스프린트 1 완료"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### implementation.yaml 준수
|
|
42
|
+
|
|
43
|
+
구현 전 반드시 확인:
|
|
44
|
+
```yaml
|
|
45
|
+
# 예시 규칙
|
|
46
|
+
component_type: functional
|
|
47
|
+
styling: tailwind
|
|
48
|
+
state_management: zustand
|
|
49
|
+
naming: camelCase
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 출력 형식
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
## 구현 로그
|
|
56
|
+
|
|
57
|
+
### [날짜] - [태스크]
|
|
58
|
+
- 구현 내용
|
|
59
|
+
- 변경된 파일
|
|
60
|
+
- 테스트 결과
|
|
61
|
+
|
|
62
|
+
### 체크포인트
|
|
63
|
+
- checkpoint_YYYYMMDD_HHMMSS
|
|
64
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 산출물 검증 프롬프트 - Implementation
|
|
2
|
+
|
|
3
|
+
## 검증 대상
|
|
4
|
+
|
|
5
|
+
| 산출물 | 필수 조건 | 검증 방법 |
|
|
6
|
+
|--------|----------|----------|
|
|
7
|
+
| `source_code/` | Lint 통과 | `npm run lint` |
|
|
8
|
+
| `source_code/` | Type 체크 통과 | `npm run typecheck` |
|
|
9
|
+
| `implementation_log.md` | 변경 기록 | 구조 확인 |
|
|
10
|
+
| `HANDOFF.md` | 체크포인트 참조 | 항목 확인 |
|
|
11
|
+
|
|
12
|
+
## 검증 명령
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
/validate --stage 06-implementation
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 품질 기준
|
|
19
|
+
|
|
20
|
+
### source_code/
|
|
21
|
+
- [ ] ESLint 에러 없음
|
|
22
|
+
- [ ] TypeScript 타입 에러 없음
|
|
23
|
+
- [ ] 폴더 구조 준수 (implementation.yaml)
|
|
24
|
+
- [ ] 네이밍 규칙 준수
|
|
25
|
+
- [ ] 코드 포맷팅 적용
|
|
26
|
+
|
|
27
|
+
### implementation_log.md
|
|
28
|
+
- [ ] 구현된 태스크 목록
|
|
29
|
+
- [ ] 변경된 파일 목록
|
|
30
|
+
- [ ] 알려진 이슈/기술 부채
|
|
31
|
+
|
|
32
|
+
### HANDOFF.md
|
|
33
|
+
- [ ] 완료된 기능 체크리스트
|
|
34
|
+
- [ ] 체크포인트 참조
|
|
35
|
+
- [ ] 리팩토링 필요 항목
|
|
36
|
+
|
|
37
|
+
## 자동 검증 스크립트
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Lint 검사
|
|
41
|
+
npm run lint
|
|
42
|
+
|
|
43
|
+
# Type 검사
|
|
44
|
+
npm run typecheck
|
|
45
|
+
|
|
46
|
+
# 빌드 검증
|
|
47
|
+
npm run build
|
|
48
|
+
|
|
49
|
+
# 기본 테스트
|
|
50
|
+
npm run test -- --passWithNoTests
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 코드 품질 메트릭
|
|
54
|
+
|
|
55
|
+
| 메트릭 | 기준 | 명령 |
|
|
56
|
+
|--------|------|------|
|
|
57
|
+
| Lint 에러 | 0 | `npm run lint` |
|
|
58
|
+
| Type 에러 | 0 | `npm run typecheck` |
|
|
59
|
+
| 빌드 성공 | Yes | `npm run build` |
|
|
60
|
+
|
|
61
|
+
## 실패 시 조치
|
|
62
|
+
|
|
63
|
+
1. Lint 에러 → `npm run lint --fix`
|
|
64
|
+
2. Type 에러 → 타입 수정
|
|
65
|
+
3. 빌드 실패 → 에러 로그 분석 후 수정
|
|
File without changes
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Stage 07: Refactoring
|
|
2
|
+
|
|
3
|
+
> ⚠️ **필수 AI 모델: Codex**
|
|
4
|
+
> 이 스테이지의 핵심 작업(코드 분석, 리팩토링, 최적화)은 `/codex` 명령어로 수행하세요.
|
|
5
|
+
> ClaudeCode는 간단한 파일 조작 및 빌드/테스트 실행에만 사용합니다.
|
|
6
|
+
|
|
7
|
+
코드 품질 개선 및 최적화 단계
|
|
8
|
+
|
|
9
|
+
## 🎭 페르소나: Code Surgeon
|
|
10
|
+
|
|
11
|
+
> 당신은 Code Surgeon입니다.
|
|
12
|
+
> 코드의 본질을 유지하면서 품질을 개선하세요.
|
|
13
|
+
> 성능, 가독성, 유지보수성을 균형있게 최적화하세요.
|
|
14
|
+
|
|
15
|
+
### 특성
|
|
16
|
+
- 깊이 있는 분석
|
|
17
|
+
- 성능 최적화
|
|
18
|
+
- 기술 부채 해소
|
|
19
|
+
- 패턴 적용
|
|
20
|
+
|
|
21
|
+
### 권장 행동
|
|
22
|
+
- 코드 복잡도 감소
|
|
23
|
+
- 성능 병목 해결
|
|
24
|
+
- 디자인 패턴 적용
|
|
25
|
+
- 중복 제거
|
|
26
|
+
|
|
27
|
+
### 지양 행동
|
|
28
|
+
- 불필요한 변경
|
|
29
|
+
- 과도한 추상화
|
|
30
|
+
- 동작 변경
|
|
31
|
+
|
|
32
|
+
### AI 설정
|
|
33
|
+
- **Temperature**: 0.5 (균형 잡힌 분석)
|
|
34
|
+
- **분석 깊이**: Deep
|
|
35
|
+
|
|
36
|
+
## 실행 모델
|
|
37
|
+
- **Primary**: Codex (코드 분석 및 최적화)
|
|
38
|
+
- **Secondary**: ClaudeCode (복잡한 리팩토링)
|
|
39
|
+
- **Mode**: Deep Dive - 심층 코드 분석
|
|
40
|
+
|
|
41
|
+
## 목표
|
|
42
|
+
1. 코드 품질 개선
|
|
43
|
+
2. 중복 제거
|
|
44
|
+
3. 성능 최적화
|
|
45
|
+
4. 아키텍처 개선
|
|
46
|
+
|
|
47
|
+
## 입력 파일
|
|
48
|
+
- `../06-implementation/outputs/source_code/`
|
|
49
|
+
- `../06-implementation/outputs/implementation_log.md`
|
|
50
|
+
- `../06-implementation/HANDOFF.md`
|
|
51
|
+
|
|
52
|
+
## 출력 파일
|
|
53
|
+
- `outputs/refactored_code/` - 리팩토링된 코드
|
|
54
|
+
- `outputs/refactoring_report.md` - 리팩토링 보고서
|
|
55
|
+
- `HANDOFF.md` - 다음 스테이지 인계 문서
|
|
56
|
+
|
|
57
|
+
## Codex CLI 활용
|
|
58
|
+
|
|
59
|
+
### 코드 분석
|
|
60
|
+
```bash
|
|
61
|
+
/codex "다음 코드의 개선점을 분석해주세요:
|
|
62
|
+
- 중복 코드
|
|
63
|
+
- 성능 병목
|
|
64
|
+
- 디자인 패턴 위반
|
|
65
|
+
- 타입 안전성 문제"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 리팩토링 실행
|
|
69
|
+
```bash
|
|
70
|
+
/codex "다음 함수를 리팩토링해주세요:
|
|
71
|
+
[코드 블록]
|
|
72
|
+
목표: 가독성 향상, 성능 최적화"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 워크플로우
|
|
76
|
+
|
|
77
|
+
### 1. 코드 분석
|
|
78
|
+
- 정적 분석 실행 (ESLint, TypeScript)
|
|
79
|
+
- 복잡도 분석 (Cyclomatic complexity)
|
|
80
|
+
- 의존성 분석
|
|
81
|
+
|
|
82
|
+
### 2. 리팩토링 계획
|
|
83
|
+
- 개선 영역 식별
|
|
84
|
+
- 우선순위 결정
|
|
85
|
+
- 영향 범위 평가
|
|
86
|
+
|
|
87
|
+
### 3. 리팩토링 실행
|
|
88
|
+
- 작은 단위로 수행
|
|
89
|
+
- 각 변경 후 테스트
|
|
90
|
+
- 커밋 메시지에 변경 사항 기록
|
|
91
|
+
|
|
92
|
+
### 4. 최적화
|
|
93
|
+
- 번들 사이즈 최적화
|
|
94
|
+
- 렌더링 최적화
|
|
95
|
+
- API 호출 최적화
|
|
96
|
+
|
|
97
|
+
## 체크포인트 규칙
|
|
98
|
+
- **필수**: 이 스테이지는 체크포인트가 필수입니다
|
|
99
|
+
- 주요 리팩토링 전 체크포인트 생성
|
|
100
|
+
- 롤백 가능 상태 유지
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## ⚠️ AI 사용 기록 (필수)
|
|
105
|
+
|
|
106
|
+
> **중요**: 이 스테이지는 Codex CLI를 사용해야 합니다.
|
|
107
|
+
> Codex 호출 실패 시 ClaudeCode로 폴백되며, 이 경우 HANDOFF.md에 반드시 기록해야 합니다.
|
|
108
|
+
|
|
109
|
+
### Codex 호출 전 확인
|
|
110
|
+
```bash
|
|
111
|
+
# 1. Codex CLI 설치 확인
|
|
112
|
+
which codex
|
|
113
|
+
|
|
114
|
+
# 2. tmux 세션 확인
|
|
115
|
+
tmux ls
|
|
116
|
+
|
|
117
|
+
# 3. 사전 점검 (권장)
|
|
118
|
+
./scripts/pre-run-check.sh
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Codex 폴백 시 HANDOFF.md 기록
|
|
122
|
+
Codex CLI 사용이 불가능하여 ClaudeCode로 폴백한 경우:
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
### 폴백 기록
|
|
126
|
+
|
|
127
|
+
| 시도한 AI | 실패 시간 | 오류 | 폴백 AI | 결과 |
|
|
128
|
+
|----------|----------|------|---------|------|
|
|
129
|
+
| Codex | HH:MM | [오류 내용] | ClaudeCode | 성공/실패 |
|
|
130
|
+
|
|
131
|
+
**폴백 사유**: [상세 사유]
|
|
132
|
+
**영향**: Codex의 깊이 있는 분석 미활용
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## ⚠️ Test-First 플로우 (필수)
|
|
138
|
+
|
|
139
|
+
> **중요**: 리팩토링 후 기존 기능이 깨지지 않았는지 반드시 회귀 테스트를 실행하세요.
|
|
140
|
+
|
|
141
|
+
### 리팩토링 완료 후 필수 테스트
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# 1. 기존 테스트 실행 (회귀 방지)
|
|
145
|
+
npm run test
|
|
146
|
+
|
|
147
|
+
# 2. 정적 분석
|
|
148
|
+
npm run lint
|
|
149
|
+
|
|
150
|
+
# 3. 타입 체크
|
|
151
|
+
npm run typecheck
|
|
152
|
+
|
|
153
|
+
# 4. 개발 서버 실행 확인
|
|
154
|
+
npm run dev
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### 테스트 실패 시 조치
|
|
158
|
+
1. **회귀 테스트 실패**: 리팩토링 롤백 또는 수정
|
|
159
|
+
2. **lint 오류**: 리팩토링된 코드 수정
|
|
160
|
+
3. **typecheck 오류**: 타입 정의 수정
|
|
161
|
+
4. **동작 변경 발견**: 의도적 변경인지 확인, 아니면 롤백
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 완료 조건
|
|
166
|
+
- [ ] 코드 품질 분석 완료
|
|
167
|
+
- [ ] 중복 코드 제거
|
|
168
|
+
- [ ] 성능 최적화 적용
|
|
169
|
+
- [ ] **회귀 테스트 실행** (Test-First)
|
|
170
|
+
- [ ] **lint/typecheck 통과**
|
|
171
|
+
- [ ] 리팩토링 보고서 작성
|
|
172
|
+
- [ ] 체크포인트 생성
|
|
173
|
+
- [ ] HANDOFF.md 생성 (AI 사용/폴백 기록 포함)
|
|
174
|
+
|
|
175
|
+
## 다음 스테이지
|
|
176
|
+
→ **08-qa**: 품질 보증 및 코드 리뷰
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# HANDOFF: 07-refactoring → 08-qa
|
|
2
|
+
|
|
3
|
+
> 생성일: 2026-01-21
|
|
4
|
+
> 프로젝트: snake-game
|
|
5
|
+
> 현재 스테이지: 07-refactoring (완료)
|
|
6
|
+
> 다음 스테이지: 08-qa
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ✅ 완료된 작업
|
|
11
|
+
|
|
12
|
+
- [x] ESLint 오류 수정 (useGameLoop)
|
|
13
|
+
- [x] Ref 패턴으로 stale closure 문제 해결
|
|
14
|
+
- [x] 코드 품질 분석 완료
|
|
15
|
+
- [x] 빌드 검증 완료
|
|
16
|
+
- [x] 리팩토링 보고서 작성
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📁 생성/수정된 파일
|
|
21
|
+
|
|
22
|
+
| 파일 | 변경 유형 | 설명 |
|
|
23
|
+
|------|----------|------|
|
|
24
|
+
| `src/hooks/useGameLoop.ts` | 수정 | Ref 패턴으로 리팩토링 |
|
|
25
|
+
| `outputs/refactoring_report.md` | 생성 | 리팩토링 보고서 |
|
|
26
|
+
| `HANDOFF.md` | 생성 | 인계 문서 |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🔍 코드 품질 상태
|
|
31
|
+
|
|
32
|
+
| 항목 | 상태 |
|
|
33
|
+
|------|------|
|
|
34
|
+
| ESLint | ✅ 0 errors |
|
|
35
|
+
| TypeScript | ✅ 컴파일 성공 |
|
|
36
|
+
| 빌드 | ✅ 성공 |
|
|
37
|
+
| 번들 크기 | ✅ 204KB (목표 200KB 근접) |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🎯 08-qa 권장 테스트 항목
|
|
42
|
+
|
|
43
|
+
### 기능 테스트
|
|
44
|
+
- [ ] 게임 시작/재시작
|
|
45
|
+
- [ ] 방향키 입력 (Arrow, WASD)
|
|
46
|
+
- [ ] 먹이 먹기 및 성장
|
|
47
|
+
- [ ] 벽 충돌 게임 오버
|
|
48
|
+
- [ ] 자기 몸 충돌 게임 오버
|
|
49
|
+
- [ ] 점수 증가 및 표시
|
|
50
|
+
- [ ] 레벨업 및 속도 증가
|
|
51
|
+
- [ ] 일시정지/재개
|
|
52
|
+
- [ ] 최고 점수 저장/불러오기
|
|
53
|
+
|
|
54
|
+
### 엣지 케이스
|
|
55
|
+
- [ ] 빠른 연속 방향 전환
|
|
56
|
+
- [ ] 벽 바로 앞에서 방향 전환
|
|
57
|
+
- [ ] 게임 오버 직후 즉시 재시작
|
|
58
|
+
- [ ] 탭 전환 후 게임 상태
|
|
59
|
+
|
|
60
|
+
### 브라우저 호환성
|
|
61
|
+
- [ ] Chrome
|
|
62
|
+
- [ ] Firefox
|
|
63
|
+
- [ ] Safari
|
|
64
|
+
- [ ] Edge
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 🚀 다음 단계
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# 08-qa 스테이지 실행
|
|
72
|
+
/run-stage 08-qa
|
|
73
|
+
|
|
74
|
+
# 또는
|
|
75
|
+
/qa
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
**생성자**: ClaudeCode
|
|
81
|
+
**검토자**: -
|
|
82
|
+
**승인**: 대기
|