# {프로젝트명} — 프로젝트 시작 체크리스트

> **버전**: v1
> **작성일**: {날짜}
> **담당**: 개발팀장 + 기획팀장
> **용도**: 신규 프로젝트 착수 시 Phase 0~5를 순서대로 진행한다.

---

## Phase 개요

| Phase | 이름 | 완료 기준 |
|-------|------|----------|
| **Phase 0** | 프로젝트 생성 | 디렉토리 구조 + Git 초기화 완료 |
| **Phase 1** | 핵심 기획 | `02_핵심_재미_정의.md` PD님 승인 |
| **Phase 2** | 개발 환경 구축 | Framework 셋업 검증 6항 전체 통과 |
| **Phase 3** | 데이터 기반 구성 | 데이터 1건 end-to-end 로드 성공 |
| **Phase 4** | 프로토타입 | PD님 재미 확인 |
| **Phase 5** | 본 개발 준비 | 전체 기반 완비 + PD님 최종 리뷰 |

> **C7 게이트**: `Phase 1`의 `02_핵심_재미_정의.md` PD님 승인 완료 전 `Phase 2~5` 착수 금지.
> 재미 정의 없는 개발 환경 구축은 방향 없는 투자다.

---

## Phase 0: 프로젝트 생성

**완료 기준**: 디렉토리 구조 + Git 초기화 완료

### 0.1 템플릿 복사 및 치환

- [ ] `프로젝트/_템플릿/` 을 `프로젝트/{프로젝트명}/` 으로 복사
- [ ] 모든 문서의 placeholder 치환:
  - `{프로젝트명}` → 실제 프로젝트명
  - `{ProjectNamespace}` → Unity 네임스페이스 (예: `MagicShop`)
  - `{장르}` → 게임 장르 (예: `로그라이크 덱빌딩`)
  - `{날짜}` → 작성일 (YYYY-MM-DD 형식)
- [ ] 불필요한 섹션 삭제 (C14 토큰 최소화)

### 0.2 Git 레포 생성

- [ ] Gitea에 신규 레포 생성 (`NerdNavis/{프로젝트명}`)
- [ ] 로컬 초기화: `git init && git remote add origin {레포 URL}`
- [ ] `.gitignore` Unity 표준 템플릿 적용 (`관리/Unity_셋업_가이드.md 섹션 4`)
- [ ] `.gitattributes` LFS 설정 적용 (`관리/Unity_셋업_가이드.md 섹션 4`)
- [ ] 초기 커밋 + push (브랜치: `main`)

### 0.3 PD 지시 로그 초기화

- [ ] `공유/PD_지시_트래킹/{프로젝트명}_PD_지시_로그.md` 생성 (P19)
- [ ] `공유/대화로그/{프로젝트명}/` 디렉토리 생성 (P24)

---

## Phase 1: 핵심 기획

**완료 기준**: `02_핵심_재미_정의.md` PD님 승인

> ⚠️ **C7 게이트**: 02번 PD님 승인 전 Phase 2 착수 금지.

### 1.1 게임 컨셉 수립

- [ ] `기획/01_게임_컨셉.md` 작성 (기획팀장)
  - 한 줄 컨셉 (Elevator Pitch)
  - 레퍼런스 타이틀 3개 이상
  - 타겟 유저 정의
- [ ] PD님 검토 후 방향 확정

### 1.2 핵심 재미 정의 (C7 게이트)

- [ ] `기획/02_핵심_재미_정의.md` 작성 (기획팀장)
  - "어떤 재미를 제공하는가" 명문화 (C7: 재미 정의 없는 진행 금지)
  - 핵심 게임 루프 다이어그램
  - 재미 검증 방법 (프로토타입 평가 기준)
- [ ] **PD님 승인 획득** ← Phase 2 착수 조건

### 1.3 시스템·UX 초안

- [ ] `기획/03_시스템_카탈로그.md` 작성 (기획팀장) — 시스템 목록·우선순위
- [ ] `기획/06_UX_화면맵.md` 작성 (기획팀장) — 화면 구성 초안

---

## Phase 2: 개발 환경 구축

**완료 기준**: `관리/Unity_셋업_가이드.md` 셋업 검증 6항 전체 통과

> Phase 1 완료(PD님 승인) 후 착수.

### 2.1 Unity 프로젝트 생성

- [ ] Unity 6000.0.x 이상으로 신규 프로젝트 생성
- [ ] 렌더 파이프라인 확정 (URP / Built-in)
- [ ] 프로젝트 경로: `D:\NerdNavis\{프로젝트명}\`
- [ ] `관리/Unity_셋업_가이드.md` 섹션 1 전체 수행

### 2.2 NerdNavis.Framework 연동

- [ ] `Packages/manifest.json` 에 Framework 항목 추가
- [ ] `관리/Unity_셋업_가이드.md` 섹션 2 (C+H1) 수행
- [ ] Package Manager에서 Import 확인

### 2.3 기술 문서 작성

- [ ] `개발/01_아키텍처_설계.md` — placeholder 치환 + 확정 항목 채우기
- [ ] `개발/02_기술스택_결정.md` — 보안 체크리스트 3항 설계 결정 기입
- [ ] `개발/03_코딩_컨벤션.md` — 팀 합의 후 확정

### 2.4 기본 코드 구조 생성

- [ ] Bootstrap 씬 생성 (`00_Bootstrap.unity`)
- [ ] asmdef 4개 생성 (`{ProjectNamespace}.Core/.UI/.Data/.Editor`)
- [ ] `GameManager` (MonoSingleton<T>) 기본 구현
- [ ] `ServiceLocator` Bootstrap 등록 코드 작성

### 2.5 셋업 검증 (6항 전체 통과 필수)

- [ ] Framework 패키지 참조 확인 (Package Manager 창)
- [ ] 컴파일 에러 없음
- [ ] Bootstrap 씬 Play → 콘솔 에러 없음
- [ ] MonoSingleton 인스턴스 생성 테스트 통과
- [ ] ServiceLocator Register/Resolve 테스트 통과
- [ ] Log.Info/Log.Warn 출력 테스트 통과

---

## Phase 3: 데이터 기반 구성

**완료 기준**: 데이터 1건 end-to-end 로드 성공 (Excel → JSON → Unity 런타임)

> Phase 2 완료 후 착수.

### 3.1 컨텐츠 테이블 목록 확정

- [ ] `기획/04_컨텐츠.md` — 필요한 데이터 테이블 목록 초안 (기획팀장)
- [ ] 개발팀장과 테이블 구조 합의

### 3.2 데이터 파이프라인 구성

- [ ] `개발/04_데이터_파이프라인.md` — SOT 포맷·경로·파싱 방식 확정
- [ ] Excel 파일 생성 (SOT)
- [ ] Export Tool 구현 또는 선택
- [ ] JSON Export 경로 확정 (`Assets/ResWork/Table/Export/`)

### 3.3 DataTable 클래스 구현

- [ ] 첫 번째 테이블 `{TableName}TableData` + `{TableName}Table` 구현
- [ ] `_orNull` 패턴 적용 확인 (Direct 인덱서 금지)

### 3.4 E2E 검증

- [ ] Excel 편집 → Export → Unity Play → DataTable.IsLoaded = true 확인
- [ ] 테이블 데이터 1건 조회 성공
- [ ] 데이터 무결성 검증 통과 (`DataValidator.ValidateAll()`)

---

## Phase 4: 프로토타입

**완료 기준**: PD님 재미 확인

> Phase 3 완료 후 착수.

### 4.1 핵심 게임 루프 구현

- [ ] `02_핵심_재미_정의.md` 기반 핵심 인터랙션 1사이클 구현
- [ ] 데이터 테이블 연동 (하드코딩 수치 사용 금지)
- [ ] 기본 UI 연결 (UX 화면맵 초안 기반)

### 4.2 재미 검증

- [ ] 내부 플레이 테스트
- [ ] `02_핵심_재미_정의.md`의 검증 기준 항목 대조 평가
- [ ] **PD님 리뷰 + 재미 확인** ← Phase 5 착수 조건

### 4.3 밸런스 앵커 설정

- [ ] `기획/05_밸런스.md` — 핵심 수치 앵커 정의 (기획팀장)
- [ ] 개발팀과 밸런스 데이터 테이블 연동 확인

---

## Phase 5: 본 개발 준비

**완료 기준**: 전체 기반 완비 + PD님 최종 리뷰

> Phase 4 완료(PD님 재미 확인) 후 착수.

### 5.1 나머지 기획 문서 완성

- [ ] `기획/07_수익화.md` — 수익 모델 (PD님 확인 필요)
- [ ] `기획/08_라이브.md` — 서비스·운영 계획 초안

### 5.2 개발 기반 문서 완성

- [ ] `개발/05_빌드_배포.md` — 배포 파이프라인 확정
- [ ] `개발/06_QA_테스트_전략.md` — QA 게이트 기준 확정

### 5.3 보안 항목 완료

- [ ] `개발/02_기술스택_결정.md` 보안 체크리스트 3항 모두 설계 완료
- [ ] IAP 서버 검증 구조 구현 또는 계획 확정
- [ ] AES 키 서버 관리 방식 확정

### 5.4 PD님 최종 리뷰

- [ ] 전체 기획 문서 요약 보고
- [ ] 기술 스택·보안 결정 사항 보고
- [ ] **PD님 최종 승인** → 본 개발 착수

---

## 변경 이력

| 버전 | 일자 | 작성자 | 내용 |
|------|------|--------|------|
| v1 | {날짜} | 개발팀장 | 템플릿 초안. Phase 0~5 체크리스트 + C7 게이트 반영 |
