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.
Files changed (258) hide show
  1. package/README.md +374 -0
  2. package/bin/create.js +193 -0
  3. package/package.json +38 -0
  4. package/template/.claude/CLAUDE.md +7 -0
  5. package/template/.claude/commands/CLAUDE.md +0 -0
  6. package/template/.claude/commands/benchmark.md +103 -0
  7. package/template/.claude/commands/brainstorm.md +67 -0
  8. package/template/.claude/commands/checkpoint.md +93 -0
  9. package/template/.claude/commands/codex.md +107 -0
  10. package/template/.claude/commands/collaborate.md +85 -0
  11. package/template/.claude/commands/context.md +154 -0
  12. package/template/.claude/commands/deploy.md +102 -0
  13. package/template/.claude/commands/fork.md +142 -0
  14. package/template/.claude/commands/gemini.md +84 -0
  15. package/template/.claude/commands/handoff.md +80 -0
  16. package/template/.claude/commands/implement.md +82 -0
  17. package/template/.claude/commands/init-project.md +49 -0
  18. package/template/.claude/commands/next.md +125 -0
  19. package/template/.claude/commands/planning.md +69 -0
  20. package/template/.claude/commands/qa.md +81 -0
  21. package/template/.claude/commands/refactor.md +95 -0
  22. package/template/.claude/commands/research.md +60 -0
  23. package/template/.claude/commands/restore.md +113 -0
  24. package/template/.claude/commands/run-stage.md +78 -0
  25. package/template/.claude/commands/stages.md +109 -0
  26. package/template/.claude/commands/status.md +73 -0
  27. package/template/.claude/commands/tasks.md +80 -0
  28. package/template/.claude/commands/test.md +93 -0
  29. package/template/.claude/commands/ui-ux.md +61 -0
  30. package/template/.claude/commands/validate.md +174 -0
  31. package/template/.claude/hooks/CLAUDE.md +0 -0
  32. package/template/.claude/hooks/ai-selector.sh +223 -0
  33. package/template/.claude/hooks/auto-checkpoint.sh +187 -0
  34. package/template/.claude/hooks/output-validator.sh +289 -0
  35. package/template/.claude/hooks/post-stage.sh +123 -0
  36. package/template/.claude/hooks/pre-stage.sh +186 -0
  37. package/template/.claude/hooks/session-start.sh +90 -0
  38. package/template/.claude/hooks/statusline.sh +115 -0
  39. package/template/.claude/hooks/stop.sh +104 -0
  40. package/template/.claude/settings.json +149 -0
  41. package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
  42. package/template/.claude/skills/ai-collaboration/README.md +61 -0
  43. package/template/.claude/skills/ai-collaboration/debate.md +148 -0
  44. package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
  45. package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
  46. package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
  47. package/template/.claude/skills/auto-checkpoint/README.md +77 -0
  48. package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
  49. package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
  50. package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
  51. package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
  52. package/template/.claude/skills/context-compression/README.md +121 -0
  53. package/template/.claude/skills/context-compression/analyze.md +114 -0
  54. package/template/.claude/skills/context-compression/compress.md +175 -0
  55. package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
  56. package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
  57. package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
  58. package/template/.claude/skills/output-validator/README.md +86 -0
  59. package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
  60. package/template/.claude/skills/output-validator/validate.md +182 -0
  61. package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
  62. package/template/.claude/skills/smart-handoff/README.md +59 -0
  63. package/template/.claude/skills/smart-handoff/extract.md +76 -0
  64. package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
  65. package/template/.claude/skills/smart-handoff/summarize.md +94 -0
  66. package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
  67. package/template/.claude/skills/stage-transition/README.md +84 -0
  68. package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
  69. package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
  70. package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
  71. package/template/.claude/skills/stage-transition/validate.md +108 -0
  72. package/template/CLAUDE.md +528 -0
  73. package/template/config/CLAUDE.md +0 -0
  74. package/template/config/ai_benchmarking.yaml +184 -0
  75. package/template/config/ai_collaboration.yaml +159 -0
  76. package/template/config/ai_logging.yaml +129 -0
  77. package/template/config/auto_checkpoint.yaml +189 -0
  78. package/template/config/context.yaml +78 -0
  79. package/template/config/git.yaml +161 -0
  80. package/template/config/handoff_intelligence.yaml +229 -0
  81. package/template/config/implementation.yaml.template +181 -0
  82. package/template/config/mcp_fallbacks.yaml +252 -0
  83. package/template/config/memory_integration.yaml +200 -0
  84. package/template/config/model_enforcement.yaml +141 -0
  85. package/template/config/models.yaml +242 -0
  86. package/template/config/output_validation.yaml +352 -0
  87. package/template/config/pipeline.yaml +357 -0
  88. package/template/config/pipeline_forking.yaml +236 -0
  89. package/template/config/qa_logging.yaml +166 -0
  90. package/template/config/smart_rollback.yaml +209 -0
  91. package/template/config/stage_personas.yaml +354 -0
  92. package/template/config/workflow.yaml +54 -0
  93. package/template/scripts/CLAUDE.md +0 -0
  94. package/template/scripts/ai-benchmark.sh +272 -0
  95. package/template/scripts/codex-wrapper.sh +97 -0
  96. package/template/scripts/context-manager.sh +528 -0
  97. package/template/scripts/create-checkpoint.sh +116 -0
  98. package/template/scripts/gemini-wrapper.sh +96 -0
  99. package/template/scripts/init-project.sh +109 -0
  100. package/template/scripts/list-stages.sh +245 -0
  101. package/template/scripts/next-stage.sh +228 -0
  102. package/template/scripts/output-validate.sh +12 -0
  103. package/template/scripts/pipeline-fork.sh +293 -0
  104. package/template/scripts/pre-run-check.sh +361 -0
  105. package/template/scripts/restore-checkpoint.sh +247 -0
  106. package/template/scripts/run-stage.sh +139 -0
  107. package/template/scripts/show-status.sh +185 -0
  108. package/template/scripts/smart-handoff.sh +254 -0
  109. package/template/stages/01-brainstorm/CLAUDE.md +103 -0
  110. package/template/stages/01-brainstorm/HANDOFF.md +110 -0
  111. package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
  112. package/template/stages/01-brainstorm/README.md +97 -0
  113. package/template/stages/01-brainstorm/config.yaml +92 -0
  114. package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
  115. package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
  116. package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
  117. package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
  118. package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
  119. package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
  120. package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
  121. package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
  122. package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
  123. package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
  124. package/template/stages/01-brainstorm/prompts/persona.md +73 -0
  125. package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
  126. package/template/stages/01-brainstorm/prompts/validation.md +50 -0
  127. package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
  128. package/template/stages/01-brainstorm/templates/ideas.md +91 -0
  129. package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
  130. package/template/stages/02-research/CLAUDE.md +101 -0
  131. package/template/stages/02-research/HANDOFF.md +158 -0
  132. package/template/stages/02-research/HANDOFF.md.template +102 -0
  133. package/template/stages/02-research/config.yaml +68 -0
  134. package/template/stages/02-research/inputs/.gitkeep +0 -0
  135. package/template/stages/02-research/outputs/.gitkeep +0 -0
  136. package/template/stages/02-research/outputs/CLAUDE.md +0 -0
  137. package/template/stages/02-research/outputs/feasibility_report.md +176 -0
  138. package/template/stages/02-research/outputs/tech_research.md +403 -0
  139. package/template/stages/02-research/prompts/CLAUDE.md +0 -0
  140. package/template/stages/02-research/prompts/collaboration.md +51 -0
  141. package/template/stages/02-research/prompts/feasibility.md +73 -0
  142. package/template/stages/02-research/prompts/market_analysis.md +58 -0
  143. package/template/stages/02-research/prompts/tech_stack.md +60 -0
  144. package/template/stages/02-research/prompts/validation.md +51 -0
  145. package/template/stages/02-research/templates/.gitkeep +0 -0
  146. package/template/stages/03-planning/CLAUDE.md +98 -0
  147. package/template/stages/03-planning/HANDOFF.md +168 -0
  148. package/template/stages/03-planning/HANDOFF.md.template +91 -0
  149. package/template/stages/03-planning/config.yaml +64 -0
  150. package/template/stages/03-planning/inputs/.gitkeep +0 -0
  151. package/template/stages/03-planning/outputs/.gitkeep +0 -0
  152. package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
  153. package/template/stages/03-planning/outputs/architecture.md +400 -0
  154. package/template/stages/03-planning/outputs/implementation.yaml +209 -0
  155. package/template/stages/03-planning/outputs/project_plan.md +204 -0
  156. package/template/stages/03-planning/outputs/tech_stack.md +176 -0
  157. package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
  158. package/template/stages/03-planning/prompts/architecture.md +62 -0
  159. package/template/stages/03-planning/prompts/collaboration.md +57 -0
  160. package/template/stages/03-planning/prompts/validation.md +59 -0
  161. package/template/stages/03-planning/templates/.gitkeep +0 -0
  162. package/template/stages/04-ui-ux/CLAUDE.md +88 -0
  163. package/template/stages/04-ui-ux/HANDOFF.md +165 -0
  164. package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
  165. package/template/stages/04-ui-ux/config.yaml +57 -0
  166. package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
  167. package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
  168. package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
  169. package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
  170. package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
  171. package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
  172. package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
  173. package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
  174. package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
  175. package/template/stages/04-ui-ux/prompts/validation.md +54 -0
  176. package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
  177. package/template/stages/05-task-management/CLAUDE.md +105 -0
  178. package/template/stages/05-task-management/HANDOFF.md +187 -0
  179. package/template/stages/05-task-management/HANDOFF.md.template +97 -0
  180. package/template/stages/05-task-management/config.yaml +81 -0
  181. package/template/stages/05-task-management/inputs/.gitkeep +0 -0
  182. package/template/stages/05-task-management/outputs/.gitkeep +0 -0
  183. package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
  184. package/template/stages/05-task-management/outputs/milestones.md +253 -0
  185. package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
  186. package/template/stages/05-task-management/outputs/tasks.md +402 -0
  187. package/template/stages/05-task-management/prompts/.gitkeep +0 -0
  188. package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
  189. package/template/stages/05-task-management/prompts/collaboration.md +54 -0
  190. package/template/stages/05-task-management/prompts/validation.md +66 -0
  191. package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
  192. package/template/stages/05-task-management/templates/notion_integration.md +176 -0
  193. package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
  194. package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
  195. package/template/stages/06-implementation/CLAUDE.md +163 -0
  196. package/template/stages/06-implementation/HANDOFF.md +184 -0
  197. package/template/stages/06-implementation/HANDOFF.md.template +192 -0
  198. package/template/stages/06-implementation/config.yaml +62 -0
  199. package/template/stages/06-implementation/inputs/.gitkeep +0 -0
  200. package/template/stages/06-implementation/outputs/.gitkeep +0 -0
  201. package/template/stages/06-implementation/prompts/.gitkeep +0 -0
  202. package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
  203. package/template/stages/06-implementation/prompts/collaboration.md +64 -0
  204. package/template/stages/06-implementation/prompts/validation.md +65 -0
  205. package/template/stages/06-implementation/templates/.gitkeep +0 -0
  206. package/template/stages/07-refactoring/CLAUDE.md +180 -0
  207. package/template/stages/07-refactoring/HANDOFF.md +82 -0
  208. package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
  209. package/template/stages/07-refactoring/config.yaml +68 -0
  210. package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
  211. package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
  212. package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
  213. package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
  214. package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
  215. package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
  216. package/template/stages/07-refactoring/prompts/validation.md +76 -0
  217. package/template/stages/07-refactoring/templates/.gitkeep +0 -0
  218. package/template/stages/08-qa/CLAUDE.md +93 -0
  219. package/template/stages/08-qa/HANDOFF.md +114 -0
  220. package/template/stages/08-qa/HANDOFF.md.template +96 -0
  221. package/template/stages/08-qa/config.yaml +56 -0
  222. package/template/stages/08-qa/inputs/.gitkeep +0 -0
  223. package/template/stages/08-qa/outputs/.gitkeep +0 -0
  224. package/template/stages/08-qa/outputs/qa_report.md +138 -0
  225. package/template/stages/08-qa/prompts/.gitkeep +0 -0
  226. package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
  227. package/template/stages/08-qa/prompts/collaboration.md +65 -0
  228. package/template/stages/08-qa/prompts/validation.md +71 -0
  229. package/template/stages/08-qa/templates/.gitkeep +0 -0
  230. package/template/stages/09-testing/CLAUDE.md +124 -0
  231. package/template/stages/09-testing/HANDOFF.md +118 -0
  232. package/template/stages/09-testing/HANDOFF.md.template +113 -0
  233. package/template/stages/09-testing/config.yaml +65 -0
  234. package/template/stages/09-testing/inputs/.gitkeep +0 -0
  235. package/template/stages/09-testing/outputs/.gitkeep +0 -0
  236. package/template/stages/09-testing/outputs/test_report.md +146 -0
  237. package/template/stages/09-testing/prompts/.gitkeep +0 -0
  238. package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
  239. package/template/stages/09-testing/prompts/collaboration.md +77 -0
  240. package/template/stages/09-testing/prompts/validation.md +83 -0
  241. package/template/stages/09-testing/templates/.gitkeep +0 -0
  242. package/template/stages/10-deployment/CLAUDE.md +117 -0
  243. package/template/stages/10-deployment/HANDOFF.md +141 -0
  244. package/template/stages/10-deployment/HANDOFF.md.template +148 -0
  245. package/template/stages/10-deployment/config.yaml +61 -0
  246. package/template/stages/10-deployment/inputs/.gitkeep +0 -0
  247. package/template/stages/10-deployment/outputs/.gitkeep +0 -0
  248. package/template/stages/10-deployment/prompts/.gitkeep +0 -0
  249. package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
  250. package/template/stages/10-deployment/prompts/collaboration.md +80 -0
  251. package/template/stages/10-deployment/prompts/validation.md +93 -0
  252. package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
  253. package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
  254. package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
  255. package/template/state/progress.json.template +111 -0
  256. package/template/state/templates/CLAUDE.md +0 -0
  257. package/template/state/templates/handoff_base.md.template +187 -0
  258. package/template/state/templates/phase_state.md.template +97 -0
@@ -0,0 +1,96 @@
1
+ # Stage Handoff: 08-qa → 09-testing
2
+
3
+ **생성일**: {{TIMESTAMP}}
4
+ **생성자**: ClaudeCode
5
+ **소요 시간**: {{DURATION}}
6
+
7
+ ---
8
+
9
+ ## 완료된 작업
10
+
11
+ - [ ] 코드 리뷰 완료
12
+ - [ ] 보안 검사 ({{SECURITY_ISSUES}}개 이슈)
13
+ - [ ] 버그 수정 ({{BUGS_FIXED}}개)
14
+ - [ ] QA 보고서 작성
15
+ - [ ] HANDOFF.md 생성
16
+
17
+ ---
18
+
19
+ ## 다음 에이전트를 위한 컨텍스트
20
+
21
+ ### QA 결과 요약
22
+
23
+ | 항목 | 상태 | 비고 |
24
+ |------|------|------|
25
+ | 코딩 표준 | {{STANDARD_STATUS}} | |
26
+ | 보안 검사 | {{SECURITY_STATUS}} | |
27
+ | 성능 | {{PERF_STATUS}} | |
28
+ | 접근성 | {{A11Y_STATUS}} | |
29
+
30
+ ### 수정된 버그
31
+
32
+ | ID | 심각도 | 설명 | 파일 |
33
+ |----|--------|------|------|
34
+ | BUG-001 | {{SEV_1}} | {{BUG_1}} | {{FILE_1}} |
35
+ | BUG-002 | {{SEV_2}} | {{BUG_2}} | {{FILE_2}} |
36
+
37
+ ### 알려진 이슈 (미수정)
38
+ - {{KNOWN_ISSUE_1}}: {{REASON_1}}
39
+
40
+ ### 테스트 필요 영역
41
+ - {{TEST_AREA_1}}: 핵심 기능
42
+ - {{TEST_AREA_2}}: 엣지 케이스
43
+ - {{TEST_AREA_3}}: 통합 테스트
44
+
45
+ ---
46
+
47
+ ## 생성된 산출물
48
+
49
+ | 파일 | 설명 |
50
+ |------|------|
51
+ | qa_report.md | QA 보고서 |
52
+ | bug_fixes.md | 버그 수정 내역 |
53
+
54
+ ---
55
+
56
+ ## 09-testing 스테이지 가이드
57
+
58
+ ### 즉시 실행할 작업
59
+ 1. 단위 테스트 작성
60
+ 2. 통합 테스트 작성
61
+ 3. E2E 테스트 설정 (Playwright)
62
+
63
+ ### 테스트 커버리지 목표
64
+ - 단위 테스트: 80% 이상
65
+ - 통합 테스트: 핵심 플로우 100%
66
+ - E2E: 주요 사용자 시나리오
67
+
68
+ ### 권장 테스트 프레임워크
69
+ - Unit: {{UNIT_FRAMEWORK}}
70
+ - E2E: Playwright
71
+
72
+ ---
73
+
74
+ ## AI 호출 기록
75
+
76
+ | AI | 호출 시간 | 프롬프트 | 결과 | 상태 |
77
+ |----|----------|---------|------|------|
78
+ | {{AI_1}} | {{TIME_1}} | {{PROMPT_1}} | {{OUTPUT_1}} | {{STATUS_1}} |
79
+ | {{AI_2}} | {{TIME_2}} | {{PROMPT_2}} | {{OUTPUT_2}} | {{STATUS_2}} |
80
+
81
+ > 설정: `config/ai_logging.yaml`
82
+
83
+ ---
84
+
85
+ ## 메타데이터
86
+
87
+ ```yaml
88
+ stage: "08-qa"
89
+ status: "completed"
90
+ next_stage: "09-testing"
91
+ models_used:
92
+ - claudecode
93
+ bugs_found: {{BUGS_FOUND}}
94
+ bugs_fixed: {{BUGS_FIXED}}
95
+ security_issues: {{SECURITY_ISSUES}}
96
+ ```
@@ -0,0 +1,56 @@
1
+ # Stage 08: QA Configuration
2
+
3
+ stage:
4
+ id: "08-qa"
5
+ name: "QA"
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: 3600
18
+
19
+ inputs:
20
+ required:
21
+ - name: "../07-refactoring/outputs/refactored_code/"
22
+ - name: "../07-refactoring/outputs/refactoring_report.md"
23
+ - name: "../07-refactoring/HANDOFF.md"
24
+
25
+ outputs:
26
+ required:
27
+ - name: "qa_report.md"
28
+ description: "QA 보고서"
29
+ - name: "bug_fixes.md"
30
+ description: "버그 수정 내역"
31
+ - name: "HANDOFF.md"
32
+
33
+ prompts:
34
+ - name: "code_review"
35
+ file: "prompts/code_review.md"
36
+ model: "claudecode"
37
+ - name: "security_audit"
38
+ file: "prompts/security_audit.md"
39
+ model: "claudecode"
40
+ - name: "bug_fix"
41
+ file: "prompts/bug_fix.md"
42
+ model: "claudecode"
43
+
44
+ completion:
45
+ checklist:
46
+ - "코드 리뷰 완료"
47
+ - "보안 검사 통과"
48
+ - "식별된 버그 수정"
49
+ - "QA 보고서 작성"
50
+
51
+ transition:
52
+ next_stage: "09-testing"
53
+ prerequisites:
54
+ - "07-refactoring"
55
+ handoff_required: true
56
+ checkpoint_required: false
File without changes
File without changes
@@ -0,0 +1,138 @@
1
+ # QA Report - Snake Game
2
+
3
+ > 생성일: 2026-01-21
4
+ > 프로젝트: snake-game
5
+ > 스테이지: 08-qa
6
+
7
+ ---
8
+
9
+ ## 테스트 요약
10
+
11
+ | 항목 | 결과 | 비고 |
12
+ |------|------|------|
13
+ | ESLint | ✅ 통과 | 0 errors, 0 warnings |
14
+ | TypeScript | ✅ 통과 | 컴파일 성공 |
15
+ | 빌드 | ✅ 통과 | 204.59 KB |
16
+ | 기능 테스트 | ✅ 통과 | 핵심 기능 정상 동작 |
17
+
18
+ ---
19
+
20
+ ## 발견 및 수정된 버그
21
+
22
+ ### BUG-001: 게임 시작 즉시 게임 오버
23
+
24
+ **증상**: 게임 시작 버튼 클릭 시 즉시 GAME OVER 화면 표시
25
+
26
+ **원인**: `useGameLoop` 훅의 초기화 로직 결함
27
+ - 첫 프레임에서 `lastTimeRef.current = 0`
28
+ - `deltaTime = timestamp - 0` → 수천 ms
29
+ - `accumulator`에 큰 값이 추가되어 수십 번의 MOVE 호출
30
+ - 뱀이 순식간에 벽까지 이동하여 충돌
31
+
32
+ **수정**:
33
+ ```typescript
34
+ // 수정 전
35
+ if (lastTimeRef.current === 0) {
36
+ lastTimeRef.current = timestamp;
37
+ }
38
+ const deltaTime = timestamp - lastTimeRef.current;
39
+
40
+ // 수정 후
41
+ if (lastTimeRef.current === 0) {
42
+ lastTimeRef.current = timestamp;
43
+ rafIdRef.current = requestAnimationFrame(gameLoop);
44
+ return; // 첫 프레임 스킵
45
+ }
46
+ const deltaTime = timestamp - lastTimeRef.current;
47
+ // deltaTime 클램핑 추가
48
+ const clampedDelta = Math.min(deltaTime, speedRef.current * 2);
49
+ ```
50
+
51
+ **상태**: ✅ 수정 완료
52
+
53
+ ---
54
+
55
+ ## 기능 테스트 결과
56
+
57
+ ### 게임 시작/재시작
58
+ | 테스트 케이스 | 결과 |
59
+ |--------------|------|
60
+ | START GAME 버튼 클릭 | ✅ 통과 |
61
+ | PLAY AGAIN 버튼 클릭 | ✅ 통과 |
62
+ | Enter 키로 시작 | ✅ 통과 |
63
+
64
+ ### 키보드 입력
65
+ | 테스트 케이스 | 결과 |
66
+ |--------------|------|
67
+ | ArrowUp 방향 전환 | ✅ 통과 |
68
+ | ArrowDown 방향 전환 | ✅ 통과 |
69
+ | Space 일시정지/재개 | ✅ 통과 |
70
+
71
+ ### 충돌 감지
72
+ | 테스트 케이스 | 결과 |
73
+ |--------------|------|
74
+ | 상단 벽 충돌 | ✅ 통과 |
75
+ | 우측 벽 충돌 | ✅ 통과 |
76
+ | 게임 오버 모달 표시 | ✅ 통과 |
77
+
78
+ ---
79
+
80
+ ## 코드 품질
81
+
82
+ ### ESLint
83
+ ```
84
+ ✅ 0 errors, 0 warnings
85
+ ```
86
+
87
+ ### TypeScript
88
+ ```
89
+ ✅ tsc -b 성공 (0 errors)
90
+ ```
91
+
92
+ ### 번들 크기
93
+ | 파일 | 크기 | Gzip |
94
+ |------|------|------|
95
+ | index.html | 0.46 KB | 0.29 KB |
96
+ | index.css | 12.85 KB | 2.69 KB |
97
+ | index.js | 204.59 KB | 64.53 KB |
98
+
99
+ **총 번들 크기**: 204.59 KB (목표 200KB 근접)
100
+
101
+ ---
102
+
103
+ ## 수정된 파일
104
+
105
+ | 파일 | 변경 유형 | 설명 |
106
+ |------|----------|------|
107
+ | `src/hooks/useGameLoop.ts` | 수정 | 첫 프레임 스킵 및 deltaTime 클램핑 |
108
+ | `src/engine/gameReducer.ts` | 수정 | 디버그 로그 추가 후 제거 |
109
+
110
+ ---
111
+
112
+ ## 남은 테스트 항목 (09-testing)
113
+
114
+ ### 단위 테스트 필요
115
+ - [ ] `collision.ts` - 충돌 감지 함수
116
+ - [ ] `gameReducer.ts` - 상태 전이 로직
117
+ - [ ] `useGameLoop.ts` - 게임 루프 타이밍
118
+
119
+ ### E2E 테스트 필요
120
+ - [ ] 전체 게임 플로우 (시작 → 플레이 → 게임오버 → 재시작)
121
+ - [ ] 점수 시스템 (먹이 먹기, 레벨업)
122
+ - [ ] 최고 점수 저장/불러오기
123
+
124
+ ---
125
+
126
+ ## 결론
127
+
128
+ 08-qa 스테이지에서 **치명적 버그 1건**을 발견하고 수정했습니다.
129
+ - 게임 루프 초기화 문제로 인한 즉시 게임 오버 현상
130
+ - 수정 후 모든 핵심 기능이 정상 동작함을 확인
131
+
132
+ 게임은 플레이 가능한 상태이며, 09-testing 스테이지에서
133
+ 단위 테스트 및 E2E 테스트를 추가하여 품질을 강화할 예정입니다.
134
+
135
+ ---
136
+
137
+ **작성자**: ClaudeCode
138
+ **검토일**: 2026-01-21
File without changes
File without changes
@@ -0,0 +1,65 @@
1
+ # AI 협업 프롬프트 - QA
2
+
3
+ ## 협업 모드: Comprehensive Review
4
+
5
+ 이 스테이지에서는 **포괄적 리뷰** 모드를 사용하여 품질을 보장합니다.
6
+
7
+ ### 참여 모델
8
+ - **ClaudeCode**: 코드 리뷰, 버그 수정, 보안 검사
9
+
10
+ ### 협업 프롬프트
11
+
12
+ ```
13
+ # 다각도 검토
14
+ /collaborate --mode sequential --chain "claudecode:code_review -> claudecode:security_audit -> claudecode:fix"
15
+ ```
16
+
17
+ ### 리뷰 영역
18
+
19
+ | 영역 | 검토 항목 |
20
+ |------|----------|
21
+ | 코드 품질 | 가독성, 유지보수성, 베스트 프랙티스 |
22
+ | 보안 | OWASP Top 10, 입력 검증, 인증/인가 |
23
+ | 성능 | 응답 시간, 메모리, 리렌더링 |
24
+ | 기능 | 요구사항 충족, 엣지 케이스 |
25
+
26
+ ### 보안 검사 체크리스트
27
+
28
+ - [ ] SQL Injection
29
+ - [ ] XSS (Cross-Site Scripting)
30
+ - [ ] CSRF (Cross-Site Request Forgery)
31
+ - [ ] 인증/인가 우회
32
+ - [ ] 민감 정보 노출
33
+ - [ ] 의존성 취약점
34
+
35
+ ```bash
36
+ # 의존성 취약점 검사
37
+ npm audit
38
+ ```
39
+
40
+ ### 버그 우선순위
41
+
42
+ | 등급 | 기준 | 조치 |
43
+ |------|------|------|
44
+ | Critical | 보안, 데이터 손실 | 즉시 수정 |
45
+ | High | 주요 기능 장애 | 이번 스테이지 수정 |
46
+ | Medium | 부가 기능 이슈 | 다음 스프린트 |
47
+ | Low | UI/UX 개선 | 백로그 |
48
+
49
+ ### 출력 형식
50
+
51
+ ```markdown
52
+ ## QA 결과
53
+
54
+ ### 코드 리뷰
55
+ - [파일]: [이슈] - [심각도]
56
+ ...
57
+
58
+ ### 보안 검사
59
+ - [취약점]: [위치] - [조치]
60
+ ...
61
+
62
+ ### 버그 수정
63
+ - [BUG-001]: [설명] - [해결 방법]
64
+ ...
65
+ ```
@@ -0,0 +1,71 @@
1
+ # 산출물 검증 프롬프트 - QA
2
+
3
+ ## 검증 대상
4
+
5
+ | 산출물 | 필수 조건 | 검증 방법 |
6
+ |--------|----------|----------|
7
+ | `qa_report.md` | 리뷰 결과 포함 | 구조 확인 |
8
+ | `bug_fixes.md` | 수정 내역 | 항목 확인 |
9
+ | 소스 코드 | 보안 검사 통과 | 자동 스캔 |
10
+ | `HANDOFF.md` | 테스트 필요 항목 | 항목 확인 |
11
+
12
+ ## 검증 명령
13
+
14
+ ```bash
15
+ /validate --stage 08-qa
16
+ ```
17
+
18
+ ## 품질 기준
19
+
20
+ ### qa_report.md
21
+ - [ ] 코드 리뷰 결과
22
+ - [ ] 보안 검사 결과
23
+ - [ ] 성능 검토 결과
24
+ - [ ] 발견된 버그 목록
25
+ - [ ] 권장 사항
26
+
27
+ ### bug_fixes.md
28
+ - [ ] 수정된 버그 목록
29
+ - [ ] 각 버그의 원인 분석
30
+ - [ ] 해결 방법
31
+ - [ ] 회귀 방지 조치
32
+
33
+ ### 소스 코드
34
+ - [ ] Critical 버그 0개
35
+ - [ ] High 버그 0개
36
+ - [ ] 보안 취약점 해결
37
+
38
+ ### HANDOFF.md
39
+ - [ ] 테스트 필요 영역
40
+ - [ ] 남은 Medium/Low 이슈
41
+ - [ ] 다음 단계 권고
42
+
43
+ ## 자동 검증 스크립트
44
+
45
+ ```bash
46
+ # 보안 취약점 검사
47
+ npm audit --audit-level=high
48
+
49
+ # Lint 검사
50
+ npm run lint
51
+
52
+ # 타입 검사
53
+ npm run typecheck
54
+
55
+ # 테스트 실행
56
+ npm run test
57
+ ```
58
+
59
+ ## 보안 메트릭
60
+
61
+ | 메트릭 | 기준 | 실제 |
62
+ |--------|------|------|
63
+ | Critical 취약점 | 0 | - |
64
+ | High 취약점 | 0 | - |
65
+ | Medium 취약점 | < 5 | - |
66
+
67
+ ## 실패 시 조치
68
+
69
+ 1. 보안 취약점 → 즉시 수정 후 재검증
70
+ 2. 테스트 실패 → 버그 수정 후 재실행
71
+ 3. Lint 에러 → 코드 수정
File without changes
@@ -0,0 +1,124 @@
1
+ # Stage 09: Testing & E2E
2
+
3
+ 테스트 코드 작성 및 E2E 테스트 단계
4
+
5
+ ## 🎭 페르소나: Test Engineer
6
+
7
+ > 당신은 Test Engineer입니다.
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.4 (체계적 설계)
30
+ - **커버리지 집중**: High
31
+ - **자동화 수준**: High
32
+
33
+ ## 실행 모델
34
+ - **Primary**: Codex (테스트 코드 생성)
35
+ - **Mode**: Sandbox + Playwright
36
+ - **MCP**: playwright 서버 연동
37
+
38
+ ## 목표
39
+ 1. 단위 테스트 작성
40
+ 2. 통합 테스트 작성
41
+ 3. E2E 테스트 작성 (Playwright)
42
+ 4. 테스트 커버리지 확보
43
+
44
+ ## 입력 파일
45
+ - `../07-refactoring/outputs/refactored_code/` (또는 수정된 코드)
46
+ - `../08-qa/outputs/qa_report.md`
47
+ - `../08-qa/HANDOFF.md`
48
+
49
+ ## 출력 파일
50
+ - `outputs/tests/` - 테스트 코드
51
+ - `outputs/test_report.md` - 테스트 결과 보고서
52
+ - `outputs/coverage_report.md` - 커버리지 보고서
53
+ - `HANDOFF.md` - 다음 스테이지 인계 문서
54
+
55
+ ## Codex CLI 활용
56
+
57
+ ### 단위 테스트 생성
58
+ ```bash
59
+ /codex "다음 함수에 대한 단위 테스트를 작성해주세요:
60
+ [함수 코드]
61
+ 테스트 프레임워크: Vitest/Jest
62
+ 커버리지 목표: 80%"
63
+ ```
64
+
65
+ ### E2E 테스트 생성
66
+ ```bash
67
+ /codex "다음 사용자 플로우에 대한 Playwright 테스트를 작성해주세요:
68
+ 1. 로그인 플로우
69
+ 2. 핵심 기능 테스트
70
+ 3. 에러 시나리오"
71
+ ```
72
+
73
+ ## 워크플로우
74
+
75
+ ### 1. 테스트 환경 설정
76
+ ```bash
77
+ # Vitest 설정
78
+ npm install -D vitest @testing-library/react
79
+
80
+ # Playwright 설정
81
+ npm install -D @playwright/test
82
+ npx playwright install
83
+ ```
84
+
85
+ ### 2. 단위 테스트 작성
86
+ - 유틸리티 함수
87
+ - 컴포넌트 렌더링
88
+ - 훅 테스트
89
+ - API 핸들러
90
+
91
+ ### 3. 통합 테스트
92
+ - API 통합 테스트
93
+ - 컴포넌트 통합 테스트
94
+ - 데이터 흐름 테스트
95
+
96
+ ### 4. E2E 테스트
97
+ - 핵심 사용자 플로우
98
+ - 인증 플로우
99
+ - 에러 처리 시나리오
100
+
101
+ ### 5. 커버리지 분석
102
+ - 목표 커버리지 확인
103
+ - 커버되지 않은 영역 식별
104
+
105
+ ## 커버리지 목표
106
+ - **Statements**: 80%
107
+ - **Branches**: 75%
108
+ - **Functions**: 80%
109
+ - **Lines**: 80%
110
+
111
+ ## 완료 조건
112
+ - [ ] 단위 테스트 작성 (커버리지 80%+)
113
+ - [ ] 통합 테스트 작성
114
+ - [ ] E2E 테스트 작성 (핵심 플로우)
115
+ - [ ] 모든 테스트 통과
116
+ - [ ] 커버리지 보고서 생성
117
+ - [ ] HANDOFF.md 생성
118
+
119
+ ## 다음 스테이지
120
+ → **10-deployment**: CI/CD 및 배포
121
+
122
+
123
+
124
+
@@ -0,0 +1,118 @@
1
+ # HANDOFF: 09-testing → 10-deployment
2
+
3
+ > 생성일: 2026-01-21
4
+ > 프로젝트: snake-game
5
+ > 현재 스테이지: 09-testing (완료)
6
+ > 다음 스테이지: 10-deployment
7
+
8
+ ---
9
+
10
+ ## ✅ 완료된 작업
11
+
12
+ - [x] Vitest 테스트 환경 설정
13
+ - [x] 단위 테스트 작성 (43개)
14
+ - [x] collision.test.ts (23 tests)
15
+ - [x] gameReducer.test.ts (20 tests)
16
+ - [x] 테스트 커버리지 분석
17
+ - [x] 테스트 보고서 작성
18
+
19
+ ---
20
+
21
+ ## 📊 테스트 결과
22
+
23
+ | 항목 | 결과 |
24
+ |------|------|
25
+ | 총 테스트 | 43개 |
26
+ | 통과율 | 100% |
27
+ | 핵심 로직 커버리지 | 77-87% |
28
+
29
+ ### 커버리지 상세
30
+ | 파일 | Lines |
31
+ |------|-------|
32
+ | collision.ts | 77.77% |
33
+ | gameReducer.ts | 87.27% |
34
+ | config.ts | 100% |
35
+
36
+ ---
37
+
38
+ ## 📁 생성/수정된 파일
39
+
40
+ | 파일 | 변경 유형 | 설명 |
41
+ |------|----------|------|
42
+ | `vite.config.ts` | 수정 | Vitest 설정 추가 |
43
+ | `package.json` | 수정 | 테스트 스크립트 추가 |
44
+ | `src/test/setup.ts` | 생성 | 테스트 setup |
45
+ | `src/engine/collision.test.ts` | 생성 | 충돌 감지 테스트 |
46
+ | `src/engine/gameReducer.test.ts` | 생성 | 게임 리듀서 테스트 |
47
+ | `outputs/test_report.md` | 생성 | 테스트 보고서 |
48
+
49
+ ---
50
+
51
+ ## 🚀 10-deployment 권장 작업
52
+
53
+ ### 1. 빌드 설정
54
+ ```bash
55
+ npm run build
56
+ ```
57
+
58
+ ### 2. 배포 옵션
59
+
60
+ #### Option A: GitHub Pages
61
+ ```bash
62
+ # vite.config.ts에 base 추가
63
+ base: '/snake-game/',
64
+
65
+ # gh-pages 패키지 사용
66
+ npm install -D gh-pages
67
+ ```
68
+
69
+ #### Option B: Vercel
70
+ ```bash
71
+ # Vercel CLI 사용
72
+ npm i -g vercel
73
+ vercel
74
+ ```
75
+
76
+ #### Option C: Netlify
77
+ ```bash
78
+ # netlify.toml 생성
79
+ [build]
80
+ command = "npm run build"
81
+ publish = "dist"
82
+ ```
83
+
84
+ ### 3. 환경 변수 (필요시)
85
+ - 현재 프로젝트는 환경 변수 불필요
86
+
87
+ ### 4. CI/CD (선택)
88
+ - GitHub Actions 워크플로우 설정
89
+ - 자동 테스트 및 배포
90
+
91
+ ---
92
+
93
+ ## 📦 배포 전 체크리스트
94
+
95
+ - [x] 빌드 성공 (204KB)
96
+ - [x] ESLint 통과
97
+ - [x] TypeScript 컴파일 성공
98
+ - [x] 테스트 통과 (43/43)
99
+ - [ ] README.md 작성
100
+ - [ ] 배포 설정
101
+
102
+ ---
103
+
104
+ ## 🚀 다음 단계
105
+
106
+ ```bash
107
+ # 10-deployment 스테이지 실행
108
+ /run-stage 10-deployment
109
+
110
+ # 또는
111
+ /deploy
112
+ ```
113
+
114
+ ---
115
+
116
+ **생성자**: ClaudeCode
117
+ **검토자**: -
118
+ **승인**: 대기