create-ax-project 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +374 -0
- package/bin/create.js +193 -0
- package/package.json +38 -0
- package/template/.claude/CLAUDE.md +7 -0
- package/template/.claude/commands/CLAUDE.md +0 -0
- package/template/.claude/commands/benchmark.md +103 -0
- package/template/.claude/commands/brainstorm.md +67 -0
- package/template/.claude/commands/checkpoint.md +93 -0
- package/template/.claude/commands/codex.md +107 -0
- package/template/.claude/commands/collaborate.md +85 -0
- package/template/.claude/commands/context.md +154 -0
- package/template/.claude/commands/deploy.md +102 -0
- package/template/.claude/commands/fork.md +142 -0
- package/template/.claude/commands/gemini.md +84 -0
- package/template/.claude/commands/handoff.md +80 -0
- package/template/.claude/commands/implement.md +82 -0
- package/template/.claude/commands/init-project.md +49 -0
- package/template/.claude/commands/next.md +125 -0
- package/template/.claude/commands/planning.md +69 -0
- package/template/.claude/commands/qa.md +81 -0
- package/template/.claude/commands/refactor.md +95 -0
- package/template/.claude/commands/research.md +60 -0
- package/template/.claude/commands/restore.md +113 -0
- package/template/.claude/commands/run-stage.md +78 -0
- package/template/.claude/commands/stages.md +109 -0
- package/template/.claude/commands/status.md +73 -0
- package/template/.claude/commands/tasks.md +80 -0
- package/template/.claude/commands/test.md +93 -0
- package/template/.claude/commands/ui-ux.md +61 -0
- package/template/.claude/commands/validate.md +174 -0
- package/template/.claude/hooks/CLAUDE.md +0 -0
- package/template/.claude/hooks/ai-selector.sh +223 -0
- package/template/.claude/hooks/auto-checkpoint.sh +187 -0
- package/template/.claude/hooks/output-validator.sh +289 -0
- package/template/.claude/hooks/post-stage.sh +123 -0
- package/template/.claude/hooks/pre-stage.sh +186 -0
- package/template/.claude/hooks/session-start.sh +90 -0
- package/template/.claude/hooks/statusline.sh +115 -0
- package/template/.claude/hooks/stop.sh +104 -0
- package/template/.claude/settings.json +149 -0
- package/template/.claude/skills/ai-collaboration/CLAUDE.md +0 -0
- package/template/.claude/skills/ai-collaboration/README.md +61 -0
- package/template/.claude/skills/ai-collaboration/debate.md +148 -0
- package/template/.claude/skills/ai-collaboration/parallel.md +96 -0
- package/template/.claude/skills/ai-collaboration/prompts/CLAUDE.md +107 -0
- package/template/.claude/skills/auto-checkpoint/CLAUDE.md +0 -0
- package/template/.claude/skills/auto-checkpoint/README.md +77 -0
- package/template/.claude/skills/auto-checkpoint/prompts/CLAUDE.md +113 -0
- package/template/.claude/skills/auto-checkpoint/rollback.md +152 -0
- package/template/.claude/skills/auto-checkpoint/trigger.md +122 -0
- package/template/.claude/skills/context-compression/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/README.md +121 -0
- package/template/.claude/skills/context-compression/analyze.md +114 -0
- package/template/.claude/skills/context-compression/compress.md +175 -0
- package/template/.claude/skills/context-compression/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/context-compression/prompts/compression.md +172 -0
- package/template/.claude/skills/output-validator/CLAUDE.md +0 -0
- package/template/.claude/skills/output-validator/README.md +86 -0
- package/template/.claude/skills/output-validator/prompts/CLAUDE.md +119 -0
- package/template/.claude/skills/output-validator/validate.md +182 -0
- package/template/.claude/skills/smart-handoff/CLAUDE.md +0 -0
- package/template/.claude/skills/smart-handoff/README.md +59 -0
- package/template/.claude/skills/smart-handoff/extract.md +76 -0
- package/template/.claude/skills/smart-handoff/prompts/CLAUDE.md +86 -0
- package/template/.claude/skills/smart-handoff/summarize.md +94 -0
- package/template/.claude/skills/stage-transition/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/README.md +84 -0
- package/template/.claude/skills/stage-transition/handoff-gen.md +160 -0
- package/template/.claude/skills/stage-transition/prompts/CLAUDE.md +0 -0
- package/template/.claude/skills/stage-transition/prompts/transition.md +145 -0
- package/template/.claude/skills/stage-transition/validate.md +108 -0
- package/template/CLAUDE.md +528 -0
- package/template/config/CLAUDE.md +0 -0
- package/template/config/ai_benchmarking.yaml +184 -0
- package/template/config/ai_collaboration.yaml +159 -0
- package/template/config/ai_logging.yaml +129 -0
- package/template/config/auto_checkpoint.yaml +189 -0
- package/template/config/context.yaml +78 -0
- package/template/config/git.yaml +161 -0
- package/template/config/handoff_intelligence.yaml +229 -0
- package/template/config/implementation.yaml.template +181 -0
- package/template/config/mcp_fallbacks.yaml +252 -0
- package/template/config/memory_integration.yaml +200 -0
- package/template/config/model_enforcement.yaml +141 -0
- package/template/config/models.yaml +242 -0
- package/template/config/output_validation.yaml +352 -0
- package/template/config/pipeline.yaml +357 -0
- package/template/config/pipeline_forking.yaml +236 -0
- package/template/config/qa_logging.yaml +166 -0
- package/template/config/smart_rollback.yaml +209 -0
- package/template/config/stage_personas.yaml +354 -0
- package/template/config/workflow.yaml +54 -0
- package/template/scripts/CLAUDE.md +0 -0
- package/template/scripts/ai-benchmark.sh +272 -0
- package/template/scripts/codex-wrapper.sh +97 -0
- package/template/scripts/context-manager.sh +528 -0
- package/template/scripts/create-checkpoint.sh +116 -0
- package/template/scripts/gemini-wrapper.sh +96 -0
- package/template/scripts/init-project.sh +109 -0
- package/template/scripts/list-stages.sh +245 -0
- package/template/scripts/next-stage.sh +228 -0
- package/template/scripts/output-validate.sh +12 -0
- package/template/scripts/pipeline-fork.sh +293 -0
- package/template/scripts/pre-run-check.sh +361 -0
- package/template/scripts/restore-checkpoint.sh +247 -0
- package/template/scripts/run-stage.sh +139 -0
- package/template/scripts/show-status.sh +185 -0
- package/template/scripts/smart-handoff.sh +254 -0
- package/template/stages/01-brainstorm/CLAUDE.md +103 -0
- package/template/stages/01-brainstorm/HANDOFF.md +110 -0
- package/template/stages/01-brainstorm/HANDOFF.md.template +112 -0
- package/template/stages/01-brainstorm/README.md +97 -0
- package/template/stages/01-brainstorm/config.yaml +92 -0
- package/template/stages/01-brainstorm/inputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/inputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/inputs/project_brief.md +40 -0
- package/template/stages/01-brainstorm/outputs/.gitkeep +0 -0
- package/template/stages/01-brainstorm/outputs/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/outputs/ideas.md +159 -0
- package/template/stages/01-brainstorm/outputs/requirements_analysis.md +222 -0
- package/template/stages/01-brainstorm/prompts/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/prompts/collaboration.md +46 -0
- package/template/stages/01-brainstorm/prompts/ideation.md +62 -0
- package/template/stages/01-brainstorm/prompts/persona.md +73 -0
- package/template/stages/01-brainstorm/prompts/requirements.md +73 -0
- package/template/stages/01-brainstorm/prompts/validation.md +50 -0
- package/template/stages/01-brainstorm/templates/CLAUDE.md +0 -0
- package/template/stages/01-brainstorm/templates/ideas.md +91 -0
- package/template/stages/01-brainstorm/templates/requirements_analysis.md +129 -0
- package/template/stages/02-research/CLAUDE.md +101 -0
- package/template/stages/02-research/HANDOFF.md +158 -0
- package/template/stages/02-research/HANDOFF.md.template +102 -0
- package/template/stages/02-research/config.yaml +68 -0
- package/template/stages/02-research/inputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/.gitkeep +0 -0
- package/template/stages/02-research/outputs/CLAUDE.md +0 -0
- package/template/stages/02-research/outputs/feasibility_report.md +176 -0
- package/template/stages/02-research/outputs/tech_research.md +403 -0
- package/template/stages/02-research/prompts/CLAUDE.md +0 -0
- package/template/stages/02-research/prompts/collaboration.md +51 -0
- package/template/stages/02-research/prompts/feasibility.md +73 -0
- package/template/stages/02-research/prompts/market_analysis.md +58 -0
- package/template/stages/02-research/prompts/tech_stack.md +60 -0
- package/template/stages/02-research/prompts/validation.md +51 -0
- package/template/stages/02-research/templates/.gitkeep +0 -0
- package/template/stages/03-planning/CLAUDE.md +98 -0
- package/template/stages/03-planning/HANDOFF.md +168 -0
- package/template/stages/03-planning/HANDOFF.md.template +91 -0
- package/template/stages/03-planning/config.yaml +64 -0
- package/template/stages/03-planning/inputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/.gitkeep +0 -0
- package/template/stages/03-planning/outputs/CLAUDE.md +0 -0
- package/template/stages/03-planning/outputs/architecture.md +400 -0
- package/template/stages/03-planning/outputs/implementation.yaml +209 -0
- package/template/stages/03-planning/outputs/project_plan.md +204 -0
- package/template/stages/03-planning/outputs/tech_stack.md +176 -0
- package/template/stages/03-planning/prompts/CLAUDE.md +0 -0
- package/template/stages/03-planning/prompts/architecture.md +62 -0
- package/template/stages/03-planning/prompts/collaboration.md +57 -0
- package/template/stages/03-planning/prompts/validation.md +59 -0
- package/template/stages/03-planning/templates/.gitkeep +0 -0
- package/template/stages/04-ui-ux/CLAUDE.md +88 -0
- package/template/stages/04-ui-ux/HANDOFF.md +165 -0
- package/template/stages/04-ui-ux/HANDOFF.md.template +92 -0
- package/template/stages/04-ui-ux/config.yaml +57 -0
- package/template/stages/04-ui-ux/inputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/.gitkeep +0 -0
- package/template/stages/04-ui-ux/outputs/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/outputs/design_system.md +449 -0
- package/template/stages/04-ui-ux/outputs/user_flows.md +321 -0
- package/template/stages/04-ui-ux/outputs/wireframes.md +241 -0
- package/template/stages/04-ui-ux/prompts/.gitkeep +0 -0
- package/template/stages/04-ui-ux/prompts/CLAUDE.md +0 -0
- package/template/stages/04-ui-ux/prompts/collaboration.md +56 -0
- package/template/stages/04-ui-ux/prompts/validation.md +54 -0
- package/template/stages/04-ui-ux/templates/.gitkeep +0 -0
- package/template/stages/05-task-management/CLAUDE.md +105 -0
- package/template/stages/05-task-management/HANDOFF.md +187 -0
- package/template/stages/05-task-management/HANDOFF.md.template +97 -0
- package/template/stages/05-task-management/config.yaml +81 -0
- package/template/stages/05-task-management/inputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/.gitkeep +0 -0
- package/template/stages/05-task-management/outputs/CLAUDE.md +0 -0
- package/template/stages/05-task-management/outputs/milestones.md +253 -0
- package/template/stages/05-task-management/outputs/sprint_plan.md +203 -0
- package/template/stages/05-task-management/outputs/tasks.md +402 -0
- package/template/stages/05-task-management/prompts/.gitkeep +0 -0
- package/template/stages/05-task-management/prompts/CLAUDE.md +0 -0
- package/template/stages/05-task-management/prompts/collaboration.md +54 -0
- package/template/stages/05-task-management/prompts/validation.md +66 -0
- package/template/stages/05-task-management/templates/CLAUDE.md +0 -0
- package/template/stages/05-task-management/templates/notion_integration.md +176 -0
- package/template/stages/05-task-management/templates/parallel_groups.yaml +153 -0
- package/template/stages/05-task-management/templates/task_schema.yaml +154 -0
- package/template/stages/06-implementation/CLAUDE.md +163 -0
- package/template/stages/06-implementation/HANDOFF.md +184 -0
- package/template/stages/06-implementation/HANDOFF.md.template +192 -0
- package/template/stages/06-implementation/config.yaml +62 -0
- package/template/stages/06-implementation/inputs/.gitkeep +0 -0
- package/template/stages/06-implementation/outputs/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/.gitkeep +0 -0
- package/template/stages/06-implementation/prompts/CLAUDE.md +0 -0
- package/template/stages/06-implementation/prompts/collaboration.md +64 -0
- package/template/stages/06-implementation/prompts/validation.md +65 -0
- package/template/stages/06-implementation/templates/.gitkeep +0 -0
- package/template/stages/07-refactoring/CLAUDE.md +180 -0
- package/template/stages/07-refactoring/HANDOFF.md +82 -0
- package/template/stages/07-refactoring/HANDOFF.md.template +97 -0
- package/template/stages/07-refactoring/config.yaml +68 -0
- package/template/stages/07-refactoring/inputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/.gitkeep +0 -0
- package/template/stages/07-refactoring/outputs/refactoring_report.md +102 -0
- package/template/stages/07-refactoring/prompts/.gitkeep +0 -0
- package/template/stages/07-refactoring/prompts/CLAUDE.md +0 -0
- package/template/stages/07-refactoring/prompts/collaboration.md +71 -0
- package/template/stages/07-refactoring/prompts/validation.md +76 -0
- package/template/stages/07-refactoring/templates/.gitkeep +0 -0
- package/template/stages/08-qa/CLAUDE.md +93 -0
- package/template/stages/08-qa/HANDOFF.md +114 -0
- package/template/stages/08-qa/HANDOFF.md.template +96 -0
- package/template/stages/08-qa/config.yaml +56 -0
- package/template/stages/08-qa/inputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/.gitkeep +0 -0
- package/template/stages/08-qa/outputs/qa_report.md +138 -0
- package/template/stages/08-qa/prompts/.gitkeep +0 -0
- package/template/stages/08-qa/prompts/CLAUDE.md +0 -0
- package/template/stages/08-qa/prompts/collaboration.md +65 -0
- package/template/stages/08-qa/prompts/validation.md +71 -0
- package/template/stages/08-qa/templates/.gitkeep +0 -0
- package/template/stages/09-testing/CLAUDE.md +124 -0
- package/template/stages/09-testing/HANDOFF.md +118 -0
- package/template/stages/09-testing/HANDOFF.md.template +113 -0
- package/template/stages/09-testing/config.yaml +65 -0
- package/template/stages/09-testing/inputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/.gitkeep +0 -0
- package/template/stages/09-testing/outputs/test_report.md +146 -0
- package/template/stages/09-testing/prompts/.gitkeep +0 -0
- package/template/stages/09-testing/prompts/CLAUDE.md +0 -0
- package/template/stages/09-testing/prompts/collaboration.md +77 -0
- package/template/stages/09-testing/prompts/validation.md +83 -0
- package/template/stages/09-testing/templates/.gitkeep +0 -0
- package/template/stages/10-deployment/CLAUDE.md +117 -0
- package/template/stages/10-deployment/HANDOFF.md +141 -0
- package/template/stages/10-deployment/HANDOFF.md.template +148 -0
- package/template/stages/10-deployment/config.yaml +61 -0
- package/template/stages/10-deployment/inputs/.gitkeep +0 -0
- package/template/stages/10-deployment/outputs/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/.gitkeep +0 -0
- package/template/stages/10-deployment/prompts/CLAUDE.md +0 -0
- package/template/stages/10-deployment/prompts/collaboration.md +80 -0
- package/template/stages/10-deployment/prompts/validation.md +93 -0
- package/template/stages/10-deployment/templates/CLAUDE.md +0 -0
- package/template/stages/10-deployment/templates/github-actions-cd.yaml +118 -0
- package/template/stages/10-deployment/templates/github-actions-ci.yaml +136 -0
- package/template/state/progress.json.template +111 -0
- package/template/state/templates/CLAUDE.md +0 -0
- package/template/state/templates/handoff_base.md.template +187 -0
- package/template/state/templates/phase_state.md.template +97 -0
|
@@ -0,0 +1,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
|
|
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. 헬스 체크 실패 → 로그 분석 및 수정
|
|
File without changes
|
|
@@ -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
|
+
});
|