# 🚀 바이브 코딩 프롬프트 마스터 가이드 (Human Only)

이 가이드는 **[Python 프로젝트 범용 기본 헌법 v1.5+]** 체계 아래에서 AI 에이전트를 완벽하게 조종하기 위한 개발자 전용 지침서입니다. AI에게 명령을 내리기 전, 상황에 맞는 프롬프트를 복사하여 사용하십시오.

---

## 1. 프로젝트 초기화 (Setup)
새로운 프로젝트를 시작하거나 AI에게 전체 맥락을 주입할 때 사용합니다.

### 📜 헌법 및 컨텍스트 주입
> "루트의 `AI_CONTEXT.md`(또는 `gemini.md`)를 정독해. 이 프로젝트의 모든 사고방식과 코딩 스타일은 이 헌법을 절대적으로 따른다. 준비됐으면 핵심 원칙 3가지를 요약해서 보고해."

### 📂 표준 구조 및 문서 생성
> "우리 헌법 제2조의 표준 레이아웃에 따라 폴더 구조를 생성해. 그리고 `docs/` 폴더에 `project_spec.md`, `api_contract.md`, `issue.md`, `roadmap.md` 4종 문서의 초안을 범용적인 골격으로 생성해줘."

---

## 2. 기능 설계 및 로드맵 관리 (Design & Planning)
코드 작성 전, 설계의 정합성을 맞추는 단계입니다. (헌법 제6조 준수)

### 💡 아이디어 제안 및 로드맵 기록
> "새로운 아이디어가 있어: [아이디어 내용]. 헌법 제5.2항에 따라 바로 코딩하지 말고 `docs/roadmap.md`에 먼저 기록해줘. 그리고 현재 아키텍처에서 이 기능이 미칠 영향도를 분석해봐."

### 📝 상세 사양 및 인터페이스 정의
> "`docs/roadmap.md`의 [기능명]을 구현할 거야. 먼저 `docs/project_spec.md`에 상세 로직과 예외 케이스를 정의하고, `docs/api_contract.md`에 모듈 간 데이터 규격을 Pydantic 모델 기반으로 설계해줘. **내 승인 전까지 코딩은 금지한다.**"

---

## 3. 실제 구현 (Implementation)
설계가 확정된 후, '완결성' 있는 코드를 생산하게 만드는 단계입니다.

### 🧠 데이터 모델링 (Pydantic)
> "`docs/api_contract.md`에 정의된 스키마를 바탕으로 `app/models/`에 Pydantic 모델을 구현해. 타입 힌트는 필수이며, 데이터 유효성 검사 로직을 포함해줘. 주석은 헌법 제3조에 따라 친절한 한국어로 작성해."

### 🛠 모듈 구현 (No Loose Ends)
> "정의된 사양에 따라 [기능명]의 핵심 로직을 `app/services/`에 구현해. 헌법 1.2항에 의거해 `TODO`, `pass` 등 임시 코드는 절대 사용하지 말고, 단독으로 실행 가능한 완벽한 형태로 작성해줘."

---

## 4. 검증 및 품질 관리 (Testing & QA)
AI가 만든 코드가 진짜 작동하는지 확인하게 합니다.

### 🧪 테스트 코드 우선 작성 (TDD)
> "기능 구현에 앞서, 이를 검증할 수 있는 단위 테스트를 `tests/` 폴더에 작성해. [특정 조건]일 때 성공하고 [에러 조건]일 때 예외를 던지는지 확인해야 해."

### ✅ 결과 검증 및 리포트
> "방금 작성한 코드가 테스트를 통과하는지 실행해보고 결과를 리포트해. 만약 실패한다면 헌법 제1.2항의 '에러 대응' 원칙에 따라 확정적인 수정안을 제시해."

---

## 5. 유지보수 및 이슈 관리 (Maintenance)
작업을 마무리하고 기록을 남기는 단계입니다.

### 🔄 문서 업데이트 및 동기화
> "작업이 완료되었으니 헌법 제6.3항에 따라 `docs/issue.md`의 작업 상태를 갱신하고, 변경된 인터페이스가 있다면 `docs/api_contract.md`에 반영해줘. 이번 작업으로 해결된 버그나 남은 과제도 기록해."

---

## 💡 개발자를 위한 바이브 코딩 팁 (Tips)

1. **AI의 '직무유기' 방지:** AI가 "이 부분은 직접 구현하세요"라고 하면, 즉시 **헌법 제1.2항(생략 없는 구현)**을 상기시키며 다시 요구하세요.
2. **한국어 원칙 고수:** 로그 메시지나 주석이 영어로 나온다면 **헌법 제3조**를 근거로 즉시 수정을 지시하세요. 나중에 사용자님이 코드를 읽을 때의 피로도가 달라집니다.
3. **샘플 데이터의 힘:** 복잡한 로직일수록 `data/samples/`에 예시 데이터를 던져주고 "이걸 보고 판단해"라고 하는 것이 수천 줄의 설명보다 정확합니다.