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.
- package/package.json +1 -1
- package/template/.claude/CLAUDE.md +0 -7
- package/template/.claude/commands/CLAUDE.md +0 -0
- package/template/.claude/hooks/CLAUDE.md +0 -0
- package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
- package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
- package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
- package/template/config/CLAUDE.md +0 -0
- package/template/scripts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/HANDOFF.md +0 -110
- package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/inputs/project_brief.md +0 -40
- package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/outputs/ideas.md +0 -159
- package/template/stages/01-brainstorm/outputs/requirements_analysis.md +0 -222
- package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
- package/template/stages/02-research/HANDOFF.md +0 -158
- package/template/stages/02-research/outputs/CLAUDE.md +0 -0
- package/template/stages/02-research/outputs/feasibility_report.md +0 -176
- package/template/stages/02-research/outputs/tech_research.md +0 -403
- package/template/stages/02-research/prompts/CLAUDE.md +0 -0
- package/template/stages/03-planning/HANDOFF.md +0 -168
- package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
- package/template/stages/03-planning/outputs/architecture.md +0 -400
- package/template/stages/03-planning/outputs/implementation.yaml +0 -209
- package/template/stages/03-planning/outputs/project_plan.md +0 -204
- package/template/stages/03-planning/outputs/tech_stack.md +0 -176
- package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/HANDOFF.md +0 -165
- package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/outputs/design_system.md +0 -449
- package/template/stages/04-ui-ux/outputs/user_flows.md +0 -321
- package/template/stages/04-ui-ux/outputs/wireframes.md +0 -241
- package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/HANDOFF.md +0 -187
- package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
- package/template/stages/05-task-management/outputs/milestones.md +0 -253
- package/template/stages/05-task-management/outputs/sprint_plan.md +0 -203
- package/template/stages/05-task-management/outputs/tasks.md +0 -402
- package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
- package/template/stages/06-implementation/HANDOFF.md +0 -184
- package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
- package/template/stages/07-refactoring/HANDOFF.md +0 -82
- package/template/stages/07-refactoring/outputs/refactoring_report.md +0 -102
- package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
- package/template/stages/08-qa/HANDOFF.md +0 -114
- package/template/stages/08-qa/outputs/qa_report.md +0 -138
- package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
- package/template/stages/09-testing/HANDOFF.md +0 -118
- package/template/stages/09-testing/outputs/test_report.md +0 -146
- package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/HANDOFF.md +0 -141
- package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
- package/template/state/templates/CLAUDE.md +0 -0
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
# HANDOFF: 02-research → 03-planning
|
|
2
|
-
|
|
3
|
-
> 생성일: 2026-01-21
|
|
4
|
-
> 프로젝트: snake-game
|
|
5
|
-
> 현재 스테이지: 02-research (완료)
|
|
6
|
-
> 다음 스테이지: 03-planning
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## ✅ 완료된 작업
|
|
11
|
-
|
|
12
|
-
- [x] Canvas 게임 루프 구현 방법 조사
|
|
13
|
-
- [x] React + Canvas 통합 패턴 분석
|
|
14
|
-
- [x] 모바일 터치 이벤트 처리 조사
|
|
15
|
-
- [x] 충돌 감지 알고리즘 정리
|
|
16
|
-
- [x] localStorage 하이스코어 구현 방법
|
|
17
|
-
- [x] 성능 최적화 기법 조사
|
|
18
|
-
- [x] 오픈소스 프로젝트 사례 수집
|
|
19
|
-
- [x] 실현 가능성 보고서 작성
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## 📋 핵심 기술 결정사항
|
|
24
|
-
|
|
25
|
-
### 1. 렌더링 방식
|
|
26
|
-
- **선택**: Canvas API
|
|
27
|
-
- **이유**: 게임 성능, 60fps 유지, 복잡한 애니메이션 지원
|
|
28
|
-
- **대안 기각**: CSS Grid (대량 요소 시 성능 저하)
|
|
29
|
-
|
|
30
|
-
### 2. 게임 루프
|
|
31
|
-
- **선택**: requestAnimationFrame
|
|
32
|
-
- **이유**: 브라우저 최적화, 탭 비활성화 시 자동 일시정지
|
|
33
|
-
- **대안 기각**: setInterval (정확도 낮음)
|
|
34
|
-
|
|
35
|
-
### 3. 상태 관리
|
|
36
|
-
- **선택**: useReducer + useRef 조합
|
|
37
|
-
- **이유**: 복잡한 게임 상태, 리렌더링 최소화
|
|
38
|
-
- **패턴**: 게임 로직은 useRef, UI 표시용만 useState
|
|
39
|
-
|
|
40
|
-
### 4. 모바일 조작
|
|
41
|
-
- **선택**: Custom useSwipe 훅 + 방향 버튼
|
|
42
|
-
- **이유**: 검증된 패턴, 두 가지 입력 방식 모두 지원
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 📁 생성된 산출물
|
|
47
|
-
|
|
48
|
-
| 파일 | 설명 |
|
|
49
|
-
|------|------|
|
|
50
|
-
| `outputs/tech_research.md` | 기술 리서치 상세 결과 |
|
|
51
|
-
| `outputs/feasibility_report.md` | 실현 가능성 보고서 |
|
|
52
|
-
| `HANDOFF.md` | 이 문서 |
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 🔧 권장 기술 스택
|
|
57
|
-
|
|
58
|
-
```yaml
|
|
59
|
-
# 프로젝트 구조
|
|
60
|
-
framework: React 18+
|
|
61
|
-
language: TypeScript 5+
|
|
62
|
-
build: Vite 5+
|
|
63
|
-
rendering: Canvas API
|
|
64
|
-
state: useReducer + useRef
|
|
65
|
-
styling: CSS Modules 또는 Tailwind CSS
|
|
66
|
-
testing: Vitest + React Testing Library
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## 📊 핵심 코드 패턴 요약
|
|
72
|
-
|
|
73
|
-
### 게임 루프 훅
|
|
74
|
-
```typescript
|
|
75
|
-
const useGameLoop = (callback: (deltaTime: number) => void) => {
|
|
76
|
-
const requestRef = useRef<number>();
|
|
77
|
-
const previousTimeRef = useRef<number>();
|
|
78
|
-
// ... requestAnimationFrame 기반 루프
|
|
79
|
-
};
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### 스와이프 감지 훅
|
|
83
|
-
```typescript
|
|
84
|
-
const useSwipe = (handlers: { left, right, up, down }) => {
|
|
85
|
-
// touchstart/touchend 기반 방향 감지
|
|
86
|
-
};
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 타입 정의
|
|
90
|
-
```typescript
|
|
91
|
-
type Direction = 'UP' | 'DOWN' | 'LEFT' | 'RIGHT';
|
|
92
|
-
type GameStatus = 'idle' | 'playing' | 'paused' | 'gameover';
|
|
93
|
-
interface Position { x: number; y: number; }
|
|
94
|
-
interface GameState { snake, food, direction, score, status }
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 🔜 다음 스테이지 작업
|
|
100
|
-
|
|
101
|
-
### 03-planning에서 결정할 사항
|
|
102
|
-
|
|
103
|
-
1. **상세 아키텍처**
|
|
104
|
-
- 컴포넌트 구조도
|
|
105
|
-
- 데이터 흐름 다이어그램
|
|
106
|
-
- 훅 의존성 관계
|
|
107
|
-
|
|
108
|
-
2. **파일 구조**
|
|
109
|
-
- src/ 디렉토리 구조
|
|
110
|
-
- 컴포넌트/훅/유틸/타입 분리
|
|
111
|
-
|
|
112
|
-
3. **게임 설정 상수**
|
|
113
|
-
- 보드 크기, 셀 크기
|
|
114
|
-
- 초기 속도, 속도 증가량
|
|
115
|
-
- 레벨업 조건
|
|
116
|
-
|
|
117
|
-
4. **API 설계**
|
|
118
|
-
- 게임 상태 인터페이스
|
|
119
|
-
- 액션 타입 정의
|
|
120
|
-
- 리듀서 로직
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## ⚠️ 주의사항
|
|
125
|
-
|
|
126
|
-
1. **외부 게임 엔진 미사용**: Phaser, PixiJS 등 금지
|
|
127
|
-
2. **순수 React 구현**: jQuery 미사용
|
|
128
|
-
3. **리렌더링 최소화**: Canvas는 직접 업데이트
|
|
129
|
-
4. **성능 우선**: 60fps 목표
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## 📊 AI 호출 기록
|
|
134
|
-
|
|
135
|
-
| AI | 시간 | 도구 | 결과 | 상태 |
|
|
136
|
-
|----|------|------|------|------|
|
|
137
|
-
| Claude | 12:10 | Exa MCP | Canvas 게임 루프 패턴 수집 | ✅ |
|
|
138
|
-
| Claude | 12:12 | Exa MCP | 모바일 터치 조작 패턴 수집 | ✅ |
|
|
139
|
-
| Claude | 12:15 | - | tech_research.md 작성 | ✅ |
|
|
140
|
-
| Claude | 12:16 | - | feasibility_report.md 작성 | ✅ |
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 🚀 다음 단계
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# 다음 스테이지 실행
|
|
148
|
-
/run-stage 03-planning
|
|
149
|
-
|
|
150
|
-
# 또는
|
|
151
|
-
/planning
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
**생성자**: ClaudeCode
|
|
157
|
-
**검토자**: -
|
|
158
|
-
**승인**: 대기
|
|
File without changes
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
# 📊 Snake Game - 실현 가능성 보고서
|
|
2
|
-
|
|
3
|
-
> 생성일: 2026-01-21
|
|
4
|
-
> 스테이지: 02-research
|
|
5
|
-
> 프로젝트: snake-game
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. 기술적 실현 가능성
|
|
10
|
-
|
|
11
|
-
### 1.1 종합 평가
|
|
12
|
-
|
|
13
|
-
| 항목 | 난이도 | 실현 가능성 | 비고 |
|
|
14
|
-
|------|--------|------------|------|
|
|
15
|
-
| Canvas 렌더링 | ⭐⭐ | ✅ 높음 | 표준 API, 풍부한 자료 |
|
|
16
|
-
| 게임 루프 | ⭐⭐ | ✅ 높음 | requestAnimationFrame 표준 |
|
|
17
|
-
| 키보드 입력 | ⭐ | ✅ 높음 | 기본 이벤트 처리 |
|
|
18
|
-
| 터치 입력 | ⭐⭐ | ✅ 높음 | 검증된 패턴 존재 |
|
|
19
|
-
| 충돌 감지 | ⭐ | ✅ 높음 | 간단한 알고리즘 |
|
|
20
|
-
| 상태 관리 | ⭐⭐ | ✅ 높음 | useReducer 활용 |
|
|
21
|
-
| localStorage | ⭐ | ✅ 높음 | 브라우저 기본 API |
|
|
22
|
-
| 반응형 디자인 | ⭐⭐ | ✅ 높음 | CSS + JS 조합 |
|
|
23
|
-
|
|
24
|
-
**종합 평가**: ✅ **높은 실현 가능성**
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
### 1.2 기술 스택 적합성
|
|
29
|
-
|
|
30
|
-
| 기술 | 선택 이유 | 대안 | 리스크 |
|
|
31
|
-
|------|----------|------|--------|
|
|
32
|
-
| React 18 | 컴포넌트 기반, 훅 시스템 | Vue, Svelte | 낮음 |
|
|
33
|
-
| TypeScript | 타입 안전성, IDE 지원 | JavaScript | 낮음 |
|
|
34
|
-
| Vite | 빠른 개발 서버, HMR | CRA, Next.js | 낮음 |
|
|
35
|
-
| Canvas API | 게임 렌더링 최적화 | CSS Grid | 낮음 |
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## 2. 리소스 요구사항
|
|
40
|
-
|
|
41
|
-
### 2.1 개발 환경
|
|
42
|
-
|
|
43
|
-
| 항목 | 요구사항 | 현재 상태 |
|
|
44
|
-
|------|---------|----------|
|
|
45
|
-
| Node.js | 18+ | ✅ |
|
|
46
|
-
| npm/yarn | 최신 | ✅ |
|
|
47
|
-
| IDE | VSCode + TypeScript | ✅ |
|
|
48
|
-
| 브라우저 | Chrome/Firefox 최신 | ✅ |
|
|
49
|
-
|
|
50
|
-
### 2.2 외부 의존성
|
|
51
|
-
|
|
52
|
-
| 패키지 | 버전 | 용도 | 필수 |
|
|
53
|
-
|--------|------|------|------|
|
|
54
|
-
| react | ^18.2.0 | UI 프레임워크 | ✅ |
|
|
55
|
-
| react-dom | ^18.2.0 | DOM 렌더링 | ✅ |
|
|
56
|
-
| typescript | ^5.0.0 | 타입 시스템 | ✅ |
|
|
57
|
-
| vite | ^5.0.0 | 빌드 도구 | ✅ |
|
|
58
|
-
|
|
59
|
-
**외부 게임 엔진 불필요** - 순수 React + Canvas로 구현 가능
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 3. 리스크 평가
|
|
64
|
-
|
|
65
|
-
### 3.1 기술적 리스크
|
|
66
|
-
|
|
67
|
-
| 리스크 | 확률 | 영향도 | 대응 방안 |
|
|
68
|
-
|--------|------|--------|----------|
|
|
69
|
-
| 모바일 성능 저하 | 중 | 중 | Canvas 최적화, 프레임 스킵 |
|
|
70
|
-
| 터치 입력 지연 | 낮 | 중 | passive 리스너, 즉시 응답 |
|
|
71
|
-
| 브라우저 호환성 | 낮 | 낮 | 폴리필, 기능 감지 |
|
|
72
|
-
| 메모리 누수 | 낮 | 중 | cleanup 함수, useEffect 정리 |
|
|
73
|
-
|
|
74
|
-
### 3.2 프로젝트 리스크
|
|
75
|
-
|
|
76
|
-
| 리스크 | 확률 | 영향도 | 대응 방안 |
|
|
77
|
-
|--------|------|--------|----------|
|
|
78
|
-
| 범위 확장 | 중 | 중 | MVP 우선, 기능 동결 |
|
|
79
|
-
| 테스트 부족 | 중 | 중 | TDD 접근, 커버리지 목표 설정 |
|
|
80
|
-
| 일정 지연 | 낮 | 낮 | 버퍼 시간 확보 |
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## 4. MVP vs 전체 기능 비교
|
|
85
|
-
|
|
86
|
-
### 4.1 MVP 범위 (Phase 1)
|
|
87
|
-
|
|
88
|
-
| 기능 | 복잡도 | 예상 시간 | 우선순위 |
|
|
89
|
-
|------|--------|----------|---------|
|
|
90
|
-
| 기본 뱀 조작 | 낮 | 30분 | 🔴 필수 |
|
|
91
|
-
| 먹이 시스템 | 낮 | 20분 | 🔴 필수 |
|
|
92
|
-
| 충돌 감지 | 낮 | 20분 | 🔴 필수 |
|
|
93
|
-
| 점수 시스템 | 낮 | 10분 | 🔴 필수 |
|
|
94
|
-
| 게임 재시작 | 낮 | 15분 | 🔴 필수 |
|
|
95
|
-
| **소계** | - | **~1.5시간** | - |
|
|
96
|
-
|
|
97
|
-
### 4.2 추가 기능 (Phase 2)
|
|
98
|
-
|
|
99
|
-
| 기능 | 복잡도 | 예상 시간 | 우선순위 |
|
|
100
|
-
|------|--------|----------|---------|
|
|
101
|
-
| 레벨 시스템 | 낮 | 20분 | 🟡 중요 |
|
|
102
|
-
| 최고 점수 저장 | 낮 | 15분 | 🟡 중요 |
|
|
103
|
-
| 일시정지 | 낮 | 15분 | 🟡 중요 |
|
|
104
|
-
| 모바일 터치 | 중 | 40분 | 🟡 중요 |
|
|
105
|
-
| **소계** | - | **~1.5시간** | - |
|
|
106
|
-
|
|
107
|
-
### 4.3 선택 기능 (Phase 3)
|
|
108
|
-
|
|
109
|
-
| 기능 | 복잡도 | 예상 시간 | 우선순위 |
|
|
110
|
-
|------|--------|----------|---------|
|
|
111
|
-
| 사운드 효과 | 중 | 30분 | 🟢 선택 |
|
|
112
|
-
| 테마/스킨 | 중 | 45분 | 🟢 선택 |
|
|
113
|
-
| 장애물 모드 | 중 | 30분 | 🟢 선택 |
|
|
114
|
-
| **소계** | - | **~2시간** | - |
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## 5. 성공 지표
|
|
119
|
-
|
|
120
|
-
### 5.1 기술 지표
|
|
121
|
-
|
|
122
|
-
| 지표 | 목표 | 측정 방법 |
|
|
123
|
-
|------|------|----------|
|
|
124
|
-
| 프레임레이트 | 60fps | Chrome DevTools |
|
|
125
|
-
| 초기 로딩 | < 2초 | Lighthouse |
|
|
126
|
-
| 번들 크기 | < 200KB | vite-bundle-visualizer |
|
|
127
|
-
| 테스트 커버리지 | > 80% | vitest coverage |
|
|
128
|
-
|
|
129
|
-
### 5.2 품질 지표
|
|
130
|
-
|
|
131
|
-
| 지표 | 목표 | 측정 방법 |
|
|
132
|
-
|------|------|----------|
|
|
133
|
-
| TypeScript 에러 | 0개 | tsc --noEmit |
|
|
134
|
-
| ESLint 경고 | 0개 | eslint . |
|
|
135
|
-
| 접근성 | WCAG AA | axe-core |
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 6. 결론 및 권장사항
|
|
140
|
-
|
|
141
|
-
### 6.1 최종 평가
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
┌─────────────────────────────────────────────────────────┐
|
|
145
|
-
│ 실현 가능성: ✅ 매우 높음 │
|
|
146
|
-
│ 기술적 난이도: ⭐⭐ (중하) │
|
|
147
|
-
│ 리스크 수준: 🟢 낮음 │
|
|
148
|
-
│ 권장 진행: ✅ 승인 │
|
|
149
|
-
└─────────────────────────────────────────────────────────┘
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### 6.2 권장사항
|
|
153
|
-
|
|
154
|
-
1. **MVP 우선 개발**: 핵심 기능 먼저 완성 후 확장
|
|
155
|
-
2. **Canvas 사용**: CSS Grid 대신 성능 우선
|
|
156
|
-
3. **useRef 활용**: 게임 상태는 리렌더링 최소화
|
|
157
|
-
4. **테스트 병행**: 로직 테스트 먼저, UI 테스트 나중
|
|
158
|
-
5. **점진적 모바일 지원**: 데스크톱 완성 후 터치 추가
|
|
159
|
-
|
|
160
|
-
### 6.3 다음 단계
|
|
161
|
-
|
|
162
|
-
1. **03-planning**: 상세 아키텍처 설계
|
|
163
|
-
2. **04-ui-ux**: 게임 화면 와이어프레임
|
|
164
|
-
3. **05-tasks**: 스프린트 계획 수립
|
|
165
|
-
4. **06-implementation**: MVP 개발 착수
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## 📝 승인
|
|
170
|
-
|
|
171
|
-
| 항목 | 상태 |
|
|
172
|
-
|------|------|
|
|
173
|
-
| 기술적 실현 가능성 | ✅ 확인 |
|
|
174
|
-
| 리소스 요구사항 | ✅ 충족 |
|
|
175
|
-
| 리스크 평가 | ✅ 수용 가능 |
|
|
176
|
-
| **최종 결정** | ✅ **개발 진행 승인** |
|