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,113 @@
1
+ # Stage Handoff: 09-testing → 10-deployment
2
+
3
+ **생성일**: {{TIMESTAMP}}
4
+ **생성자**: Codex
5
+ **소요 시간**: {{DURATION}}
6
+
7
+ ---
8
+
9
+ ## 완료된 작업
10
+
11
+ - [ ] 단위 테스트 작성 ({{UNIT_COUNT}}개)
12
+ - [ ] 통합 테스트 작성 ({{INT_COUNT}}개)
13
+ - [ ] E2E 테스트 작성 ({{E2E_COUNT}}개)
14
+ - [ ] 모든 테스트 통과
15
+ - [ ] 커버리지 보고서 생성
16
+ - [ ] HANDOFF.md 생성
17
+
18
+ ---
19
+
20
+ ## 다음 에이전트를 위한 컨텍스트
21
+
22
+ ### 테스트 결과 요약
23
+
24
+ | 유형 | 총 개수 | 통과 | 실패 | 스킵 |
25
+ |------|--------|------|------|------|
26
+ | Unit | {{UNIT_COUNT}} | {{UNIT_PASS}} | {{UNIT_FAIL}} | {{UNIT_SKIP}} |
27
+ | Integration | {{INT_COUNT}} | {{INT_PASS}} | {{INT_FAIL}} | {{INT_SKIP}} |
28
+ | E2E | {{E2E_COUNT}} | {{E2E_PASS}} | {{E2E_FAIL}} | {{E2E_SKIP}} |
29
+
30
+ ### 커버리지 보고서
31
+
32
+ | 메트릭 | 결과 | 목표 | 상태 |
33
+ |--------|------|------|------|
34
+ | Statements | {{STMT_COV}}% | 80% | {{STMT_STATUS}} |
35
+ | Branches | {{BRANCH_COV}}% | 75% | {{BRANCH_STATUS}} |
36
+ | Functions | {{FUNC_COV}}% | 80% | {{FUNC_STATUS}} |
37
+ | Lines | {{LINE_COV}}% | 80% | {{LINE_STATUS}} |
38
+
39
+ ### E2E 테스트 시나리오
40
+
41
+ | 시나리오 | 상태 | 실행 시간 |
42
+ |----------|------|-----------|
43
+ | {{E2E_1}} | Pass | {{TIME_1}} |
44
+ | {{E2E_2}} | Pass | {{TIME_2}} |
45
+ | {{E2E_3}} | Pass | {{TIME_3}} |
46
+
47
+ ### CI 통합 준비 사항
48
+ - 테스트 명령어: `npm test`
49
+ - 커버리지 명령어: `npm run coverage`
50
+ - E2E 명령어: `npm run test:e2e`
51
+
52
+ ---
53
+
54
+ ## 생성된 산출물
55
+
56
+ | 파일 | 설명 |
57
+ |------|------|
58
+ | tests/ | 테스트 코드 |
59
+ | test_report.md | 테스트 결과 |
60
+ | coverage_report.md | 커버리지 보고서 |
61
+
62
+ ---
63
+
64
+ ## 10-deployment 스테이지 가이드
65
+
66
+ ### 즉시 실행할 작업
67
+ 1. GitHub Actions 워크플로우 설정
68
+ 2. 배포 환경 설정
69
+ 3. 환경 변수 구성
70
+
71
+ ### CI/CD 파이프라인 제안
72
+ ```yaml
73
+ workflow:
74
+ - lint
75
+ - type-check
76
+ - unit-tests
77
+ - integration-tests
78
+ - build
79
+ - e2e-tests
80
+ - deploy
81
+ ```
82
+
83
+ ### 배포 전 체크리스트
84
+ - [ ] 환경 변수 설정
85
+ - [ ] 도메인 설정
86
+ - [ ] SSL 인증서
87
+ - [ ] 데이터베이스 마이그레이션
88
+
89
+ ---
90
+
91
+ ## AI 호출 기록
92
+
93
+ | AI | 호출 시간 | 프롬프트 | 결과 | 상태 |
94
+ |----|----------|---------|------|------|
95
+ | {{AI_1}} | {{TIME_1}} | {{PROMPT_1}} | {{OUTPUT_1}} | {{STATUS_1}} |
96
+ | {{AI_2}} | {{TIME_2}} | {{PROMPT_2}} | {{OUTPUT_2}} | {{STATUS_2}} |
97
+
98
+ > 설정: `config/ai_logging.yaml`
99
+
100
+ ---
101
+
102
+ ## 메타데이터
103
+
104
+ ```yaml
105
+ stage: "09-testing"
106
+ status: "completed"
107
+ next_stage: "10-deployment"
108
+ models_used:
109
+ - codex
110
+ total_tests: {{TOTAL_TESTS}}
111
+ coverage: {{TOTAL_COV}}%
112
+ e2e_scenarios: {{E2E_COUNT}}
113
+ ```
@@ -0,0 +1,65 @@
1
+ # Stage 09: Testing & E2E Configuration
2
+
3
+ stage:
4
+ id: "09-testing"
5
+ name: "Testing & E2E"
6
+ description: "테스트 코드 작성 및 E2E 테스트"
7
+
8
+ models:
9
+ primary: "codex"
10
+ secondary: null
11
+ collaboration: null
12
+
13
+ execution:
14
+ mode: "sandbox_playwright"
15
+ container: false
16
+ sandbox: true
17
+ timeout: 7200 # 2 hours
18
+
19
+ mcp_servers:
20
+ - playwright
21
+
22
+ inputs:
23
+ required:
24
+ - name: "source_code/"
25
+ description: "테스트할 소스 코드"
26
+ - name: "../08-qa/outputs/qa_report.md"
27
+ - name: "../08-qa/HANDOFF.md"
28
+
29
+ outputs:
30
+ required:
31
+ - name: "tests/"
32
+ description: "테스트 코드"
33
+ - name: "test_report.md"
34
+ description: "테스트 결과 보고서"
35
+ - name: "coverage_report.md"
36
+ description: "커버리지 보고서"
37
+ - name: "HANDOFF.md"
38
+
39
+ prompts:
40
+ - name: "unit_tests"
41
+ file: "prompts/unit_tests.md"
42
+ model: "codex"
43
+ - name: "integration_tests"
44
+ file: "prompts/integration_tests.md"
45
+ model: "codex"
46
+ - name: "e2e_tests"
47
+ file: "prompts/e2e_tests.md"
48
+ model: "codex"
49
+
50
+ completion:
51
+ checklist:
52
+ - "단위 테스트 작성 (커버리지 80%+)"
53
+ - "통합 테스트 작성"
54
+ - "E2E 테스트 작성"
55
+ - "모든 테스트 통과"
56
+ - "커버리지 보고서 생성"
57
+ validation:
58
+ min_coverage: 80
59
+
60
+ transition:
61
+ next_stage: "10-deployment"
62
+ prerequisites:
63
+ - "08-qa"
64
+ handoff_required: true
65
+ checkpoint_required: false
File without changes
File without changes
@@ -0,0 +1,146 @@
1
+ # Test Report - Snake Game
2
+
3
+ > 생성일: 2026-01-21
4
+ > 프로젝트: snake-game
5
+ > 스테이지: 09-testing
6
+
7
+ ---
8
+
9
+ ## 테스트 요약
10
+
11
+ | 항목 | 값 |
12
+ |------|-----|
13
+ | 테스트 프레임워크 | Vitest 4.0.17 |
14
+ | 총 테스트 수 | 43개 |
15
+ | 통과 | 43개 (100%) |
16
+ | 실패 | 0개 |
17
+ | 실행 시간 | 880ms |
18
+
19
+ ---
20
+
21
+ ## 커버리지 요약
22
+
23
+ | 파일 | Statements | Branches | Functions | Lines |
24
+ |------|------------|----------|-----------|-------|
25
+ | **collision.ts** | 76.19% | 85.71% | 80% | 77.77% |
26
+ | **gameReducer.ts** | 87.5% | 86.11% | 100% | 87.27% |
27
+ | **config.ts** | 100% | 100% | 100% | 100% |
28
+ | **전체** | 30.87% | 37.81% | 29.03% | 31.44% |
29
+
30
+ ### 핵심 로직 커버리지
31
+ - **충돌 감지 (collision.ts)**: 77% - 우수
32
+ - **게임 상태 관리 (gameReducer.ts)**: 87% - 우수
33
+ - **설정 (config.ts)**: 100% - 완벽
34
+
35
+ ---
36
+
37
+ ## 테스트 파일 목록
38
+
39
+ ### 1. collision.test.ts (23 tests)
40
+
41
+ #### isSamePoint
42
+ - ✅ 동일한 포인트 판별
43
+ - ✅ 다른 포인트 판별
44
+ - ✅ y만 다른 포인트 판별
45
+
46
+ #### checkWallCollision
47
+ - ✅ 보드 내부 포인트
48
+ - ✅ 음수 x 좌표
49
+ - ✅ 음수 y 좌표
50
+ - ✅ 보드 경계 x
51
+ - ✅ 보드 경계 y
52
+ - ✅ 코너 (0,0)
53
+ - ✅ 최대 유효 위치 (19,19)
54
+
55
+ #### checkSelfCollision
56
+ - ✅ 충돌 없는 짧은 뱀
57
+ - ✅ 머리와 몸 충돌
58
+ - ✅ 길이 1 뱀
59
+
60
+ #### checkFoodCollision
61
+ - ✅ 머리가 음식 위치에 있을 때
62
+ - ✅ 머리가 음식 위치에 없을 때
63
+
64
+ #### detectCollision
65
+ - ✅ 벽 충돌 반환
66
+ - ✅ 자기 충돌 반환
67
+ - ✅ 음식 충돌 반환
68
+ - ✅ 충돌 없음 반환
69
+ - ✅ 벽 충돌 우선순위
70
+
71
+ #### isOnSnake
72
+ - ✅ 뱀 머리 위 포인트
73
+ - ✅ 뱀 몸 위 포인트
74
+ - ✅ 뱀 위에 없는 포인트
75
+
76
+ ---
77
+
78
+ ### 2. gameReducer.test.ts (20 tests)
79
+
80
+ #### createInitialState
81
+ - ✅ 기본 초기 상태 생성
82
+ - ✅ 제공된 최고 점수로 초기화
83
+ - ✅ 뱀이 보드 중앙에서 시작
84
+
85
+ #### START_GAME action
86
+ - ✅ IDLE → PLAYING 상태 전이
87
+ - ✅ GAME_OVER → PLAYING 상태 전이
88
+ - ✅ PLAYING 상태에서 변경 안됨
89
+ - ✅ 최고 점수 유지
90
+
91
+ #### PAUSE_GAME action
92
+ - ✅ PLAYING → PAUSED 상태 전이
93
+ - ✅ PLAYING 아닐 때 변경 안됨
94
+
95
+ #### RESUME_GAME action
96
+ - ✅ PAUSED → PLAYING 상태 전이
97
+ - ✅ PAUSED 아닐 때 변경 안됨
98
+
99
+ #### CHANGE_DIRECTION action
100
+ - ✅ 유효한 방향 변경
101
+ - ✅ 반대 방향(180도 회전) 차단
102
+ - ✅ PLAYING 아닐 때 변경 안됨
103
+
104
+ #### MOVE action
105
+ - ✅ 뱀 전진 이동
106
+ - ✅ PLAYING 아닐 때 이동 안됨
107
+ - ✅ 벽 충돌 시 게임 오버
108
+ - ✅ 음식 먹으면 뱀 성장
109
+
110
+ #### RESET_GAME action
111
+ - ✅ 게임 초기화 및 최고 점수 유지
112
+
113
+ #### SET_HIGH_SCORE action
114
+ - ✅ 최고 점수 업데이트
115
+
116
+ ---
117
+
118
+ ## 테스트 환경
119
+
120
+ ```json
121
+ {
122
+ "vitest": "4.0.17",
123
+ "jsdom": "27.4.0",
124
+ "@testing-library/react": "16.3.2",
125
+ "@testing-library/jest-dom": "6.9.1",
126
+ "@vitest/coverage-v8": "4.0.17"
127
+ }
128
+ ```
129
+
130
+ ---
131
+
132
+ ## 권장 개선 사항
133
+
134
+ ### 추가 테스트 필요
135
+ 1. **useGameLoop 훅** - 게임 루프 타이밍 테스트
136
+ 2. **useKeyboard 훅** - 키보드 이벤트 테스트
137
+ 3. **renderer.ts** - Canvas 렌더링 테스트 (jsdom 제한)
138
+
139
+ ### E2E 테스트 (향후)
140
+ - Playwright를 사용한 전체 게임 플로우 테스트
141
+ - 브라우저 호환성 테스트
142
+
143
+ ---
144
+
145
+ **작성자**: ClaudeCode
146
+ **검토일**: 2026-01-21
File without changes
File without changes
@@ -0,0 +1,77 @@
1
+ # AI 협업 프롬프트 - Testing & E2E
2
+
3
+ ## 협업 모드: Test Generation Chain
4
+
5
+ 이 스테이지에서는 **테스트 생성 체인**을 사용하여 포괄적인 테스트를 작성합니다.
6
+
7
+ ### 참여 모델
8
+ - **Codex**: 테스트 코드 생성
9
+ - **ClaudeCode**: E2E 테스트, Playwright 통합
10
+
11
+ ### 협업 프롬프트
12
+
13
+ ```
14
+ # 테스트 생성 체인
15
+ /collaborate --mode sequential --chain "codex:unit_tests -> codex:integration_tests -> claude:e2e_tests"
16
+ ```
17
+
18
+ ### 테스트 계층
19
+
20
+ | 계층 | 담당 AI | 도구 |
21
+ |------|---------|------|
22
+ | 단위 테스트 | Codex | Vitest/Jest |
23
+ | 통합 테스트 | Codex | Testing Library |
24
+ | E2E 테스트 | Claude | Playwright |
25
+
26
+ ### Codex 활용
27
+
28
+ ```bash
29
+ # 단위 테스트 생성
30
+ /codex "다음 함수에 대한 단위 테스트 작성:
31
+ [함수 코드]
32
+ 테스트 프레임워크: Vitest
33
+ 커버리지 목표: 80%"
34
+
35
+ # E2E 테스트 생성
36
+ /codex "다음 사용자 플로우에 대한 Playwright 테스트:
37
+ 1. 로그인
38
+ 2. 핵심 기능
39
+ 3. 에러 시나리오"
40
+ ```
41
+
42
+ ### MCP 서버: Playwright
43
+
44
+ ```javascript
45
+ // E2E 테스트 예시
46
+ test('로그인 플로우', async ({ page }) => {
47
+ await page.goto('/login');
48
+ await page.fill('[name="email"]', 'test@example.com');
49
+ await page.fill('[name="password"]', 'password');
50
+ await page.click('button[type="submit"]');
51
+ await expect(page).toHaveURL('/dashboard');
52
+ });
53
+ ```
54
+
55
+ ### 출력 형식
56
+
57
+ ```markdown
58
+ ## AI 협업 결과
59
+
60
+ ### Codex 단위 테스트
61
+ - [파일]: [테스트 케이스 수]
62
+ ...
63
+
64
+ ### Codex 통합 테스트
65
+ - [시나리오]: [커버리지]
66
+ ...
67
+
68
+ ### Claude E2E 테스트
69
+ - [플로우]: [테스트 케이스]
70
+ ...
71
+
72
+ ### 커버리지 요약
73
+ - Statements: X%
74
+ - Branches: X%
75
+ - Functions: X%
76
+ - Lines: X%
77
+ ```
@@ -0,0 +1,83 @@
1
+ # 산출물 검증 프롬프트 - Testing & E2E
2
+
3
+ ## 검증 대상
4
+
5
+ | 산출물 | 필수 조건 | 검증 방법 |
6
+ |--------|----------|----------|
7
+ | `tests/` | 커버리지 80%+ | `npm run test:coverage` |
8
+ | `test_report.md` | 100% 통과 | 결과 확인 |
9
+ | `coverage_report.md` | 메트릭 포함 | 구조 확인 |
10
+ | `HANDOFF.md` | 배포 준비 상태 | 항목 확인 |
11
+
12
+ ## 검증 명령
13
+
14
+ ```bash
15
+ /validate --stage 09-testing
16
+ ```
17
+
18
+ ## 품질 기준
19
+
20
+ ### tests/
21
+ - [ ] 단위 테스트 존재
22
+ - [ ] 통합 테스트 존재
23
+ - [ ] E2E 테스트 존재 (핵심 플로우)
24
+ - [ ] 모든 테스트 통과
25
+
26
+ ### 커버리지 목표
27
+ - [ ] Statements: 80%+
28
+ - [ ] Branches: 75%+
29
+ - [ ] Functions: 80%+
30
+ - [ ] Lines: 80%+
31
+
32
+ ### test_report.md
33
+ - [ ] 테스트 케이스 목록
34
+ - [ ] 통과/실패 현황
35
+ - [ ] 실패 테스트 분석 (있는 경우)
36
+
37
+ ### coverage_report.md
38
+ - [ ] 커버리지 요약
39
+ - [ ] 파일별 커버리지
40
+ - [ ] 커버되지 않은 영역 식별
41
+
42
+ ### HANDOFF.md
43
+ - [ ] 테스트 통과 확인
44
+ - [ ] 커버리지 달성 확인
45
+ - [ ] 배포 준비 체크리스트
46
+
47
+ ## 자동 검증 스크립트
48
+
49
+ ```bash
50
+ # 단위/통합 테스트 실행
51
+ npm run test
52
+
53
+ # 커버리지 측정
54
+ npm run test:coverage
55
+
56
+ # E2E 테스트 실행
57
+ npm run test:e2e
58
+
59
+ # 커버리지 임계값 확인
60
+ npm run test:coverage -- --coverageThreshold='{"global":{"statements":80,"branches":75,"functions":80,"lines":80}}'
61
+ ```
62
+
63
+ ## 커버리지 메트릭
64
+
65
+ | 메트릭 | 목표 | 실제 | 상태 |
66
+ |--------|------|------|------|
67
+ | Statements | 80% | - | - |
68
+ | Branches | 75% | - | - |
69
+ | Functions | 80% | - | - |
70
+ | Lines | 80% | - | - |
71
+
72
+ ## E2E 테스트 체크리스트
73
+
74
+ - [ ] 인증 플로우 테스트
75
+ - [ ] 핵심 기능 플로우 테스트
76
+ - [ ] 에러 시나리오 테스트
77
+ - [ ] 반응형 테스트 (선택적)
78
+
79
+ ## 실패 시 조치
80
+
81
+ 1. 테스트 실패 → 버그 수정 후 재실행
82
+ 2. 커버리지 미달 → 테스트 추가
83
+ 3. E2E 실패 → UI/로직 수정
File without changes
@@ -0,0 +1,117 @@
1
+ # Stage 10: CI/CD & Deployment
2
+
3
+ 배포 파이프라인 설정 및 배포 단계
4
+
5
+ ## 🎭 페르소나: DevOps Specialist
6
+
7
+ > 당신은 DevOps Specialist입니다.
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.2 (안전 최우선)
30
+ - **안전성 집중**: Critical
31
+ - **자동화 수준**: High
32
+
33
+ ## 실행 모델
34
+ - **Primary**: ClaudeCode (CI/CD 설정)
35
+ - **Mode**: Headless - CI/CD 환경 자동화
36
+
37
+ ## 목표
38
+ 1. CI/CD 파이프라인 설정
39
+ 2. 배포 환경 구성
40
+ 3. 모니터링 설정
41
+ 4. 문서화 완료
42
+
43
+ ## 입력 파일
44
+ - `source_code/` - 최종 소스 코드
45
+ - `../09-testing/outputs/tests/`
46
+ - `../09-testing/outputs/test_report.md`
47
+ - `../09-testing/HANDOFF.md`
48
+
49
+ ## 출력 파일
50
+ - `outputs/.github/workflows/` - GitHub Actions
51
+ - `outputs/deployment_config/` - 배포 설정
52
+ - `outputs/deployment_log.md` - 배포 로그
53
+ - `HANDOFF.md` (최종)
54
+
55
+ ## 워크플로우
56
+
57
+ ### 1. CI 파이프라인 설정
58
+ ```yaml
59
+ # .github/workflows/ci.yml
60
+ name: CI
61
+ on: [push, pull_request]
62
+ jobs:
63
+ test:
64
+ runs-on: ubuntu-latest
65
+ steps:
66
+ - uses: actions/checkout@v4
67
+ - uses: actions/setup-node@v4
68
+ - run: npm ci
69
+ - run: npm run lint
70
+ - run: npm run type-check
71
+ - run: npm test
72
+ ```
73
+
74
+ ### 2. CD 파이프라인 설정
75
+ - 스테이징 환경 배포
76
+ - 프로덕션 환경 배포
77
+ - 롤백 전략
78
+
79
+ ### 3. 환경 설정
80
+ - 환경 변수 관리
81
+ - 시크릿 설정
82
+ - 도메인/SSL
83
+
84
+ ### 4. 모니터링 설정
85
+ - 에러 트래킹 (Sentry)
86
+ - 성능 모니터링
87
+ - 로그 수집
88
+
89
+ ### 5. 문서화
90
+ - 배포 가이드
91
+ - 운영 매뉴얼
92
+ - 트러블슈팅 가이드
93
+
94
+ ## 배포 플랫폼 옵션
95
+ - **Vercel**: Next.js 권장
96
+ - **Railway**: 풀스택
97
+ - **AWS**: 엔터프라이즈
98
+ - **Cloudflare**: Edge
99
+
100
+ ## 완료 조건
101
+ - [ ] CI 파이프라인 설정
102
+ - [ ] CD 파이프라인 설정
103
+ - [ ] 스테이징 배포 성공
104
+ - [ ] 프로덕션 배포 성공
105
+ - [ ] 모니터링 설정
106
+ - [ ] 배포 문서 작성
107
+ - [ ] HANDOFF.md 생성 (최종)
108
+
109
+ ## 파이프라인 종료
110
+ 이것이 마지막 스테이지입니다. 배포 완료 후:
111
+ 1. 전체 프로젝트 회고
112
+ 2. 학습 내용 문서화
113
+ 3. 유지보수 계획 수립
114
+
115
+
116
+
117
+