부록D — 5파일 템플릿
부록 D
5파일 템플릿
SPEC · PLAN · REVIEW · BUILD · CLAUDE.md — 그대로 복사 가능
📑 이 부록에서 다룰 내용
📘 이 부록의 목적 + 사용법

목적: SPEC.md · PLAN.md · REVIEW.md · BUILD.md · CLAUDE.md 5파일을 그대로 복사 + 빈 칸 본인 프로젝트 채움 가능한 템플릿. 새 프로젝트 시작 시 5분 안에 5파일 골격 박힘.

사용법: 새 프로젝트 폴더 만들기 → 5 템플릿 그대로 복사 → 빈 칸 채움 → 5파일+ 사이클 시작.

D-1 SPEC.md 템플릿 (7항목 + E1) 🔗
💻 SPEC.md 템플릿
# [앱 이름] SPEC

## 1. 앱 이름
- [한 줄 정의]
- 도메인: [B2C / B2B SaaS / 마켓플레이스 / 교육 / 콘텐츠]

## 2. 해결하는 문제
- [한 문장으로 핵심 문제]
- 현재 흐름: [기존 도구·방법]
- 우리 흐름: [차별점 1줄]

## 3. 사용자 정의
- 사용자 A (주): [누가·어떤 상황·어떤 맥락]
- 사용자 B (부): [해당 시·아니면 X]
- 첫 사용자 도달 흐름: [SEO·SNS·외부 링크 중]

## 4. Phase 1 핵심 기능 (최대 3가지)
1. [기능 1] — [한 줄]
2. [기능 2] — [한 줄]
3. [기능 3] — [한 줄, 선택]

## 5. 성공 기준 (반드시 숫자)
- Phase 1 종료 (Day 28): [N]명·[N]% 등
- 90일 누적: [N]
- 6개월 누적: [N]

## 6. 수익화 (Phase 1 반드시 포함)
- 도구: [구독 / 광고 / 인앱결제 / 거래수수료 / 강의·이북]
- 단가: [₩N]
- 첫 결제 가설: [Day N]
- 6개월 매출 가설: [₩N]

## 7. 기술 스택
- 프론트: [Expo·Next.js·React 등]
- 백엔드: [Cloudflare Worker·Supabase Edge Function·자체]
- DB: [Supabase·D1·Neon·자체 PostgreSQL]
- 배포: [Cloudflare Pages·Vercel·VPS]
- LLM: [Sonnet·Opus 위주, prompt caching 적용]

## 8. DB 스키마 초안
- 테이블 1: [name] — 컬럼: [...]
- 테이블 2: ...
- 인덱스·제약: [UNIQUE·FOREIGN KEY]

## ⚖️ § 회색지대 결정 (해당 시)
[E1 — 4단계 프레임]

[① 영역 식별]
- 회색지대 종류: [법적·윤리적·시장적]
- 영역 1줄 정의: [...]

[② 포함 / 배제]
- 포함 5개:
  - [...]
- 명확히 배제 5개:
  - [...]

[③ 표현 정제]
- About 페이지: [...]
- 약관: [...]
- 콘텐츠 정책: [...]

[④ 변호 논리]
- "[한 줄]"

## 9. 시리즈 본문 (해당 시)
- 다른 1탄·2탄·3탄·별책부록 결합: [없음 / 1탄 5확장 적용 / ...]

---

[★ 메타 — SPEC v1 작성 시점에 의식]
- v1은 일부러 불완전 (외부 검토 + E1 결정 + 사용자 직관 + 두 검토자에서 진화)
- v2 — Gemini 1차 검토 후
- v3 — 사용자 직관 추가 후
- v4 — 두 검토자 (Claude 시뮬레이션 + Gemini) 후
- v4 채택 후 PLAN.md 작성 시작 (새 6장)
D-2 PLAN.md 템플릿 (Phase·DoD·의존성 + E2) 🔗
💻 PLAN.md 템플릿
# [앱 이름] PLAN

## 1. Phase 1 (Day 1~[N])

### Phase 1 DoD (Definition of Done)
1. [DoD 1 — 숫자 의무]
2. [DoD 2 — 숫자 의무]
3. [DoD 3 — 숫자 의무]

### Day 1~7 — Week 1
- Day 1: [무엇] (예상 [N]시간)
- Day 2: ...
- Day 7: G1 점검

### Day 8~14 — Week 2 (G1 게이트)
- Day 8~13: ...
- ★ Day 14: G1 통과 의식 + REVIEW.md 12 체크

### Day 15~21 — Week 3
- ...

### Day 22~28 — Week 4 (G2 게이트)
- ...
- ★ Day 28: G2 통과 의식 + 4주 회고

## 2. Phase 2 (Day 29~[N])
- 검증·수익화·페르소나 추가
- DoD 5~7 추가

## 3. Phase 3 (Day [N]+~)
- 성장·글로벌·1년+ 운영
- 본인 페이스 영구 흐름

---

## ★ E2 1인 12개월 페이스

### 시간 분포
- 시간 / 주: [10·15·20·25h]
- 토요일 작업: [금지·선택]
- 매일 작업 시간: [09:00~12:00·기타]

### R4 자동 회복 사이클
- 트리거 의식: [하루 X 진행 / 시간 25%+ / 번아웃 전조]
- 회복 흐름: [페이스 25% 축소 / 1~2일 휴식 / SPEC 보강]
- 1년 트리거 가설: [≤4회]

### 게이트 사이 휴식
- G1 통과 후: 1일 휴식
- G2 통과 후: 1~2일 휴식
- G3 통과 후: 2일 휴식
- ...

### 번아웃 회피 의식
- 매주 일요일 회고 30분
- 매월 1회 자기 평가 (5확장 체크)
- 매분기 회고 1시간

---

## 4. 의존성

### 외부 의존성
- Anthropic API (rate limit 결합)
- Cloudflare·Supabase 무료 한도
- 외부 API ([정부·외부 데이터])

### 결합 의존성
- [기능 A] → [기능 B] (A 완성 후 B 시작)
- ...

## 5. 리스크 (R1~R10)
- R1: [리스크 1] — 회피 흐름
- R2: [리스크 2] — ...
- R3: ...
- R4: 1인 번아웃 — ★ E2 자동 회복 사이클로 회피
- R5~R10: ...

---

## 6. 게이트 종합 표

| 게이트 | Day | 통과 조건 | 휴식 | 다음 흐름 |
|------|-----|--------|------|--------|
| G1 | 14 | DoD 1·2·3 + REVIEW 12 체크 | 1일 | Phase 1.1 진입 |
| G2 | 28 | DoD 4·5·6 + 4주 회고 | 1~2일 | Phase 1.2 진입 |
| G3 | 50 | ... | 2일 | Phase 2 진입 |
| G4 | 90 | ... | 2~3일 | Phase 2.1 |
| G5 FINAL | 180 | 앱스토어·도메인·매출 | 7일 | Phase 3 진입 |
D-3 REVIEW.md 템플릿 (12 체크 + 3단계 판정 + E3) 🔗
💻 REVIEW.md 템플릿
# [앱 이름] REVIEW

## G1 게이트 — Day [14]

### 12 체크 (PASS / WARN / FAIL)
1. SPEC v[N] 7항목 모두 채워짐 — [O/X]
2. PLAN.md DoD 명시 — [O/X]
3. CLAUDE.md 200줄 이하 — [O/X]
4. ⚖️ E1 회색지대 결정 — [O/X]
5. ★ E2 페이스 의식 — [O/X]
6. ⭐ E3 두 검토자 1차 — [O/X]
7. ⭐ E4 LogOnTable 매일 — [O/X]
8. ⭐ E5 SSOT (해당 시) — [O/X]
9. 자동 일관성 테스트 통과 — [O/X]
10. 보안 점검 (시크릿·API 키) — [O/X]
11. 성능 점검 (latency·DB 쿼리) — [O/X]
12. 첫 사용자 N명 도착 — [O/X]

### 3단계 판정
- 12/12 PASS — READY: YES → Phase 1.1 진입
- 10~11 PASS — READY: PARTIAL → 미해결 영역 1~2일 보강
- 9 이하 PASS — READY: NO → 1주 보강 후 재점검

### ⭐ E3 두 검토자 — 12건 (4+6+2 패턴)
[Claude 시뮬레이션 검토만 발견 4건]
1. ...

[Gemini 외부 검토만 발견 6건]
1. ...

[둘 다 발견 2건 — 핵심 영역]
1. ...

### G1 결과
- READY: [YES / PARTIAL / NO]
- 다음 흐름: [...]
- 휴식: [N일]

---

## G2 게이트 — Day [28]

### 12 체크
1. ...

### 3단계 판정
- ...

---

## G3·G4·G5 게이트 — Day [N]
[같은 양식]

---

## 종합 — 시리즈 누적 12건 패턴

| 게이트 | Claude 4 | Gemini 6 | 둘 다 2 | 합 |
|------|--------|--------|------|---|
| G1 | 4 | 6 | 2 | 12 |
| G2 | ... | ... | ... | ... |
D-4 BUILD.md 템플릿 (일자별 5분 + E4) 🔗
💻 BUILD.md 템플릿
# [앱 이름] BUILD

## Day 1 — [YYYY-MM-DD]

### 무엇 (5분 양식)
- 작업: [무엇 했는지]
- 파일: [어떤 파일]
- commit: [git hash]

### ⭐ LogOnTable 트레이스 (1~3줄)
- 결정: [무엇을]
- 후보: [몇 개 후보]
- 채택 사유: [왜 이걸]
- 영향: [어디에]
- 태그: #E[N] #영역

### 시간
- 작업 시간: [N]시간
- 누적: [N]시간

---

## Day 2 — [YYYY-MM-DD]
[같은 양식]

---

## Day N — [YYYY-MM-DD]
[같은 양식]

---

## ★ Week 1 회고 (Day 7)
- 시간 합계: [N]시간 (목표 [N]시간)
- DoD 진행률: [N]%
- 막힘 발생: [N건]
- R4 트리거: [N회]
- 다음 주 의식: [...]

---

## ★ Phase 1 종료 회고 (Day 28)
- 합계 시간: [N]
- 합계 commit: [N]
- 합계 LogOnTable 트레이스: [N]
- 5확장 적용: E1·E2·E3·E4·E5 [O/X]
- 첫 사용자: [N]명
- 다음 Phase 진입: [YES/NO]
D-5 CLAUDE.md 템플릿 (10 섹션 + 200줄 + E5) 🔗
💻 CLAUDE.md 템플릿
# [앱 이름]
# 기술 스택: [요약 1줄]
# 상태: Phase [N] 진행 중 / 누적 [N]h / 다음 게이트 G[N] D-[N]일

## 1. Project Overview
- 앱 정의: [한 줄]
- 사용자 A: [주 사용자]
- 사용자 B: [부 사용자, 해당 시]
- 핵심 가치: [E1 회색지대 결정 한 줄]
- 답변: 한국어 + 친근한 톤 (~예요·~합니다)

## 2. Tech Stack
- 프론트: [Expo·Next.js·NativeWind 등]
- 백엔드: Supabase (PostgreSQL + Auth + Storage + Edge Function)
- 결제: Stripe (Edge Function에서만)
- 배포: [Vercel·EAS Build·Cloudflare]
- LLM: Sonnet 4.6 위주, 페르소나 system prompt에 cache_control

## 3. Critical Constraints (어떤 상황에서도 지킨다)
- StyleSheet 사용 금지 → NativeWind만
- API 비밀 키를 프론트엔드·.env.local에 직접 박지 X
- 요청하지 X 기능 임의 추가 금지
- 요청하지 X 파일 무단 수정 금지
- 작업 전 변경 파일 목록 먼저 답
- ⚖️ E1 회색지대 결정 위반 금지 (E1: [한 줄])

## 4. Code Style
- 컴포넌트 200줄 이하 (초과 시 분리)
- 모든 함수에 TypeScript 타입 명시
- 에러 처리 의무 (try/catch·circuit breaker·retry)
- 들여쓰기: 2칸

## 5. Project-Specific Rules ★ (E5 콘텐츠 SSOT — 해당 시)
[줍줍·TSV 같은 콘텐츠 시스템이면 7~8 규칙 박음]
- [규칙 1: SSOT 인터페이스 위치]
- [규칙 2: 페르소나 system prompt 환각 방지]
- [규칙 3: 자동 일관성 테스트 의무]
- [규칙 4: 닉네임 자동 부여 패턴]
- [규칙 5: ⚖️ E1 일관 노출]
- [규칙 6: 자동 정지 트리거]
- [규칙 7: 환각 방지 명세 — 추정 금지·누락 null]
- [규칙 8: 톤 분리 + 사실 일치]

## 6. File Structure
src/
  app/         라우팅
  components/  UI 컴포넌트
  lib/         유틸 + SSOT 인터페이스
  api/         외부 호출
tests/
  unit/        단위 테스트
  e2e/         E2E 테스트
  consistency/ 자동 일관성 테스트 (E5)
.claude/commands/  커스텀 슬래시 명령

## 7. Common Commands
- npm test
- npm run dev
- npm run build
- npx supabase db push
- /daily-review (커스텀)
- /spec-evolve (커스텀)

### MCP 자동화 (자연어)
- "[테이블] 마감일 임박 5건 조회"
- "현재 변경사항 commit. 메시지: [...]"
- "localhost:3000 [페이지] E2E 테스트"

## 8. Forbidden Patterns
- /process\.env\.[A-Z_]+/ ← 프론트엔드 코드에 환경변수 직접 사용 금지
- 페르소나 prompt에 "있어야 한다" 같은 환각 유도 표현 금지
- 의미 없는 강조 추임새 — 1탄 v2 § 절대 금지 단어 명세 따름

## 9. Compliance Checklist (매 작업 전 자동 점검)
- [ ] 변경 파일 목록 명시했는가
- [ ] 절대 금지 사항 위반 X (E1 회색지대 포함)
- [ ] 200줄 이하 유지
- [ ] 타입 명시·에러 처리 있음
- [ ] 한국어 의식체 통일

## 10. Current State (Phase 완성마다 갱신)
- ✅ Phase 0: 5파일+ 구조 + 첫 commit (Day 0)
- ✅ Day 1~3: [완성 기능 1] (~Day 3)
- 🚧 현재: Day 4 [작업 중인 기능]
- 📅 다음 게이트: G1 (Day [N])
- 📊 누적: [N]h / [예상 총 N]h
D-6 5파일 결합 흐름 🔗

Day 0 — 5파일 만들기

💻 Day 0 셋업
# 새 프로젝트 폴더
mkdir my-project && cd my-project
git init

# 5파일 + 부록 D 템플릿 그대로 복사
cp ~/templates/SPEC.md .
cp ~/templates/PLAN.md .
cp ~/templates/REVIEW.md .
cp ~/templates/BUILD.md .
cp ~/templates/CLAUDE.md .

# 빈 칸 본인 프로젝트 채움 (약 30분)
# - SPEC.md 7항목 + E1
# - PLAN.md Phase 1 + E2
# - REVIEW.md G1 12 체크 양식
# - BUILD.md Day 0 트레이스 박음
# - CLAUDE.md 10 섹션 + E5

# 첫 commit
git add .
git commit -m "Day 0: 5파일+ 구조 + 부록 D 템플릿 적용"

Day 1~ — 5파일 진화 흐름

💻 5파일 진화 흐름
[Day 1~] 매일 BUILD.md 1~3줄 트레이스
[Week 1] SPEC v1 → Gemini 검토 → SPEC v2
[Week 2] G1 의식 — REVIEW.md 12 체크
[Week 3~4] BUILD 누적 + R4 의식
[Day 28] G2 의식 + 4주 회고
[Phase 2 진입] SPEC v3·v4 진화 + 두 검토자 (E3)
🎉 부록 D 마무리

SPEC · PLAN · REVIEW · BUILD · CLAUDE 5 템플릿이 한 곳에 모였습니다. 새 프로젝트 5분 안에 5파일 골격 박음 + 30분 안에 빈 칸 채웁니다.

다음 부록: 부록 E — 트러블슈팅. 50 흔한 문제 + 증상 + 원인 + 해결.

🤖 Vibe Coding 도우미
안녕하세요! Vibe Coding 1탄 부록D 5파일 템플릿에 대해 궁금한 점을 물어보세요.