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,141 @@
1
+ # HANDOFF: 10-deployment (완료)
2
+
3
+ > 생성일: 2026-01-21
4
+ > 프로젝트: snake-game
5
+ > 현재 스테이지: 10-deployment (완료)
6
+ > 다음 스테이지: 파이프라인 완료
7
+
8
+ ---
9
+
10
+ ## 완료된 작업
11
+
12
+ - [x] 빌드 설정 검증
13
+ - Vite 빌드 성공 (204.59KB)
14
+ - TypeScript 컴파일 통과
15
+ - ESLint 검사 통과
16
+ - [x] GitHub Pages 배포 설정
17
+ - `vite.config.ts`에 `base: '/snake-game/'` 추가
18
+ - `.github/workflows/deploy.yml` 생성
19
+ - [x] CI/CD 파이프라인 구성
20
+ - 테스트 실행 → 빌드 → 배포 자동화
21
+ - main 브랜치 push 시 자동 실행
22
+ - [x] README.md 작성
23
+ - 프로젝트 설명, 기능, 기술 스택
24
+ - 설치 방법, 조작 방법
25
+ - 프로젝트 구조, 테스트 정보
26
+
27
+ ---
28
+
29
+ ## 배포 정보
30
+
31
+ | 항목 | 값 |
32
+ |------|-----|
33
+ | 호스팅 | GitHub Pages |
34
+ | URL | https://youjungmin.github.io/snake-game/ |
35
+ | 배포 트리거 | main 브랜치 push |
36
+ | 빌드 도구 | Vite 7 |
37
+ | 빌드 크기 | 204.59KB |
38
+
39
+ ---
40
+
41
+ ## 생성/수정된 파일
42
+
43
+ | 파일 | 변경 유형 | 설명 |
44
+ |------|----------|------|
45
+ | `vite.config.ts` | 수정 | base 경로 추가 |
46
+ | `.github/workflows/deploy.yml` | 생성 | GitHub Actions 워크플로우 |
47
+ | `README.md` | 수정 | 프로젝트 문서화 |
48
+ | `HANDOFF.md` | 생성 | 배포 완료 문서 |
49
+
50
+ ---
51
+
52
+ ## 배포 워크플로우
53
+
54
+ ```yaml
55
+ name: Deploy to GitHub Pages
56
+ on:
57
+ push:
58
+ branches: ['main']
59
+
60
+ jobs:
61
+ build:
62
+ - Checkout
63
+ - Setup Node.js 20
64
+ - Install dependencies (npm ci)
65
+ - Run tests (npm run test:run)
66
+ - Build (npm run build)
67
+ - Upload artifact
68
+
69
+ deploy:
70
+ - Deploy to GitHub Pages
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 파이프라인 완료 요약
76
+
77
+ ### 전체 스테이지 현황
78
+
79
+ | 스테이지 | 상태 | 주요 산출물 |
80
+ |---------|------|-----------|
81
+ | 01-brainstorm | 완료 | ideas.md, requirements_analysis.md |
82
+ | 02-research | 완료 | tech_research.md, feasibility_report.md |
83
+ | 03-planning | 완료 | architecture.md, tech_stack.md |
84
+ | 04-ui-ux | 완료 | wireframes.md, design_system.md |
85
+ | 05-task-management | 완료 | tasks.md, sprint_plan.md |
86
+ | 06-implementation | 완료 | 전체 게임 소스코드 |
87
+ | 07-refactoring | 완료 | 코드 최적화 |
88
+ | 08-qa | 완료 | BUG-001 수정, qa_report.md |
89
+ | 09-testing | 완료 | 43개 테스트 (100% 통과) |
90
+ | 10-deployment | 완료 | GitHub Pages 배포 |
91
+
92
+ ### 핵심 기술 결정
93
+
94
+ 1. **렌더링**: Canvas API (CSS Grid 대신)
95
+ 2. **상태 관리**: useReducer 패턴
96
+ 3. **게임 루프**: requestAnimationFrame + Fixed Timestep
97
+ 4. **테스트**: Vitest + Testing Library
98
+ 5. **배포**: GitHub Actions + GitHub Pages
99
+
100
+ ### 버그 수정 기록
101
+
102
+ | ID | 문제 | 해결 |
103
+ |----|------|------|
104
+ | BUG-001 | 게임 시작 즉시 Game Over | useGameLoop 첫 프레임 초기화 수정 |
105
+
106
+ ---
107
+
108
+ ## 배포 후 권장 작업
109
+
110
+ 1. **GitHub Repository 설정**
111
+ - Settings → Pages → GitHub Actions 선택
112
+ - Repository를 public으로 설정
113
+
114
+ 2. **첫 배포 확인**
115
+ - main 브랜치에 push
116
+ - Actions 탭에서 워크플로우 실행 확인
117
+ - 배포 URL 접속 테스트
118
+
119
+ 3. **향후 개선 (선택)**
120
+ - 모바일 터치 지원
121
+ - 사운드 효과
122
+ - 리더보드 (백엔드 필요)
123
+
124
+ ---
125
+
126
+ ## 프로젝트 통계
127
+
128
+ | 항목 | 값 |
129
+ |------|-----|
130
+ | 총 소요 시간 | 약 4시간 |
131
+ | 파일 수 | 20+ |
132
+ | 코드 라인 | 1,500+ |
133
+ | 테스트 수 | 43개 |
134
+ | 커버리지 | 77-87% (핵심 로직) |
135
+
136
+ ---
137
+
138
+ **ax-templates 10단계 파이프라인 완료**
139
+
140
+ 생성자: ClaudeCode
141
+ 완료일: 2026-01-21
@@ -0,0 +1,148 @@
1
+ # Stage Handoff: 10-deployment → PROJECT COMPLETE
2
+
3
+ **생성일**: {{TIMESTAMP}}
4
+ **생성자**: ClaudeCode
5
+ **소요 시간**: {{DURATION}}
6
+
7
+ ---
8
+
9
+ ## 완료된 작업
10
+
11
+ - [ ] CI 파이프라인 설정
12
+ - [ ] CD 파이프라인 설정
13
+ - [ ] 스테이징 배포 성공
14
+ - [ ] 프로덕션 배포 성공
15
+ - [ ] 모니터링 설정
16
+ - [ ] 배포 문서 작성
17
+ - [ ] HANDOFF.md 생성 (최종)
18
+
19
+ ---
20
+
21
+ ## 프로젝트 완료 요약
22
+
23
+ ### 배포 정보
24
+
25
+ | 환경 | URL | 상태 |
26
+ |------|-----|------|
27
+ | Production | {{PROD_URL}} | {{PROD_STATUS}} |
28
+ | Staging | {{STAGE_URL}} | {{STAGE_STATUS}} |
29
+
30
+ ### CI/CD 파이프라인
31
+
32
+ | 파이프라인 | 상태 | 마지막 실행 |
33
+ |------------|------|-------------|
34
+ | CI | {{CI_STATUS}} | {{CI_LAST}} |
35
+ | CD (Staging) | {{CD_STAGE_STATUS}} | {{CD_STAGE_LAST}} |
36
+ | CD (Production) | {{CD_PROD_STATUS}} | {{CD_PROD_LAST}} |
37
+
38
+ ### 모니터링
39
+
40
+ | 서비스 | 용도 | 대시보드 |
41
+ |--------|------|----------|
42
+ | {{MONITOR_1}} | 에러 트래킹 | {{DASH_1}} |
43
+ | {{MONITOR_2}} | 성능 모니터링 | {{DASH_2}} |
44
+
45
+ ---
46
+
47
+ ## 전체 파이프라인 회고
48
+
49
+ ### 스테이지별 소요 시간
50
+
51
+ | 스테이지 | 소요 시간 | 모델 |
52
+ |----------|-----------|------|
53
+ | 01-brainstorm | {{TIME_01}} | Gemini + ClaudeCode |
54
+ | 02-research | {{TIME_02}} | Claude |
55
+ | 03-planning | {{TIME_03}} | Gemini |
56
+ | 04-ui-ux | {{TIME_04}} | Gemini |
57
+ | 05-task-management | {{TIME_05}} | ClaudeCode |
58
+ | 06-implementation | {{TIME_06}} | ClaudeCode |
59
+ | 07-refactoring | {{TIME_07}} | Codex |
60
+ | 08-qa | {{TIME_08}} | ClaudeCode |
61
+ | 09-testing | {{TIME_09}} | Codex |
62
+ | 10-deployment | {{TIME_10}} | ClaudeCode |
63
+ | **총계** | **{{TOTAL_TIME}}** | |
64
+
65
+ ### 주요 성과
66
+ 1. {{ACHIEVEMENT_1}}
67
+ 2. {{ACHIEVEMENT_2}}
68
+ 3. {{ACHIEVEMENT_3}}
69
+
70
+ ### 학습 내용
71
+ 1. {{LEARNING_1}}
72
+ 2. {{LEARNING_2}}
73
+
74
+ ### 향후 개선점
75
+ 1. {{IMPROVEMENT_1}}
76
+ 2. {{IMPROVEMENT_2}}
77
+
78
+ ---
79
+
80
+ ## 운영 가이드
81
+
82
+ ### 배포 명령어
83
+ ```bash
84
+ # 스테이징 배포
85
+ npm run deploy:staging
86
+
87
+ # 프로덕션 배포
88
+ npm run deploy:production
89
+
90
+ # 롤백
91
+ npm run rollback
92
+ ```
93
+
94
+ ### 환경 변수
95
+ - `DATABASE_URL`: 데이터베이스 연결 문자열
96
+ - `API_KEY`: 외부 API 키
97
+ - (`.env.example` 참조)
98
+
99
+ ### 트러블슈팅
100
+ - 배포 실패 시: {{TROUBLESHOOT_1}}
101
+ - 성능 이슈 시: {{TROUBLESHOOT_2}}
102
+
103
+ ---
104
+
105
+ ## 생성된 산출물
106
+
107
+ | 파일 | 설명 |
108
+ |------|------|
109
+ | .github/workflows/ | CI/CD 워크플로우 |
110
+ | deployment_config/ | 배포 설정 |
111
+ | deployment_log.md | 배포 로그 |
112
+
113
+ ---
114
+
115
+ ## 프로젝트 종료
116
+
117
+ 이 프로젝트는 성공적으로 완료되었습니다.
118
+
119
+ ### 다음 단계 제안
120
+ 1. 사용자 피드백 수집
121
+ 2. 성능 모니터링 검토
122
+ 3. 다음 이터레이션 계획
123
+
124
+ ---
125
+
126
+ ## AI 호출 기록
127
+
128
+ | AI | 호출 시간 | 프롬프트 | 결과 | 상태 |
129
+ |----|----------|---------|------|------|
130
+ | {{AI_1}} | {{TIME_1}} | {{PROMPT_1}} | {{OUTPUT_1}} | {{STATUS_1}} |
131
+ | {{AI_2}} | {{TIME_2}} | {{PROMPT_2}} | {{OUTPUT_2}} | {{STATUS_2}} |
132
+
133
+ > 설정: `config/ai_logging.yaml`
134
+
135
+ ---
136
+
137
+ ## 메타데이터
138
+
139
+ ```yaml
140
+ stage: "10-deployment"
141
+ status: "completed"
142
+ project_status: "COMPLETED"
143
+ models_used:
144
+ - claudecode
145
+ total_stages: 10
146
+ total_duration: "{{TOTAL_TIME}}"
147
+ production_url: "{{PROD_URL}}"
148
+ ```
@@ -0,0 +1,61 @@
1
+ # Stage 10: CI/CD & Deployment Configuration
2
+
3
+ stage:
4
+ id: "10-deployment"
5
+ name: "CI/CD & Deployment"
6
+ description: "배포 파이프라인 설정 및 배포"
7
+
8
+ models:
9
+ primary: "claudecode"
10
+ secondary: null
11
+ collaboration: null
12
+
13
+ execution:
14
+ mode: "headless"
15
+ container: false
16
+ sandbox: false
17
+ timeout: 3600
18
+
19
+ inputs:
20
+ required:
21
+ - name: "source_code/"
22
+ - name: "../09-testing/outputs/tests/"
23
+ - name: "../09-testing/outputs/test_report.md"
24
+ - name: "../09-testing/HANDOFF.md"
25
+
26
+ outputs:
27
+ required:
28
+ - name: ".github/workflows/"
29
+ description: "GitHub Actions 워크플로우"
30
+ - name: "deployment_config/"
31
+ description: "배포 설정 파일"
32
+ - name: "deployment_log.md"
33
+ description: "배포 로그"
34
+ - name: "HANDOFF.md"
35
+
36
+ prompts:
37
+ - name: "ci_setup"
38
+ file: "prompts/ci_setup.md"
39
+ model: "claudecode"
40
+ - name: "cd_setup"
41
+ file: "prompts/cd_setup.md"
42
+ model: "claudecode"
43
+ - name: "monitoring"
44
+ file: "prompts/monitoring.md"
45
+ model: "claudecode"
46
+
47
+ completion:
48
+ checklist:
49
+ - "CI 파이프라인 설정"
50
+ - "CD 파이프라인 설정"
51
+ - "스테이징 배포 성공"
52
+ - "프로덕션 배포 성공"
53
+ - "모니터링 설정"
54
+ - "배포 문서 작성"
55
+
56
+ transition:
57
+ next_stage: null # 마지막 스테이지
58
+ prerequisites:
59
+ - "09-testing"
60
+ handoff_required: true
61
+ checkpoint_required: false
File without changes
File without changes
File without changes
@@ -0,0 +1,80 @@
1
+ # AI 협업 프롬프트 - CI/CD & Deployment
2
+
3
+ ## 협업 모드: Deployment Chain
4
+
5
+ 이 스테이지에서는 **배포 체인**을 사용하여 안전한 배포를 수행합니다.
6
+
7
+ ### 참여 모델
8
+ - **ClaudeCode**: CI/CD 설정, 배포 자동화
9
+
10
+ ### 협업 프롬프트
11
+
12
+ ```
13
+ # 배포 체인
14
+ /collaborate --mode sequential --chain "claudecode:ci_setup -> claudecode:cd_setup -> claudecode:deploy"
15
+ ```
16
+
17
+ ### 배포 단계
18
+
19
+ | 단계 | 작업 | 검증 |
20
+ |------|------|------|
21
+ | CI 설정 | 빌드/테스트 파이프라인 | 테스트 통과 |
22
+ | CD 설정 | 스테이징/프로덕션 파이프라인 | 환경 분리 |
23
+ | 배포 | 실제 배포 실행 | 헬스 체크 |
24
+
25
+ ### CI/CD 파이프라인 구성
26
+
27
+ ```yaml
28
+ # .github/workflows/ci.yml
29
+ name: CI
30
+ on: [push, pull_request]
31
+ jobs:
32
+ test:
33
+ runs-on: ubuntu-latest
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ - uses: actions/setup-node@v4
37
+ - run: npm ci
38
+ - run: npm run lint
39
+ - run: npm run type-check
40
+ - run: npm test
41
+ - run: npm run build
42
+ ```
43
+
44
+ ### 배포 플랫폼 선택
45
+
46
+ | 플랫폼 | 장점 | 권장 사용 |
47
+ |--------|------|----------|
48
+ | Vercel | Next.js 최적화 | 프론트엔드 |
49
+ | Railway | 풀스택 지원 | 풀스택 앱 |
50
+ | AWS | 확장성 | 엔터프라이즈 |
51
+ | Cloudflare | Edge 배포 | 정적/Edge |
52
+
53
+ ### 롤백 전략
54
+
55
+ ```bash
56
+ # 롤백 준비
57
+ /checkpoint --reason "배포 전 상태"
58
+
59
+ # 롤백 실행 (필요시)
60
+ /restore checkpoint_id
61
+ ```
62
+
63
+ ### 출력 형식
64
+
65
+ ```markdown
66
+ ## 배포 결과
67
+
68
+ ### CI 파이프라인
69
+ - 빌드: 성공/실패
70
+ - 테스트: 통과/실패
71
+ - Lint: 통과/실패
72
+
73
+ ### CD 파이프라인
74
+ - 스테이징: [URL]
75
+ - 프로덕션: [URL]
76
+
77
+ ### 모니터링
78
+ - 에러 트래킹: [설정 여부]
79
+ - 성능 모니터링: [설정 여부]
80
+ ```
@@ -0,0 +1,93 @@
1
+ # 산출물 검증 프롬프트 - CI/CD & Deployment
2
+
3
+ ## 검증 대상
4
+
5
+ | 산출물 | 필수 조건 | 검증 방법 |
6
+ |--------|----------|----------|
7
+ | `.github/workflows/` | CI 파이프라인 | 구조 확인 |
8
+ | `deployment_config/` | 환경 설정 | 구조 확인 |
9
+ | `deployment_log.md` | 배포 기록 | 항목 확인 |
10
+ | `HANDOFF.md` | 최종 상태 | 항목 확인 |
11
+
12
+ ## 검증 명령
13
+
14
+ ```bash
15
+ /validate --stage 10-deployment
16
+ ```
17
+
18
+ ## 품질 기준
19
+
20
+ ### .github/workflows/
21
+ - [ ] CI 워크플로우 존재 (ci.yml)
22
+ - [ ] CD 워크플로우 존재 (cd.yml)
23
+ - [ ] 빌드 단계 포함
24
+ - [ ] 테스트 단계 포함
25
+ - [ ] 배포 단계 포함
26
+
27
+ ### deployment_config/
28
+ - [ ] 환경 변수 관리
29
+ - [ ] 시크릿 설정 가이드
30
+ - [ ] 도메인/SSL 설정
31
+
32
+ ### deployment_log.md
33
+ - [ ] 스테이징 배포 기록
34
+ - [ ] 프로덕션 배포 기록
35
+ - [ ] 배포 URL
36
+
37
+ ### HANDOFF.md (최종)
38
+ - [ ] 프로젝트 완료 체크리스트
39
+ - [ ] 운영 가이드 링크
40
+ - [ ] 모니터링 설정 확인
41
+
42
+ ## 자동 검증 스크립트
43
+
44
+ ```bash
45
+ # GitHub Actions 워크플로우 확인
46
+ ls -la outputs/.github/workflows/
47
+
48
+ # 워크플로우 유효성 검사 (yamllint)
49
+ yamllint outputs/.github/workflows/*.yml
50
+
51
+ # 배포 설정 확인
52
+ ls -la outputs/deployment_config/
53
+ ```
54
+
55
+ ## CI/CD 검증
56
+
57
+ | 항목 | 기준 | 확인 |
58
+ |------|------|------|
59
+ | CI 워크플로우 | 존재 | - |
60
+ | CD 워크플로우 | 존재 | - |
61
+ | 스테이징 배포 | 성공 | - |
62
+ | 프로덕션 배포 | 성공 | - |
63
+ | 헬스 체크 | 통과 | - |
64
+
65
+ ## 모니터링 체크리스트
66
+
67
+ - [ ] 에러 트래킹 설정 (Sentry 등)
68
+ - [ ] 성능 모니터링 설정
69
+ - [ ] 로그 수집 설정
70
+ - [ ] 알림 설정
71
+
72
+ ## 문서 체크리스트
73
+
74
+ - [ ] 배포 가이드
75
+ - [ ] 운영 매뉴얼
76
+ - [ ] 트러블슈팅 가이드
77
+ - [ ] 롤백 절차
78
+
79
+ ## 파이프라인 완료 확인
80
+
81
+ ```bash
82
+ # 모든 스테이지 완료 확인
83
+ /status
84
+
85
+ # 최종 검증
86
+ /validate --all
87
+ ```
88
+
89
+ ## 실패 시 조치
90
+
91
+ 1. CI 실패 → 워크플로우 수정
92
+ 2. 배포 실패 → 설정 확인 및 재시도
93
+ 3. 헬스 체크 실패 → 로그 분석 및 수정
@@ -0,0 +1,118 @@
1
+ # GitHub Actions CD Template
2
+ # ax-templates generated
3
+
4
+ name: CD
5
+
6
+ on:
7
+ push:
8
+ branches: [main]
9
+ workflow_dispatch:
10
+ inputs:
11
+ environment:
12
+ description: 'Deployment environment'
13
+ required: true
14
+ default: 'staging'
15
+ type: choice
16
+ options:
17
+ - staging
18
+ - production
19
+
20
+ env:
21
+ NODE_VERSION: '20'
22
+
23
+ jobs:
24
+ deploy-staging:
25
+ name: Deploy to Staging
26
+ runs-on: ubuntu-latest
27
+ if: github.ref == 'refs/heads/main' || github.event.inputs.environment == 'staging'
28
+ environment:
29
+ name: staging
30
+ url: ${{ steps.deploy.outputs.url }}
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+
34
+ - name: Setup Node.js
35
+ uses: actions/setup-node@v4
36
+ with:
37
+ node-version: ${{ env.NODE_VERSION }}
38
+ cache: 'npm'
39
+
40
+ - name: Install dependencies
41
+ run: npm ci
42
+
43
+ - name: Build
44
+ run: npm run build
45
+ env:
46
+ NODE_ENV: production
47
+
48
+ # Vercel 배포 예시
49
+ - name: Deploy to Vercel (Staging)
50
+ id: deploy
51
+ uses: amondnet/vercel-action@v25
52
+ with:
53
+ vercel-token: ${{ secrets.VERCEL_TOKEN }}
54
+ vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
55
+ vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
56
+ scope: ${{ secrets.VERCEL_ORG_ID }}
57
+
58
+ - name: Comment PR
59
+ if: github.event_name == 'pull_request'
60
+ uses: actions/github-script@v7
61
+ with:
62
+ script: |
63
+ github.rest.issues.createComment({
64
+ issue_number: context.issue.number,
65
+ owner: context.repo.owner,
66
+ repo: context.repo.repo,
67
+ body: '🚀 Staging deployed: ${{ steps.deploy.outputs.url }}'
68
+ })
69
+
70
+ deploy-production:
71
+ name: Deploy to Production
72
+ runs-on: ubuntu-latest
73
+ needs: deploy-staging
74
+ if: github.event.inputs.environment == 'production'
75
+ environment:
76
+ name: production
77
+ url: ${{ steps.deploy.outputs.url }}
78
+ steps:
79
+ - uses: actions/checkout@v4
80
+
81
+ - name: Setup Node.js
82
+ uses: actions/setup-node@v4
83
+ with:
84
+ node-version: ${{ env.NODE_VERSION }}
85
+ cache: 'npm'
86
+
87
+ - name: Install dependencies
88
+ run: npm ci
89
+
90
+ - name: Build
91
+ run: npm run build
92
+ env:
93
+ NODE_ENV: production
94
+
95
+ - name: Deploy to Vercel (Production)
96
+ id: deploy
97
+ uses: amondnet/vercel-action@v25
98
+ with:
99
+ vercel-token: ${{ secrets.VERCEL_TOKEN }}
100
+ vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
101
+ vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
102
+ vercel-args: '--prod'
103
+ scope: ${{ secrets.VERCEL_ORG_ID }}
104
+
105
+ - name: Create Release
106
+ uses: actions/github-script@v7
107
+ with:
108
+ script: |
109
+ const tag = `v${new Date().toISOString().slice(0,10).replace(/-/g, '.')}`;
110
+ await github.rest.repos.createRelease({
111
+ owner: context.repo.owner,
112
+ repo: context.repo.repo,
113
+ tag_name: tag,
114
+ name: `Release ${tag}`,
115
+ body: 'Production deployment',
116
+ draft: false,
117
+ prerelease: false
118
+ });