create-ax-project 1.0.0 → 1.0.1

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.
Files changed (62) hide show
  1. package/package.json +1 -1
  2. package/template/.claude/CLAUDE.md +0 -7
  3. package/template/.claude/commands/CLAUDE.md +0 -0
  4. package/template/.claude/hooks/CLAUDE.md +0 -0
  5. package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
  6. package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
  7. package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
  8. package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
  9. package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
  10. package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
  11. package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
  12. package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
  13. package/template/config/CLAUDE.md +0 -0
  14. package/template/scripts/CLAUDE.md +0 -0
  15. package/template/stages/01-brainstorm/HANDOFF.md +0 -110
  16. package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
  17. package/template/stages/01-brainstorm/inputs/project_brief.md +0 -40
  18. package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
  19. package/template/stages/01-brainstorm/outputs/ideas.md +0 -159
  20. package/template/stages/01-brainstorm/outputs/requirements_analysis.md +0 -222
  21. package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
  22. package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
  23. package/template/stages/02-research/HANDOFF.md +0 -158
  24. package/template/stages/02-research/outputs/CLAUDE.md +0 -0
  25. package/template/stages/02-research/outputs/feasibility_report.md +0 -176
  26. package/template/stages/02-research/outputs/tech_research.md +0 -403
  27. package/template/stages/02-research/prompts/CLAUDE.md +0 -0
  28. package/template/stages/03-planning/HANDOFF.md +0 -168
  29. package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
  30. package/template/stages/03-planning/outputs/architecture.md +0 -400
  31. package/template/stages/03-planning/outputs/implementation.yaml +0 -209
  32. package/template/stages/03-planning/outputs/project_plan.md +0 -204
  33. package/template/stages/03-planning/outputs/tech_stack.md +0 -176
  34. package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
  35. package/template/stages/04-ui-ux/HANDOFF.md +0 -165
  36. package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
  37. package/template/stages/04-ui-ux/outputs/design_system.md +0 -449
  38. package/template/stages/04-ui-ux/outputs/user_flows.md +0 -321
  39. package/template/stages/04-ui-ux/outputs/wireframes.md +0 -241
  40. package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
  41. package/template/stages/05-task-management/HANDOFF.md +0 -187
  42. package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
  43. package/template/stages/05-task-management/outputs/milestones.md +0 -253
  44. package/template/stages/05-task-management/outputs/sprint_plan.md +0 -203
  45. package/template/stages/05-task-management/outputs/tasks.md +0 -402
  46. package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
  47. package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
  48. package/template/stages/06-implementation/HANDOFF.md +0 -184
  49. package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
  50. package/template/stages/07-refactoring/HANDOFF.md +0 -82
  51. package/template/stages/07-refactoring/outputs/refactoring_report.md +0 -102
  52. package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
  53. package/template/stages/08-qa/HANDOFF.md +0 -114
  54. package/template/stages/08-qa/outputs/qa_report.md +0 -138
  55. package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
  56. package/template/stages/09-testing/HANDOFF.md +0 -118
  57. package/template/stages/09-testing/outputs/test_report.md +0 -146
  58. package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
  59. package/template/stages/10-deployment/HANDOFF.md +0 -141
  60. package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
  61. package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
  62. package/template/state/templates/CLAUDE.md +0 -0
@@ -1,187 +0,0 @@
1
- # HANDOFF: 05-task-management → 06-implementation
2
-
3
- > 생성일: 2026-01-21
4
- > 프로젝트: snake-game
5
- > 현재 스테이지: 05-task-management (완료)
6
- > 다음 스테이지: 06-implementation
7
-
8
- ---
9
-
10
- ## ✅ 완료된 작업
11
-
12
- - [x] 25개 태스크 분해 (6개 에픽)
13
- - [x] 4개 스프린트 계획
14
- - [x] 4개 마일스톤 정의
15
- - [x] 의존성 그래프 작성
16
- - [x] 우선순위 지정 (MoSCoW)
17
-
18
- ---
19
-
20
- ## 📁 생성된 산출물
21
-
22
- | 파일 | 설명 |
23
- |------|------|
24
- | `outputs/tasks.md` | 25개 태스크 상세 목록 |
25
- | `outputs/sprint_plan.md` | 4개 스프린트 계획 |
26
- | `outputs/milestones.md` | 4개 마일스톤 정의 |
27
- | `HANDOFF.md` | 이 문서 |
28
-
29
- ---
30
-
31
- ## 🚀 06-implementation 즉시 실행 태스크
32
-
33
- ### Sprint 1 태스크 (순서대로)
34
-
35
- | 순서 | ID | 태스크 | 예상 시간 |
36
- |------|-----|--------|----------|
37
- | 1 | TASK-001 | Vite + React + TS 프로젝트 초기화 | 10분 |
38
- | 2 | TASK-002 | 타입 정의 (types/index.ts) | 15분 |
39
- | 3 | TASK-003 | 상수 정의 (constants/config.ts) | 10분 |
40
- | 4 | TASK-004 | 글로벌 스타일 (styles/index.css) | 15분 |
41
- | 5 | TASK-005 | useGameLoop 훅 | 20분 |
42
- | 6 | TASK-007 | collision.ts | 15분 |
43
- | 7 | TASK-009 | random.ts | 10분 |
44
- | 8 | TASK-008 | renderer.ts | 25분 |
45
- | 9 | TASK-006 | gameReducer | 30분 |
46
- | 10 | TASK-016 | useKeyboard 훅 | 20분 |
47
-
48
- ---
49
-
50
- ## 📐 프로젝트 구조 (목표)
51
-
52
- ```
53
- snake-game/
54
- ├── public/
55
- │ └── favicon.svg
56
- ├── src/
57
- │ ├── components/
58
- │ │ ├── CanvasLayer.tsx
59
- │ │ ├── CanvasLayer.module.css
60
- │ │ ├── ScoreBoard.tsx
61
- │ │ ├── ScoreBoard.module.css
62
- │ │ ├── StartScreen.tsx
63
- │ │ ├── GameOverModal.tsx
64
- │ │ └── MobileControls.tsx
65
- │ │
66
- │ ├── hooks/
67
- │ │ ├── useGameLoop.ts
68
- │ │ ├── useKeyboard.ts
69
- │ │ ├── useSwipe.ts
70
- │ │ └── useHighScore.ts
71
- │ │
72
- │ ├── engine/
73
- │ │ ├── gameReducer.ts
74
- │ │ ├── collision.ts
75
- │ │ └── renderer.ts
76
- │ │
77
- │ ├── types/
78
- │ │ └── index.ts
79
- │ │
80
- │ ├── constants/
81
- │ │ └── config.ts
82
- │ │
83
- │ ├── utils/
84
- │ │ └── random.ts
85
- │ │
86
- │ ├── styles/
87
- │ │ └── index.css
88
- │ │
89
- │ ├── App.tsx
90
- │ ├── GameEngine.tsx
91
- │ └── main.tsx
92
-
93
- ├── index.html
94
- ├── package.json
95
- ├── tsconfig.json
96
- └── vite.config.ts
97
- ```
98
-
99
- ---
100
-
101
- ## 🎯 핵심 구현 사항
102
-
103
- ### 1. 타입 정의 (TASK-002)
104
-
105
- ```typescript
106
- // 필수 타입
107
- export interface Point { x: number; y: number; }
108
- export type Direction = 'UP' | 'DOWN' | 'LEFT' | 'RIGHT';
109
- export type GameStatus = 'IDLE' | 'PLAYING' | 'PAUSED' | 'GAME_OVER';
110
- export interface GameState { ... }
111
- export type GameAction = { type: '...' } | ...;
112
- ```
113
-
114
- ### 2. 게임 설정 (TASK-003)
115
-
116
- ```typescript
117
- export const GAME_CONFIG = {
118
- boardSize: 20,
119
- cellSize: 20,
120
- initialSpeed: 150,
121
- speedDecrement: 10,
122
- minSpeed: 50,
123
- pointsPerFood: 10,
124
- pointsForLevelUp: 50,
125
- };
126
- ```
127
-
128
- ### 3. 디자인 토큰 (TASK-004)
129
-
130
- ```css
131
- :root {
132
- --color-primary: #00ff88;
133
- --color-secondary: #ff6b6b;
134
- --color-bg: #1a1a2e;
135
- --color-surface: #16213e;
136
- }
137
- ```
138
-
139
- ---
140
-
141
- ## ⚠️ 주의사항
142
-
143
- 1. **순서 준수**: 의존성 순서대로 구현
144
- 2. **타입 우선**: 모든 코드에 타입 적용
145
- 3. **함수형 컴포넌트**: Class 컴포넌트 금지
146
- 4. **CSS Modules**: 스타일 스코프 격리
147
- 5. **외부 엔진 금지**: 순수 React + Canvas
148
-
149
- ---
150
-
151
- ## 📊 예상 시간
152
-
153
- | 항목 | 시간 |
154
- |------|------|
155
- | Sprint 1 (MVP 기반) | ~2시간 50분 |
156
- | Sprint 2 (MVP 완성) | ~2시간 25분 |
157
- | **06-implementation 총계** | ~5시간 15분 |
158
-
159
- ---
160
-
161
- ## 🔗 참조 문서
162
-
163
- | 문서 | 경로 |
164
- |------|------|
165
- | 아키텍처 | `stages/03-planning/outputs/architecture.md` |
166
- | 기술 스택 | `stages/03-planning/outputs/tech_stack.md` |
167
- | 구현 규칙 | `stages/03-planning/outputs/implementation.yaml` |
168
- | 와이어프레임 | `stages/04-ui-ux/outputs/wireframes.md` |
169
- | 디자인 시스템 | `stages/04-ui-ux/outputs/design_system.md` |
170
-
171
- ---
172
-
173
- ## 🚀 다음 단계
174
-
175
- ```bash
176
- # 다음 스테이지 실행
177
- /run-stage 06-implementation
178
-
179
- # 또는
180
- /implement
181
- ```
182
-
183
- ---
184
-
185
- **생성자**: ClaudeCode
186
- **검토자**: -
187
- **승인**: 대기
@@ -1,253 +0,0 @@
1
- # 🎯 Snake Game - 마일스톤 정의
2
-
3
- > 생성일: 2026-01-21
4
- > 스테이지: 05-task-management
5
- > 프로젝트: snake-game
6
-
7
- ---
8
-
9
- ## 마일스톤 개요
10
-
11
- | ID | 마일스톤 | 목표 | 완료 스테이지 |
12
- |----|---------|------|-------------|
13
- | M1 | MVP 기반 | 게임 코어 로직 완성 | 06-implementation (전반) |
14
- | M2 | MVP 완성 | 플레이 가능한 게임 | 06-implementation (완료) |
15
- | M3 | 품질 개선 | 모바일 지원 + 버그 수정 | 08-qa |
16
- | M4 | 배포 | 프로덕션 배포 | 10-deployment |
17
-
18
- ---
19
-
20
- ## M1: MVP 기반 (Foundation)
21
-
22
- ### 목표
23
- 게임의 핵심 로직과 인프라를 구축합니다.
24
-
25
- ### 포함 태스크
26
- - TASK-001 ~ TASK-009, TASK-016
27
-
28
- ### 산출물
29
-
30
- | 산출물 | 위치 | 설명 |
31
- |--------|------|------|
32
- | 프로젝트 구조 | `snake-game/` | Vite + React + TS |
33
- | 타입 정의 | `src/types/index.ts` | 모든 게임 타입 |
34
- | 상수 | `src/constants/config.ts` | 게임 설정값 |
35
- | 게임 루프 훅 | `src/hooks/useGameLoop.ts` | rAF 기반 |
36
- | 키보드 훅 | `src/hooks/useKeyboard.ts` | 방향키 처리 |
37
- | 충돌 감지 | `src/engine/collision.ts` | 벽/몸통/먹이 |
38
- | 렌더러 | `src/engine/renderer.ts` | Canvas 렌더링 |
39
- | 리듀서 | `src/engine/gameReducer.ts` | 상태 관리 |
40
- | 유틸리티 | `src/utils/random.ts` | 랜덤 위치 |
41
-
42
- ### 성공 기준
43
-
44
- ```
45
- [ ] TypeScript 컴파일 성공 (tsc --noEmit)
46
- [ ] ESLint 경고 0개
47
- [ ] 콘솔에서 게임 루프 틱 확인
48
- [ ] 빈 Canvas에 그리드 렌더링
49
- [ ] 키보드 입력 감지 (콘솔 로그)
50
- ```
51
-
52
- ### 검증 방법
53
-
54
- ```bash
55
- # 타입 체크
56
- npm run typecheck
57
-
58
- # 린트
59
- npm run lint
60
-
61
- # 개발 서버 실행 후 콘솔 확인
62
- npm run dev
63
- ```
64
-
65
- ---
66
-
67
- ## M2: MVP 완성 (Playable)
68
-
69
- ### 목표
70
- 사용자가 실제로 플레이할 수 있는 게임을 완성합니다.
71
-
72
- ### 포함 태스크
73
- - TASK-010 ~ TASK-014, TASK-018 ~ TASK-021
74
-
75
- ### 산출물
76
-
77
- | 산출물 | 위치 | 설명 |
78
- |--------|------|------|
79
- | GameEngine | `src/GameEngine.tsx` | 게임 통합 컴포넌트 |
80
- | CanvasLayer | `src/components/CanvasLayer.tsx` | Canvas 래퍼 |
81
- | ScoreBoard | `src/components/ScoreBoard.tsx` | 점수판 |
82
- | GameOverModal | `src/components/GameOverModal.tsx` | 게임 오버 |
83
- | useHighScore | `src/hooks/useHighScore.ts` | 최고 점수 |
84
- | 스타일 | `src/styles/` | CSS Modules |
85
-
86
- ### 성공 기준
87
-
88
- ```
89
- [ ] 방향키로 뱀 조작 가능
90
- [ ] 먹이 먹으면 뱀 성장 + 점수 증가
91
- [ ] 벽/몸통 충돌 시 게임 오버
92
- [ ] 게임 오버 모달에서 재시작 가능
93
- [ ] 최고 점수 localStorage 저장/불러오기
94
- [ ] 레벨업 시 속도 증가
95
- [ ] 일시정지/재개 동작
96
- ```
97
-
98
- ### 검증 방법
99
-
100
- ```bash
101
- # 개발 서버에서 직접 플레이
102
- npm run dev
103
-
104
- # 체크리스트
105
- # 1. 방향키로 이동
106
- # 2. 먹이 먹기
107
- # 3. 벽에 부딪히기
108
- # 4. 재시작
109
- # 5. 최고 점수 확인
110
- ```
111
-
112
- ---
113
-
114
- ## M3: 품질 개선 (Quality)
115
-
116
- ### 목표
117
- 모바일 지원, 코드 품질, 버그 수정을 완료합니다.
118
-
119
- ### 포함 태스크
120
- - TASK-015, TASK-017, TASK-013
121
- - 07-refactoring, 08-qa 태스크
122
-
123
- ### 산출물
124
-
125
- | 산출물 | 위치 | 설명 |
126
- |--------|------|------|
127
- | useSwipe | `src/hooks/useSwipe.ts` | 터치 스와이프 |
128
- | MobileControls | `src/components/MobileControls.tsx` | D-Pad |
129
- | StartScreen | `src/components/StartScreen.tsx` | 시작 화면 |
130
- | 리팩토링 결과 | - | 코드 개선 |
131
- | 버그 수정 | - | 이슈 해결 |
132
-
133
- ### 성공 기준
134
-
135
- ```
136
- [ ] 모바일에서 스와이프로 조작 가능
137
- [ ] 모바일에서 D-Pad로 조작 가능
138
- [ ] 시작 화면 표시
139
- [ ] 코드 중복 제거
140
- [ ] 60fps 유지 (Chrome DevTools)
141
- [ ] 알려진 버그 0개
142
- [ ] 반응형 레이아웃 동작
143
- ```
144
-
145
- ### 검증 방법
146
-
147
- ```bash
148
- # 모바일 에뮬레이션
149
- # Chrome DevTools > Device Toolbar
150
-
151
- # 성능 확인
152
- # Chrome DevTools > Performance Tab
153
-
154
- # 버그 체크리스트
155
- # - 빠른 방향 전환
156
- # - 경계 조건 (벽 바로 앞에서 방향 전환)
157
- # - 긴 플레이 시 메모리 누수
158
- ```
159
-
160
- ---
161
-
162
- ## M4: 배포 (Deployment)
163
-
164
- ### 목표
165
- 프로덕션 환경에 배포하고 테스트를 완료합니다.
166
-
167
- ### 포함 태스크
168
- - TASK-022 ~ TASK-025
169
-
170
- ### 산출물
171
-
172
- | 산출물 | 위치 | 설명 |
173
- |--------|------|------|
174
- | 단위 테스트 | `src/__tests__/` | Vitest |
175
- | E2E 테스트 | `e2e/` | Playwright |
176
- | 빌드 | `dist/` | 프로덕션 빌드 |
177
- | 배포 URL | - | 공개 URL |
178
-
179
- ### 성공 기준
180
-
181
- ```
182
- [ ] 단위 테스트 커버리지 80%+
183
- [ ] E2E 테스트 통과 (선택)
184
- [ ] 빌드 성공
185
- [ ] 번들 크기 < 200KB
186
- [ ] 배포 URL 접근 가능
187
- [ ] 프로덕션에서 게임 플레이 가능
188
- [ ] 모바일 브라우저에서 동작
189
- ```
190
-
191
- ### 검증 방법
192
-
193
- ```bash
194
- # 테스트
195
- npm run test
196
- npm run test:coverage
197
-
198
- # 빌드
199
- npm run build
200
-
201
- # 빌드 크기 확인
202
- ls -la dist/
203
-
204
- # 프리뷰
205
- npm run preview
206
-
207
- # 배포 후 URL 테스트
208
- ```
209
-
210
- ---
211
-
212
- ## 마일스톤 타임라인
213
-
214
- ```
215
- M1: MVP 기반 M2: MVP 완성
216
- [======|======] [======|======]
217
- Sprint 1 Sprint 2
218
-
219
- M3: 품질 개선 M4: 배포
220
- [======|======] [======|====]
221
- Sprint 3 Sprint 4
222
-
223
- ────────────────────────────────────────
224
- 06-impl 07-ref 09-test
225
- 08-qa 10-deploy
226
- ```
227
-
228
- ---
229
-
230
- ## 체크포인트 정책
231
-
232
- | 마일스톤 | 체크포인트 | 설명 |
233
- |---------|-----------|------|
234
- | M1 완료 | checkpoint_m1 | 코어 로직 완성 시점 |
235
- | M2 완료 | checkpoint_m2 | MVP 완성 시점 (중요) |
236
- | M3 완료 | checkpoint_m3 | 품질 개선 완료 |
237
- | M4 완료 | checkpoint_final | 최종 배포 |
238
-
239
- ```bash
240
- # 체크포인트 생성 예시
241
- /checkpoint --name "m2_mvp_complete" --description "MVP 게임 완성"
242
- ```
243
-
244
- ---
245
-
246
- ## ✅ 마일스톤 체크리스트
247
-
248
- - [x] 4개 마일스톤 정의
249
- - [x] 각 마일스톤 산출물 명시
250
- - [x] 성공 기준 정의
251
- - [x] 검증 방법 제공
252
- - [x] 타임라인 작성
253
- - [x] 체크포인트 정책 수립
@@ -1,203 +0,0 @@
1
- # 🏃 Snake Game - 스프린트 계획
2
-
3
- > 생성일: 2026-01-21
4
- > 스테이지: 05-task-management
5
- > 프로젝트: snake-game
6
-
7
- ---
8
-
9
- ## 스프린트 개요
10
-
11
- | 스프린트 | 기간 | 목표 | 태스크 수 |
12
- |---------|------|------|----------|
13
- | Sprint 1 | 06-implementation (전반) | MVP 기반 구축 | 10 |
14
- | Sprint 2 | 06-implementation (후반) | MVP 완성 | 8 |
15
- | Sprint 3 | 07-refactoring ~ 08-qa | 품질 개선 | 4 |
16
- | Sprint 4 | 09-testing ~ 10-deployment | 테스트 & 배포 | 3 |
17
-
18
- ---
19
-
20
- ## Sprint 1: MVP 기반 구축
21
-
22
- **목표**: 프로젝트 설정 + 게임 코어 로직 구현
23
-
24
- **스테이지**: 06-implementation (전반)
25
-
26
- ### 태스크 목록
27
-
28
- | 순서 | ID | 태스크 | 우선순위 | 예상 시간 |
29
- |------|-----|--------|---------|----------|
30
- | 1 | TASK-001 | Vite + React + TS 초기화 | Must | 10분 |
31
- | 2 | TASK-002 | 타입 정의 | Must | 15분 |
32
- | 3 | TASK-003 | 상수 정의 | Must | 10분 |
33
- | 4 | TASK-004 | 글로벌 스타일 | Must | 15분 |
34
- | 5 | TASK-005 | useGameLoop 훅 | Must | 20분 |
35
- | 6 | TASK-007 | collision.ts | Must | 15분 |
36
- | 7 | TASK-009 | random.ts | Must | 10분 |
37
- | 8 | TASK-008 | renderer.ts | Must | 25분 |
38
- | 9 | TASK-006 | gameReducer | Must | 30분 |
39
- | 10 | TASK-016 | useKeyboard 훅 | Must | 20분 |
40
-
41
- **예상 총 시간**: ~2시간 50분
42
-
43
- ### 완료 기준
44
-
45
- - [ ] 프로젝트 빌드 및 실행 가능
46
- - [ ] 타입 정의 완료 (tsc --noEmit 통과)
47
- - [ ] 게임 루프 동작 (콘솔에서 확인)
48
- - [ ] 충돌 감지 함수 동작
49
- - [ ] 렌더러 함수 동작 (빈 Canvas에 그리드 표시)
50
- - [ ] 키보드 입력 감지
51
-
52
- ---
53
-
54
- ## Sprint 2: MVP 완성
55
-
56
- **목표**: UI 컴포넌트 + 통합 + 확장 기능
57
-
58
- **스테이지**: 06-implementation (후반)
59
-
60
- ### 태스크 목록
61
-
62
- | 순서 | ID | 태스크 | 우선순위 | 예상 시간 |
63
- |------|-----|--------|---------|----------|
64
- | 1 | TASK-011 | CanvasLayer 컴포넌트 | Must | 15분 |
65
- | 2 | TASK-012 | ScoreBoard 컴포넌트 | Must | 15분 |
66
- | 3 | TASK-014 | GameOverModal 컴포넌트 | Must | 20분 |
67
- | 4 | TASK-010 | GameEngine 통합 | Must | 30분 |
68
- | 5 | TASK-018 | 입력 통합 | Must | 15분 |
69
- | 6 | TASK-020 | useHighScore 훅 | Should | 15분 |
70
- | 7 | TASK-019 | 레벨 시스템 | Should | 20분 |
71
- | 8 | TASK-021 | 일시정지 기능 | Should | 15분 |
72
-
73
- **예상 총 시간**: ~2시간 25분
74
-
75
- ### 완료 기준
76
-
77
- - [ ] 전체 게임 플레이 가능
78
- - [ ] 점수 표시 및 증가
79
- - [ ] 게임 오버 모달 동작
80
- - [ ] 최고 점수 저장/불러오기
81
- - [ ] 레벨업 시 속도 증가
82
- - [ ] 일시정지/재개 동작
83
-
84
- ---
85
-
86
- ## Sprint 3: 품질 개선
87
-
88
- **목표**: 모바일 지원 + 코드 리팩토링 + QA
89
-
90
- **스테이지**: 06-implementation (마무리) → 07-refactoring → 08-qa
91
-
92
- ### 태스크 목록
93
-
94
- | 순서 | ID | 태스크 | 우선순위 | 예상 시간 | 스테이지 |
95
- |------|-----|--------|---------|----------|---------|
96
- | 1 | TASK-017 | useSwipe 훅 | Should | 25분 | 06 |
97
- | 2 | TASK-015 | MobileControls | Should | 25분 | 06 |
98
- | 3 | TASK-013 | StartScreen | Should | 20분 | 06 |
99
- | 4 | - | 코드 리팩토링 | Should | 30분 | 07 |
100
- | 5 | - | 성능 최적화 | Should | 20분 | 07 |
101
- | 6 | - | 버그 수정 | Must | 20분 | 08 |
102
- | 7 | - | 엣지 케이스 검증 | Should | 15분 | 08 |
103
-
104
- **예상 총 시간**: ~2시간 35분
105
-
106
- ### 완료 기준
107
-
108
- - [ ] 모바일 터치/스와이프 동작
109
- - [ ] 모바일 D-Pad 컨트롤 동작
110
- - [ ] 시작 화면 구현
111
- - [ ] 코드 중복 제거
112
- - [ ] 60fps 유지 확인
113
- - [ ] 알려진 버그 0개
114
-
115
- ---
116
-
117
- ## Sprint 4: 테스트 & 배포
118
-
119
- **목표**: 테스트 작성 + 프로덕션 배포
120
-
121
- **스테이지**: 09-testing → 10-deployment
122
-
123
- ### 태스크 목록
124
-
125
- | 순서 | ID | 태스크 | 우선순위 | 예상 시간 | 스테이지 |
126
- |------|-----|--------|---------|----------|---------|
127
- | 1 | TASK-022 | 단위 테스트 | Should | 30분 | 09 |
128
- | 2 | TASK-023 | E2E 테스트 | Could | 30분 | 09 |
129
- | 3 | TASK-024 | 빌드 설정 | Must | 15분 | 10 |
130
- | 4 | TASK-025 | 배포 | Must | 20분 | 10 |
131
-
132
- **예상 총 시간**: ~1시간 35분
133
-
134
- ### 완료 기준
135
-
136
- - [ ] 테스트 커버리지 80%+
137
- - [ ] E2E 테스트 통과
138
- - [ ] 빌드 성공 (번들 < 200KB)
139
- - [ ] 배포 URL 접근 가능
140
- - [ ] 프로덕션에서 게임 플레이 가능
141
-
142
- ---
143
-
144
- ## 스프린트 타임라인
145
-
146
- ```
147
- Sprint 1 (MVP 기반) Sprint 2 (MVP 완성)
148
- [===================] [===================]
149
- ~2:50 ~2:25
150
-
151
- Sprint 3 (품질 개선) Sprint 4 (테스트 & 배포)
152
- [===================] [===============]
153
- ~2:35 ~1:35
154
-
155
- ────────────────────────────────────────────────
156
- 총 예상 시간: ~9시간 25분
157
- ```
158
-
159
- ---
160
-
161
- ## 버퍼 및 리스크 관리
162
-
163
- ### 버퍼 시간
164
-
165
- | 스프린트 | 예상 시간 | 버퍼 (20%) | 총 시간 |
166
- |---------|----------|-----------|--------|
167
- | Sprint 1 | 2:50 | 34분 | 3:24 |
168
- | Sprint 2 | 2:25 | 29분 | 2:54 |
169
- | Sprint 3 | 2:35 | 31분 | 3:06 |
170
- | Sprint 4 | 1:35 | 19분 | 1:54 |
171
-
172
- **총 예상 시간 (버퍼 포함)**: ~11시간 18분
173
-
174
- ### 리스크 항목
175
-
176
- | 리스크 | 확률 | 영향 | 대응 |
177
- |--------|------|------|------|
178
- | 모바일 터치 이슈 | 중 | 중 | Sprint 3에서 해결, 폴백으로 D-Pad만 사용 |
179
- | 성능 이슈 | 낮 | 중 | requestAnimationFrame 최적화 |
180
- | 테스트 지연 | 중 | 낮 | E2E는 Could로 분류, 필요시 스킵 |
181
-
182
- ---
183
-
184
- ## 마일스톤 매핑
185
-
186
- | 마일스톤 | 완료 스프린트 | 검증 방법 |
187
- |---------|-------------|----------|
188
- | M1: MVP 기반 | Sprint 1 | 게임 루프 동작, 키보드 입력 |
189
- | M2: MVP 완성 | Sprint 2 | 전체 게임 플레이 가능 |
190
- | M3: 품질 개선 | Sprint 3 | 모바일 지원, 버그 0 |
191
- | M4: 배포 | Sprint 4 | 프로덕션 URL 접근 |
192
-
193
- ---
194
-
195
- ## ✅ 스프린트 계획 체크리스트
196
-
197
- - [x] 4개 스프린트 정의
198
- - [x] 태스크 배분
199
- - [x] 예상 시간 산정
200
- - [x] 완료 기준 정의
201
- - [x] 버퍼 시간 포함
202
- - [x] 리스크 관리 계획
203
- - [x] 마일스톤 매핑