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,204 @@
|
|
|
1
|
+
# 📅 Snake Game - 프로젝트 계획
|
|
2
|
+
|
|
3
|
+
> 생성일: 2026-01-21
|
|
4
|
+
> 스테이지: 03-planning
|
|
5
|
+
> 프로젝트: snake-game
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. 마일스톤 정의
|
|
10
|
+
|
|
11
|
+
### Phase 1: MVP (핵심 기능)
|
|
12
|
+
|
|
13
|
+
| 마일스톤 | 목표 | 완료 기준 |
|
|
14
|
+
|---------|------|----------|
|
|
15
|
+
| M1.1 | 프로젝트 셋업 | Vite + React + TypeScript 환경 구성 완료 |
|
|
16
|
+
| M1.2 | 게임 보드 렌더링 | Canvas에 그리드 표시, 뱀 초기 위치 렌더링 |
|
|
17
|
+
| M1.3 | 뱀 이동 | 방향키로 뱀 이동, 게임 루프 동작 |
|
|
18
|
+
| M1.4 | 먹이 시스템 | 먹이 생성, 먹이 충돌 시 뱀 성장 |
|
|
19
|
+
| M1.5 | 충돌 감지 | 벽/자기 몸 충돌 시 게임 오버 |
|
|
20
|
+
| M1.6 | 점수 & UI | 점수 표시, 게임 오버 화면, 재시작 |
|
|
21
|
+
|
|
22
|
+
### Phase 2: 향상된 기능
|
|
23
|
+
|
|
24
|
+
| 마일스톤 | 목표 | 완료 기준 |
|
|
25
|
+
|---------|------|----------|
|
|
26
|
+
| M2.1 | 레벨 시스템 | 점수 증가 시 속도 증가 |
|
|
27
|
+
| M2.2 | 최고 점수 | localStorage 저장/불러오기 |
|
|
28
|
+
| M2.3 | 일시정지 | P/Escape 키로 일시정지/재개 |
|
|
29
|
+
| M2.4 | 모바일 지원 | 터치 스와이프 + 방향 버튼 |
|
|
30
|
+
|
|
31
|
+
### Phase 3: 폴리싱
|
|
32
|
+
|
|
33
|
+
| 마일스톤 | 목표 | 완료 기준 |
|
|
34
|
+
|---------|------|----------|
|
|
35
|
+
| M3.1 | 반응형 디자인 | 다양한 화면 크기 대응 |
|
|
36
|
+
| M3.2 | 테스트 작성 | 단위 테스트 커버리지 80%+ |
|
|
37
|
+
| M3.3 | 배포 | GitHub Pages 또는 Vercel 배포 |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 2. 스프린트 계획
|
|
42
|
+
|
|
43
|
+
### Sprint 1: 프로젝트 기반 (04-ui-ux ~ 05-task-management)
|
|
44
|
+
|
|
45
|
+
| 태스크 | 담당 스테이지 | 산출물 |
|
|
46
|
+
|--------|-------------|--------|
|
|
47
|
+
| UI/UX 와이어프레임 | 04-ui-ux | wireframes.md |
|
|
48
|
+
| 디자인 토큰 정의 | 04-ui-ux | design-tokens.md |
|
|
49
|
+
| 태스크 분해 | 05-task-management | tasks.md |
|
|
50
|
+
| 스프린트 계획 | 05-task-management | sprint-plan.md |
|
|
51
|
+
|
|
52
|
+
### Sprint 2: MVP 구현 (06-implementation)
|
|
53
|
+
|
|
54
|
+
| 태스크 | 우선순위 | 예상 시간 |
|
|
55
|
+
|--------|---------|----------|
|
|
56
|
+
| 프로젝트 초기화 (Vite) | P0 | 10분 |
|
|
57
|
+
| 타입 정의 | P0 | 10분 |
|
|
58
|
+
| 상수 정의 | P0 | 10분 |
|
|
59
|
+
| useGameLoop 훅 | P0 | 15분 |
|
|
60
|
+
| useKeyboard 훅 | P0 | 15분 |
|
|
61
|
+
| gameReducer 구현 | P0 | 20분 |
|
|
62
|
+
| collision.ts 구현 | P0 | 15분 |
|
|
63
|
+
| renderer.ts 구현 | P0 | 20분 |
|
|
64
|
+
| CanvasLayer 컴포넌트 | P0 | 15분 |
|
|
65
|
+
| GameEngine 컴포넌트 | P0 | 20분 |
|
|
66
|
+
| ScoreBoard 컴포넌트 | P1 | 10분 |
|
|
67
|
+
| GameOverModal 컴포넌트 | P1 | 15분 |
|
|
68
|
+
| App 통합 | P0 | 15분 |
|
|
69
|
+
|
|
70
|
+
### Sprint 3: 기능 확장 (06-implementation 계속)
|
|
71
|
+
|
|
72
|
+
| 태스크 | 우선순위 | 예상 시간 |
|
|
73
|
+
|--------|---------|----------|
|
|
74
|
+
| 레벨 시스템 | P1 | 15분 |
|
|
75
|
+
| useHighScore 훅 | P1 | 15분 |
|
|
76
|
+
| 일시정지 기능 | P1 | 10분 |
|
|
77
|
+
| useSwipe 훅 | P1 | 20분 |
|
|
78
|
+
| MobileControls 컴포넌트 | P1 | 20분 |
|
|
79
|
+
| StartScreen 컴포넌트 | P2 | 15분 |
|
|
80
|
+
|
|
81
|
+
### Sprint 4: 품질 개선 (07-refactoring ~ 08-qa)
|
|
82
|
+
|
|
83
|
+
| 태스크 | 담당 스테이지 | 예상 시간 |
|
|
84
|
+
|--------|-------------|----------|
|
|
85
|
+
| 코드 리뷰 & 리팩토링 | 07-refactoring | 30분 |
|
|
86
|
+
| 성능 최적화 | 07-refactoring | 20분 |
|
|
87
|
+
| 버그 수정 | 08-qa | 20분 |
|
|
88
|
+
| 엣지 케이스 테스트 | 08-qa | 15분 |
|
|
89
|
+
|
|
90
|
+
### Sprint 5: 테스트 & 배포 (09-testing ~ 10-deployment)
|
|
91
|
+
|
|
92
|
+
| 태스크 | 담당 스테이지 | 예상 시간 |
|
|
93
|
+
|--------|-------------|----------|
|
|
94
|
+
| 단위 테스트 작성 | 09-testing | 30분 |
|
|
95
|
+
| E2E 테스트 작성 | 09-testing | 20분 |
|
|
96
|
+
| 빌드 설정 | 10-deployment | 10분 |
|
|
97
|
+
| 배포 | 10-deployment | 15분 |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 3. 의존성 그래프
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
프로젝트 초기화
|
|
105
|
+
│
|
|
106
|
+
▼
|
|
107
|
+
┌──────┴──────┐
|
|
108
|
+
│ │
|
|
109
|
+
▼ ▼
|
|
110
|
+
타입 정의 상수 정의
|
|
111
|
+
│ │
|
|
112
|
+
└──────┬──────┘
|
|
113
|
+
│
|
|
114
|
+
▼
|
|
115
|
+
┌──────┴──────┬──────────────┐
|
|
116
|
+
│ │ │
|
|
117
|
+
▼ ▼ ▼
|
|
118
|
+
useGameLoop useKeyboard collision.ts
|
|
119
|
+
│ │ │
|
|
120
|
+
└─────────────┼──────────────┘
|
|
121
|
+
│
|
|
122
|
+
▼
|
|
123
|
+
gameReducer
|
|
124
|
+
│
|
|
125
|
+
▼
|
|
126
|
+
renderer.ts
|
|
127
|
+
│
|
|
128
|
+
▼
|
|
129
|
+
CanvasLayer
|
|
130
|
+
│
|
|
131
|
+
▼
|
|
132
|
+
GameEngine
|
|
133
|
+
│
|
|
134
|
+
┌──────┼──────┐
|
|
135
|
+
│ │ │
|
|
136
|
+
▼ ▼ ▼
|
|
137
|
+
ScoreBoard Modal App
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 4. 리스크 관리
|
|
143
|
+
|
|
144
|
+
### 기술적 리스크
|
|
145
|
+
|
|
146
|
+
| 리스크 | 확률 | 영향 | 대응 |
|
|
147
|
+
|--------|------|------|------|
|
|
148
|
+
| Canvas 성능 이슈 | 낮 | 중 | requestAnimationFrame 최적화 |
|
|
149
|
+
| 모바일 터치 지연 | 중 | 중 | passive 리스너, 즉시 응답 |
|
|
150
|
+
| 상태 동기화 문제 | 중 | 높 | useRef로 게임 상태 분리 |
|
|
151
|
+
|
|
152
|
+
### 일정 리스크
|
|
153
|
+
|
|
154
|
+
| 리스크 | 확률 | 영향 | 대응 |
|
|
155
|
+
|--------|------|------|------|
|
|
156
|
+
| 기능 범위 확대 | 중 | 중 | MVP 우선, Phase 분리 |
|
|
157
|
+
| 디버깅 시간 초과 | 중 | 중 | 단계별 테스트 |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 5. 완료 기준 (Definition of Done)
|
|
162
|
+
|
|
163
|
+
### 코드 레벨
|
|
164
|
+
- [ ] TypeScript 컴파일 에러 0개
|
|
165
|
+
- [ ] ESLint 경고 0개
|
|
166
|
+
- [ ] 단위 테스트 커버리지 80%+
|
|
167
|
+
|
|
168
|
+
### 기능 레벨
|
|
169
|
+
- [ ] 방향키로 뱀 이동 가능
|
|
170
|
+
- [ ] 먹이 먹으면 길이 증가 + 점수 획득
|
|
171
|
+
- [ ] 벽/자기 몸 충돌 시 게임 오버
|
|
172
|
+
- [ ] 게임 재시작 가능
|
|
173
|
+
- [ ] 최고 점수 저장/표시
|
|
174
|
+
|
|
175
|
+
### 품질 레벨
|
|
176
|
+
- [ ] 60fps 유지 (Chrome DevTools 확인)
|
|
177
|
+
- [ ] 모바일 터치 작동
|
|
178
|
+
- [ ] 접근성 기본 준수 (키보드 네비게이션)
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 6. 스테이지별 예상 시간
|
|
183
|
+
|
|
184
|
+
| 스테이지 | 예상 시간 | 주요 산출물 |
|
|
185
|
+
|---------|----------|------------|
|
|
186
|
+
| 04-ui-ux | 15분 | wireframes.md, design-tokens.md |
|
|
187
|
+
| 05-task-management | 15분 | tasks.md, sprint-plan.md |
|
|
188
|
+
| 06-implementation | 60분 | 소스 코드 전체 |
|
|
189
|
+
| 07-refactoring | 30분 | 최적화된 코드 |
|
|
190
|
+
| 08-qa | 20분 | 버그 수정 |
|
|
191
|
+
| 09-testing | 30분 | 테스트 코드 |
|
|
192
|
+
| 10-deployment | 20분 | 배포된 앱 |
|
|
193
|
+
| **총계** | **~3시간** | - |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## ✅ 프로젝트 계획 체크리스트
|
|
198
|
+
|
|
199
|
+
- [x] 마일스톤 정의
|
|
200
|
+
- [x] 스프린트 계획
|
|
201
|
+
- [x] 의존성 그래프
|
|
202
|
+
- [x] 리스크 관리 계획
|
|
203
|
+
- [x] 완료 기준 정의
|
|
204
|
+
- [x] 시간 추정
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# 🔧 Snake Game - 기술 스택 결정
|
|
2
|
+
|
|
3
|
+
> 생성일: 2026-01-21
|
|
4
|
+
> 스테이지: 03-planning
|
|
5
|
+
> 프로젝트: snake-game
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📋 최종 기술 스택
|
|
10
|
+
|
|
11
|
+
### 핵심 스택
|
|
12
|
+
|
|
13
|
+
| 카테고리 | 선택 | 버전 | 근거 |
|
|
14
|
+
|---------|------|------|------|
|
|
15
|
+
| **프레임워크** | React | ^18.2.0 | 컴포넌트 기반, 훅 시스템 |
|
|
16
|
+
| **언어** | TypeScript | ^5.3.0 | 타입 안전성, IDE 지원 |
|
|
17
|
+
| **빌드** | Vite | ^5.0.0 | 빠른 HMR, 최적화된 빌드 |
|
|
18
|
+
| **렌더링** | Canvas API | 네이티브 | 게임 성능, 60fps |
|
|
19
|
+
| **상태관리** | useReducer + useRef | React 내장 | 외부 의존성 최소화 |
|
|
20
|
+
|
|
21
|
+
### 개발 도구
|
|
22
|
+
|
|
23
|
+
| 카테고리 | 선택 | 버전 | 용도 |
|
|
24
|
+
|---------|------|------|------|
|
|
25
|
+
| **린터** | ESLint | ^8.55.0 | 코드 품질 |
|
|
26
|
+
| **포맷터** | Prettier | ^3.1.0 | 코드 일관성 |
|
|
27
|
+
| **테스트** | Vitest | ^1.1.0 | 단위/통합 테스트 |
|
|
28
|
+
| **E2E** | Playwright | ^1.40.0 | E2E 테스트 |
|
|
29
|
+
|
|
30
|
+
### 스타일링
|
|
31
|
+
|
|
32
|
+
| 카테고리 | 선택 | 근거 |
|
|
33
|
+
|---------|------|------|
|
|
34
|
+
| **CSS** | CSS Modules | 스코프 격리, 번들 최적화 |
|
|
35
|
+
| **대안** | Tailwind CSS | 빠른 프로토타이핑 (선택) |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 📦 package.json 의존성
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"name": "snake-game",
|
|
44
|
+
"private": true,
|
|
45
|
+
"version": "1.0.0",
|
|
46
|
+
"type": "module",
|
|
47
|
+
"scripts": {
|
|
48
|
+
"dev": "vite",
|
|
49
|
+
"build": "tsc && vite build",
|
|
50
|
+
"preview": "vite preview",
|
|
51
|
+
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
52
|
+
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
|
|
53
|
+
"typecheck": "tsc --noEmit",
|
|
54
|
+
"test": "vitest",
|
|
55
|
+
"test:coverage": "vitest run --coverage",
|
|
56
|
+
"test:e2e": "playwright test"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"react": "^18.2.0",
|
|
60
|
+
"react-dom": "^18.2.0"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@types/react": "^18.2.43",
|
|
64
|
+
"@types/react-dom": "^18.2.17",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
66
|
+
"@typescript-eslint/parser": "^6.14.0",
|
|
67
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
68
|
+
"@vitest/coverage-v8": "^1.1.0",
|
|
69
|
+
"@testing-library/react": "^14.1.0",
|
|
70
|
+
"@testing-library/jest-dom": "^6.1.6",
|
|
71
|
+
"@playwright/test": "^1.40.0",
|
|
72
|
+
"eslint": "^8.55.0",
|
|
73
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
74
|
+
"eslint-plugin-react-refresh": "^0.4.5",
|
|
75
|
+
"jsdom": "^23.0.1",
|
|
76
|
+
"prettier": "^3.1.0",
|
|
77
|
+
"typescript": "^5.3.0",
|
|
78
|
+
"vite": "^5.0.0",
|
|
79
|
+
"vitest": "^1.1.0"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## ⚖️ 기술 결정 근거
|
|
87
|
+
|
|
88
|
+
### 1. React vs Vue vs Svelte
|
|
89
|
+
|
|
90
|
+
| 항목 | React | Vue | Svelte |
|
|
91
|
+
|------|-------|-----|--------|
|
|
92
|
+
| 생태계 | ⭐⭐⭐ | ⭐⭐ | ⭐ |
|
|
93
|
+
| 학습 곡선 | 중간 | 낮음 | 낮음 |
|
|
94
|
+
| 게임 개발 자료 | 많음 | 보통 | 적음 |
|
|
95
|
+
| 커뮤니티 | 최대 | 큼 | 성장 중 |
|
|
96
|
+
|
|
97
|
+
**선택: React** - 풍부한 게임 개발 자료, 훅 시스템 활용
|
|
98
|
+
|
|
99
|
+
### 2. Canvas vs CSS Grid vs SVG
|
|
100
|
+
|
|
101
|
+
| 항목 | Canvas | CSS Grid | SVG |
|
|
102
|
+
|------|--------|----------|-----|
|
|
103
|
+
| 성능 (대량 요소) | ⭐⭐⭐ | ⭐ | ⭐⭐ |
|
|
104
|
+
| 구현 복잡도 | 중간 | 낮음 | 높음 |
|
|
105
|
+
| 애니메이션 | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
|
|
106
|
+
| 반응형 | 코드 필요 | 자동 | 자동 |
|
|
107
|
+
|
|
108
|
+
**선택: Canvas** - 게임에 최적화, 60fps 보장
|
|
109
|
+
|
|
110
|
+
### 3. 상태 관리: useReducer vs Redux vs Zustand
|
|
111
|
+
|
|
112
|
+
| 항목 | useReducer | Redux | Zustand |
|
|
113
|
+
|------|-----------|-------|---------|
|
|
114
|
+
| 번들 크기 | 0KB | ~43KB | ~3KB |
|
|
115
|
+
| 복잡도 | 낮음 | 높음 | 낮음 |
|
|
116
|
+
| 게임 적합성 | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
|
|
117
|
+
|
|
118
|
+
**선택: useReducer** - 외부 의존성 없음, 게임 규모에 적합
|
|
119
|
+
|
|
120
|
+
### 4. Vite vs CRA vs Next.js
|
|
121
|
+
|
|
122
|
+
| 항목 | Vite | CRA | Next.js |
|
|
123
|
+
|------|------|-----|---------|
|
|
124
|
+
| 빌드 속도 | ⭐⭐⭐ | ⭐ | ⭐⭐ |
|
|
125
|
+
| 설정 복잡도 | 낮음 | 낮음 | 중간 |
|
|
126
|
+
| 정적 빌드 | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
|
|
127
|
+
|
|
128
|
+
**선택: Vite** - 빠른 개발 경험, 최적화된 빌드
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 🚫 미사용 기술
|
|
133
|
+
|
|
134
|
+
| 기술 | 미사용 이유 |
|
|
135
|
+
|------|-----------|
|
|
136
|
+
| Phaser.js | 게임 엔진 금지 (순수 React) |
|
|
137
|
+
| PixiJS | 게임 엔진 금지 |
|
|
138
|
+
| jQuery | 레거시, React와 충돌 |
|
|
139
|
+
| MobX | 과도한 복잡성 |
|
|
140
|
+
| Next.js | SSR 불필요 (정적 게임) |
|
|
141
|
+
| Sass/SCSS | CSS Modules로 충분 |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 📁 프로젝트 생성 명령
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Vite로 React + TypeScript 프로젝트 생성
|
|
149
|
+
npm create vite@latest snake-game -- --template react-ts
|
|
150
|
+
|
|
151
|
+
# 디렉토리 이동
|
|
152
|
+
cd snake-game
|
|
153
|
+
|
|
154
|
+
# 의존성 설치
|
|
155
|
+
npm install
|
|
156
|
+
|
|
157
|
+
# 개발 도구 설치
|
|
158
|
+
npm install -D @vitest/coverage-v8 @testing-library/react \
|
|
159
|
+
@testing-library/jest-dom jsdom @playwright/test
|
|
160
|
+
|
|
161
|
+
# 개발 서버 시작
|
|
162
|
+
npm run dev
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## ✅ 기술 스택 체크리스트
|
|
168
|
+
|
|
169
|
+
- [x] 핵심 프레임워크 선택 (React 18)
|
|
170
|
+
- [x] 언어 선택 (TypeScript 5)
|
|
171
|
+
- [x] 빌드 도구 선택 (Vite 5)
|
|
172
|
+
- [x] 렌더링 방식 선택 (Canvas API)
|
|
173
|
+
- [x] 상태 관리 방식 선택 (useReducer + useRef)
|
|
174
|
+
- [x] 스타일링 방식 선택 (CSS Modules)
|
|
175
|
+
- [x] 테스트 도구 선택 (Vitest + Playwright)
|
|
176
|
+
- [x] 의존성 목록 작성
|
|
File without changes
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Architecture Design Prompt
|
|
2
|
+
|
|
3
|
+
## 사용 모델
|
|
4
|
+
Gemini
|
|
5
|
+
|
|
6
|
+
## 프롬프트
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
당신은 시니어 소프트웨어 아키텍트입니다.
|
|
10
|
+
|
|
11
|
+
다음 요구사항과 기술 리서치를 바탕으로 시스템 아키텍처를 설계해주세요:
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
## 요구사항
|
|
15
|
+
{{REQUIREMENTS}}
|
|
16
|
+
|
|
17
|
+
## 기술 리서치 결과
|
|
18
|
+
{{TECH_RESEARCH}}
|
|
19
|
+
|
|
20
|
+
## 실현 가능성 평가
|
|
21
|
+
{{FEASIBILITY}}
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 설계 항목
|
|
25
|
+
|
|
26
|
+
### 1. 시스템 개요
|
|
27
|
+
- 시스템 목적
|
|
28
|
+
- 주요 기능
|
|
29
|
+
- 비기능적 요구사항 대응
|
|
30
|
+
|
|
31
|
+
### 2. 아키텍처 스타일
|
|
32
|
+
- 선택: Monolithic / Microservices / Serverless / Hybrid
|
|
33
|
+
- 선택 근거
|
|
34
|
+
|
|
35
|
+
### 3. 컴포넌트 설계
|
|
36
|
+
각 컴포넌트에 대해:
|
|
37
|
+
- 이름
|
|
38
|
+
- 책임
|
|
39
|
+
- 인터페이스
|
|
40
|
+
- 의존성
|
|
41
|
+
|
|
42
|
+
### 4. 데이터 아키텍처
|
|
43
|
+
- 데이터 모델 개요
|
|
44
|
+
- 데이터 흐름
|
|
45
|
+
- 저장소 전략
|
|
46
|
+
|
|
47
|
+
### 5. 통합 포인트
|
|
48
|
+
- 외부 API
|
|
49
|
+
- 서드파티 서비스
|
|
50
|
+
- 인증/인가
|
|
51
|
+
|
|
52
|
+
### 6. 다이어그램 (Mermaid)
|
|
53
|
+
- 시스템 컨텍스트
|
|
54
|
+
- 컨테이너 다이어그램
|
|
55
|
+
- 컴포넌트 다이어그램
|
|
56
|
+
|
|
57
|
+
## 출력 형식
|
|
58
|
+
Mermaid 다이어그램을 포함한 마크다운 문서
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 기대 출력
|
|
62
|
+
`outputs/architecture.md`
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# AI 협업 프롬프트 - Planning
|
|
2
|
+
|
|
3
|
+
## 협업 모드: Debate
|
|
4
|
+
|
|
5
|
+
이 스테이지에서는 **토론 모드**를 사용하여 최적의 아키텍처와 기술 스택을 결정합니다.
|
|
6
|
+
|
|
7
|
+
### 참여 모델
|
|
8
|
+
- **Gemini**: 아키텍처 설계, 다이어그램 생성
|
|
9
|
+
- **Claude**: 기술적 검증, 실현 가능성 평가
|
|
10
|
+
|
|
11
|
+
### 협업 프롬프트
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/collaborate --mode debate --topic "시스템 아키텍처 결정" --rounds 3
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 토론 주제
|
|
18
|
+
|
|
19
|
+
1. **아키텍처 패턴**: Monolith vs Microservices vs Modular Monolith
|
|
20
|
+
2. **기술 스택**: 프레임워크 및 라이브러리 선택
|
|
21
|
+
3. **데이터베이스**: SQL vs NoSQL vs Hybrid
|
|
22
|
+
|
|
23
|
+
### 토론 형식
|
|
24
|
+
|
|
25
|
+
| 라운드 | Gemini | Claude |
|
|
26
|
+
|--------|--------|--------|
|
|
27
|
+
| 1 | 제안 | 반론/대안 |
|
|
28
|
+
| 2 | 보완 | 검증/평가 |
|
|
29
|
+
| 3 | 최종안 | 합의/확인 |
|
|
30
|
+
|
|
31
|
+
### 파이프라인 분기 트리거
|
|
32
|
+
|
|
33
|
+
아키텍처 대안이 2개 이상 유효할 경우:
|
|
34
|
+
```
|
|
35
|
+
/fork create --reason "아키텍처 대안 탐색" --direction "monolith"
|
|
36
|
+
/fork create --reason "아키텍처 대안 탐색" --direction "microservices"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 출력 형식
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
## AI 토론 결과
|
|
43
|
+
|
|
44
|
+
### 주제: [아키텍처 결정]
|
|
45
|
+
|
|
46
|
+
### 라운드 1
|
|
47
|
+
- **Gemini**: [제안]
|
|
48
|
+
- **Claude**: [반론/대안]
|
|
49
|
+
|
|
50
|
+
### 라운드 2
|
|
51
|
+
- **Gemini**: [보완]
|
|
52
|
+
- **Claude**: [검증]
|
|
53
|
+
|
|
54
|
+
### 최종 결론
|
|
55
|
+
- [합의된 아키텍처]
|
|
56
|
+
- [근거]
|
|
57
|
+
```
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# 산출물 검증 프롬프트 - Planning
|
|
2
|
+
|
|
3
|
+
## 검증 대상
|
|
4
|
+
|
|
5
|
+
| 산출물 | 필수 조건 | 검증 방법 |
|
|
6
|
+
|--------|----------|----------|
|
|
7
|
+
| `architecture.md` | 다이어그램 4종 | 구조 확인 |
|
|
8
|
+
| `tech_stack.md` | 버전/의존성 명시 | 항목 확인 |
|
|
9
|
+
| `project_plan.md` | 마일스톤 3개+ | 수량 확인 |
|
|
10
|
+
| `implementation.yaml` | 구현 규칙 정의 | 스키마 검증 |
|
|
11
|
+
| `HANDOFF.md` | 다음 단계 지침 | 항목 확인 |
|
|
12
|
+
|
|
13
|
+
## 검증 명령
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
/validate --stage 03-planning
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 품질 기준
|
|
20
|
+
|
|
21
|
+
### architecture.md
|
|
22
|
+
- [ ] 시스템 컨텍스트 다이어그램
|
|
23
|
+
- [ ] 컨테이너 다이어그램
|
|
24
|
+
- [ ] 컴포넌트 다이어그램
|
|
25
|
+
- [ ] 시퀀스 다이어그램 (핵심 플로우)
|
|
26
|
+
- [ ] 데이터 흐름 설명
|
|
27
|
+
|
|
28
|
+
### tech_stack.md
|
|
29
|
+
- [ ] 프론트엔드 스택 명시
|
|
30
|
+
- [ ] 백엔드 스택 명시
|
|
31
|
+
- [ ] 데이터베이스 선택
|
|
32
|
+
- [ ] 버전 및 의존성 정의
|
|
33
|
+
- [ ] 선택 근거 문서화
|
|
34
|
+
|
|
35
|
+
### project_plan.md
|
|
36
|
+
- [ ] 마일스톤 3개 이상
|
|
37
|
+
- [ ] 각 마일스톤별 산출물
|
|
38
|
+
- [ ] 스프린트 계획
|
|
39
|
+
- [ ] 리소스 할당
|
|
40
|
+
|
|
41
|
+
### implementation.yaml
|
|
42
|
+
- [ ] 컴포넌트 타입 정의
|
|
43
|
+
- [ ] 스타일링 방식 정의
|
|
44
|
+
- [ ] 상태 관리 패턴 정의
|
|
45
|
+
- [ ] 네이밍 규칙 정의
|
|
46
|
+
- [ ] 폴더 구조 정의
|
|
47
|
+
|
|
48
|
+
## 자동 검증 스크립트
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# 다이어그램 수 확인 (mermaid 블록)
|
|
52
|
+
grep -c "```mermaid" outputs/architecture.md
|
|
53
|
+
|
|
54
|
+
# implementation.yaml 유효성
|
|
55
|
+
yq eval '.' outputs/implementation.yaml
|
|
56
|
+
|
|
57
|
+
# 마일스톤 수 확인
|
|
58
|
+
grep -c "^## Milestone" outputs/project_plan.md
|
|
59
|
+
```
|
|
File without changes
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Stage 04: UI/UX Planning
|
|
2
|
+
|
|
3
|
+
사용자 인터페이스 및 경험 설계 단계
|
|
4
|
+
|
|
5
|
+
## 🎭 페르소나: User Experience Designer
|
|
6
|
+
|
|
7
|
+
> 당신은 User Experience Designer입니다.
|
|
8
|
+
> 항상 사용자 관점에서 생각하고, 직관적인 경험을 설계하세요.
|
|
9
|
+
> 모든 사용자가 쉽게 사용할 수 있도록 접근성을 고려하세요.
|
|
10
|
+
|
|
11
|
+
### 특성
|
|
12
|
+
- 사용자 공감
|
|
13
|
+
- 시각적 사고
|
|
14
|
+
- 인터랙션 설계
|
|
15
|
+
- 접근성 고려
|
|
16
|
+
|
|
17
|
+
### 권장 행동
|
|
18
|
+
- 사용자 시나리오 기반
|
|
19
|
+
- 직관적 인터페이스
|
|
20
|
+
- 일관된 디자인 시스템
|
|
21
|
+
- 접근성 고려
|
|
22
|
+
|
|
23
|
+
### 지양 행동
|
|
24
|
+
- 기술 중심 사고
|
|
25
|
+
- 복잡한 인터랙션
|
|
26
|
+
- 사용자 무시
|
|
27
|
+
|
|
28
|
+
### AI 설정
|
|
29
|
+
- **Temperature**: 0.7 (창의적 설계)
|
|
30
|
+
- **사용자 집중도**: High
|
|
31
|
+
|
|
32
|
+
## 실행 모델
|
|
33
|
+
- **Primary**: Gemini (창의적 UI 설계)
|
|
34
|
+
- **Mode**: Plan Mode
|
|
35
|
+
|
|
36
|
+
## 목표
|
|
37
|
+
1. 와이어프레임 설계
|
|
38
|
+
2. 사용자 플로우 정의
|
|
39
|
+
3. 디자인 시스템 기초 수립
|
|
40
|
+
4. 컴포넌트 라이브러리 정의
|
|
41
|
+
|
|
42
|
+
## 입력 파일
|
|
43
|
+
- `../01-brainstorm/outputs/requirements_analysis.md`
|
|
44
|
+
- `../03-planning/outputs/architecture.md`
|
|
45
|
+
- `../03-planning/HANDOFF.md`
|
|
46
|
+
|
|
47
|
+
## 출력 파일
|
|
48
|
+
- `outputs/wireframes.md` - 와이어프레임 (ASCII/Mermaid)
|
|
49
|
+
- `outputs/user_flows.md` - 사용자 플로우
|
|
50
|
+
- `outputs/design_system.md` - 디자인 시스템
|
|
51
|
+
- `HANDOFF.md` - 다음 스테이지 인계 문서
|
|
52
|
+
|
|
53
|
+
## 워크플로우
|
|
54
|
+
|
|
55
|
+
### 1. 정보 아키텍처
|
|
56
|
+
- 화면 구조 정의
|
|
57
|
+
- 네비게이션 설계
|
|
58
|
+
- 콘텐츠 계층
|
|
59
|
+
|
|
60
|
+
### 2. 와이어프레임
|
|
61
|
+
- 주요 화면 와이어프레임
|
|
62
|
+
- 반응형 고려사항
|
|
63
|
+
- 상호작용 정의
|
|
64
|
+
|
|
65
|
+
### 3. 사용자 플로우
|
|
66
|
+
- 핵심 사용자 여정
|
|
67
|
+
- 엣지 케이스 처리
|
|
68
|
+
- 에러 상태
|
|
69
|
+
|
|
70
|
+
### 4. 디자인 시스템
|
|
71
|
+
- 색상 팔레트
|
|
72
|
+
- 타이포그래피
|
|
73
|
+
- 스페이싱 시스템
|
|
74
|
+
- 컴포넌트 목록
|
|
75
|
+
|
|
76
|
+
## 완료 조건
|
|
77
|
+
- [ ] 주요 화면 와이어프레임 (5개 이상)
|
|
78
|
+
- [ ] 핵심 사용자 플로우 3개 이상
|
|
79
|
+
- [ ] 디자인 시스템 기초 정의
|
|
80
|
+
- [ ] 컴포넌트 목록 작성
|
|
81
|
+
- [ ] HANDOFF.md 생성
|
|
82
|
+
|
|
83
|
+
## 다음 스테이지
|
|
84
|
+
→ **05-task-management**: 태스크 분해 및 스프린트 계획
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|