# 파일 형식 표준 > **버전:** 1.1.0 > **최종 수정:** 2026-01-20 > **호환:** CWS v4.2.0+ > **용도:** 모든 CWS 파일의 형식 표준 정의 > **주요 변경:** 나이 관계 테이블 + 호칭 복수/단수 검증 추가 --- ## 📋 개요 **왜 파일 형식 표준이 필요한가?** ``` ❌ 형식 불통일: - 파일마다 헤더 다름 - 띄어쓰기 제각각 - AI가 매번 다르게 생성 → 검증 어려움, 일관성 깨짐 ✅ 표준화: - 모든 파일 동일 구조 - 자동 검증 가능 - AI 작성 품질 향상 ``` --- ## 📚 목차 1. [챕터 파일 (ch-XXX.md)](#1-챕터-파일-ch-xxxmd) 2. [플롯 파일 (plot-*.md)](#2-플롯-파일-plot-md) 3. [서머리 파일 (summary-*.md)](#3-서머리-파일-summary-md) 4. [복선 추적 파일 (foreshadows.md)](#4-복선-추적-파일-foreshadowsmd) 5. [캐릭터 마스터 (characters-master.md)](#5-캐릭터-마스터-characters-mastermd) 6. [타임라인 마스터 (timeline-master.md)](#6-타임라인-마스터-timeline-mastermd) 7. [플롯 마스터 (plot-master.md)](#7-플롯-마스터-plot-mastermd) 8. [세계관 (worldbuilding.md)](#8-세계관-worldbuildingmd) 9. [프로젝트 설정 (project-config.md)](#9-프로젝트-설정-project-configmd) --- ## 1. 챕터 파일 (ch-XXX.md) ### 1.1 형식 ```markdown # [권수]권 [화수]화: [제목] > **타임라인:** YYYY.M.D-M.D > **장소:** 장소1, 장소2 --- ## Part 1: [소제목] (본문 내용) --- ## Part 2: [소제목] (본문 내용) --- (Part 3, 4, ... 반복) (본문으로 끝. 바텀 절대 금지!) ``` ### 1.2 헤더 규칙 **제목 라인:** ``` 형식: # [권수]권 [화수]화: [제목] ✅ 올바름: # 1권 1화: 빛 속으로 # 2권 29화: 만주 특별구 출범 ❌ 잘못됨: # ch-029: 제목 (ch- 형식 금지) # 29화: 제목 (권 번호 누락) # 2권 29화 : 제목 (콜론 앞 공백) ``` **타임라인:** ``` 형식: > **타임라인:** YYYY.M.D-M.D ✅ 올바름: > **타임라인:** 1950.3.11-4.1 > **타임라인:** 1947.1.1 ❌ 잘못됨: > **타임라인:** 1950-3-11~4-1 (구분자 잘못) > **타임라인:** 1950/3/11 (슬래시 금지) ``` **장소:** ``` 형식: > **장소:** 장소1, 장소2 ✅ 올바름: > **장소:** 만주 연길 > **장소:** 서울, 청와대 ``` ### 1.3 띄어쓰기 규칙 ```markdown # 제목 (빈 줄 1개) > **타임라인:** ... > **장소:** ... (빈 줄 1개) --- (빈 줄 1개) ## Part 1: 소제목 (빈 줄 1개) 본문 문단 1 본문 문단 2 대화가 시작되는 부분. "대화 내용1" "대화 내용2" 대화 후 지문. (빈 줄 1개) --- (빈 줄 1개) ## Part 2: 소제목 ... ``` **핵심 규칙:** - 헤더 다음: 빈 줄 1개 - Part 구분선 (---) 전후: 빈 줄 1개 - 일반 문단 사이: 빈 줄 1개 - 대화 블록 전후: 빈 줄 1개 - 연속 대화: 빈 줄 없음 ### 1.4 금지사항 ``` ❌ 절대 금지: - [X화 끝] - 다음 X화: ... - --- 끝 --- - (계속) - 아무 바텀도! 이유: 1. 헤더에 이미 화수 있음 (중복) 2. 리넘버링 시 수정 지옥 3. 파일명/헤더와 불일치 위험 ``` --- ## 2. 플롯 파일 (plot-*.md) ### 2.1 5화 플롯 (plot-XXX-YYY.md) ```markdown # X권 XXX-YYY화 플롯 > **생성일:** YYYY-MM-DD > **담당:** Sonnet > **상태:** 작성 준비 / 작성 중 / 작성 완료 --- ## 전체 개요 **5화 핵심:** (3-5문장으로 이 5화의 핵심 내용) **주요 등장인물:** - 캐릭터A - 캐릭터B **시간 범위:** YYYY.M.D ~ YYYY.M.D **주요 장소:** 장소1, 장소2 --- ## XXX화: [제목] ### 타임라인 - **날짜:** YYYY.M.D-M.D - **시간대:** 아침/낮/저녁/밤 ### 장소 - 주 장소: - 등장 장소: ### 등장인물 - 주요: - 조연: ### 핵심 내용 (3-5문장) ### 주요 장면 1. **Part 1: 소제목** - 내용: - 감정선: 2. **Part 2: 소제목** - 내용: - 감정선: 3. **Part 3~4: ...** ### 복선 - [ ] 설치: (내용) - [ ] 회수: (내용) ### 클리프행어 / 끝맺음 - --- ## XXX+1화: [제목] (동일 구조 반복) --- ## XXX+2화: [제목] ... --- ## XXX+3화: [제목] ... --- ## XXX+4화: [제목] ... --- ## 체크리스트 - [ ] 5화 모두 작성 - [ ] 타임라인 연속성 확인 - [ ] 캐릭터 등장 적절성 확인 - [ ] 복선 설치/회수 계획 - [ ] 전체 호흡 확인 ``` ### 2.2 띄어쓰기 규칙 ``` # 제목 (빈 줄 1개) > **생성일:** ... > **담당:** ... (빈 줄 1개) --- (빈 줄 1개) ## 섹션 (빈 줄 1개) 내용 ``` --- ## 3. 서머리 파일 (summary-*.md) ### 3.1 누적 서머리 (summary-001-XXX.md) ```markdown # 1-XXX화 누적 서머리 > **최종 업데이트:** YYYY-MM-DD HH:MM > **현재:** ch-XXX (XXX화) > **총 분량:** XX,XXX자 --- ## 📌 전체 줄거리 (3-5문단으로 1화부터 XXX화까지 전체 흐름 요약) 첫 문단: 시작과 설정 중간 문단들: 주요 사건 전개 마지막 문단: 현재 상황 --- ## 📖 챕터별 핵심 ### ch-001: [제목] **날짜:** YYYY.M.D **장소:** 장소 **핵심:** 1-2문장 요약 ### ch-002: [제목] **날짜:** YYYY.M.D **장소:** 장소 **핵심:** 1-2문장 요약 (계속...) --- ## 🎭 캐릭터 상태 ### [주인공 이름] - **ch-001:** 초기 상태 - **ch-005:** 상태 변화 - **ch-010:** 주요 결정 - **현재 (ch-XXX):** 최신 상태 ### [히로인 이름] (동일 구조) ### [주요 조연] (동일 구조) --- ## 🎣 복선 현황 ### 설치됨 (미회수) - [ ] [복선 내용] (ch-XXX 설치) → 회수 예정: X권 XX화 ### 회수됨 - [x] [복선 내용] (ch-XXX 설치 → ch-YYY 회수) --- ## 📊 통계 - **총 챕터:** XXX화 - **총 분량:** XX,XXX자 - **평균 분량:** X,XXX자/화 - **작중 시간:** YYYY.M.D ~ YYYY.M.D (X개월) --- *다음 작성: ch-XXX+1 ([제목])* ``` ### 3.2 권 최종 서머리 (summary-vol-XX-final.md) ```markdown # X권 최종 서머리 (압축판) > **작성일:** YYYY-MM-DD > **범위:** ch-001 ~ ch-050 > **용도:** 다음 권 작성 시 참조 --- ## 📌 X권 전체 줄거리 (압축) (5-7문단으로 1권 전체 요약) (세부 내용보다 큰 흐름 중심) --- ## 🎭 캐릭터 최종 상태 ### [주인공] - **시작:** 상태 - **변화:** 주요 변화 3-5개 - **끝:** 최종 상태 - **다음 권으로:** 이어질 상황 ### [히로인] (동일 구조) --- ## 🎣 복선 상태 ### 회수된 복선 - [x] 복선1 - [x] 복선2 ### 다음 권으로 이어지는 복선 - [ ] 복선3 (설치: ch-XXX, 회수 예정: 2권) - [ ] 복선4 --- ## 📊 X권 통계 - **총 챕터:** 50화 - **총 분량:** XXX,XXX자 - **작중 시간:** YYYY.M.D ~ YYYY.M.D - **주요 사건:** X개 --- *이 서머리는 토큰 효율을 위해 압축된 버전입니다.* ``` --- ## 4. 복선 추적 파일 (foreshadows.md) ### 4.1 형식 ```markdown # 복선 추적 (X권) > **최종 업데이트:** YYYY-MM-DD > **권:** X권 > **상태:** 진행 중 / 완료 --- ## 📊 현황 | 상태 | 개수 | |------|------| | ⏳ 대기 중 | X개 | | ✅ 회수 완료 | X개 | | **총계** | **X개** | --- ## 🎣 복선 목록 ### 복선 #1: [복선 이름/요약] **유형:** 단기 / 중기 / 장기 **설치:** - **위치:** ch-XXX Part X - **내용:** "구체적 대사/장면/묘사" - **형태:** 대화 / 소품 / 반응 / 환경 **회수 계획:** - **예정:** ch-YYY (X권 YY화) - **방법:** (어떻게 회수할지) **상태:** ⏳ 대기 / ✅ 완료 **회수 기록:** (완료 시 작성) - **위치:** ch-YYY Part Y - **내용:** (회수 내용) - **완료일:** YYYY-MM-DD --- ### 복선 #2: [복선 이름/요약] (동일 구조) --- ## ✅ 회수 완료 목록 ### 복선 #X: [복선 이름] ✅ - **설치:** ch-XXX → **회수:** ch-YYY - **내용:** (간단 요약) --- ## 📝 작성 가이드 ### 복선 추가 시 1. 위 형식대로 새 복선 추가 2. 유형 지정 (단기/중기/장기) 3. 회수 계획 명시 ### 복선 회수 시 1. 상태를 ✅ 완료로 변경 2. 회수 기록 작성 3. 회수 완료 목록으로 이동 ### 주의사항 - 모든 복선은 반드시 회수 계획 있어야 함 - 회수 없이 방치 금지 - 의도적으로 열어둘 복선은 명시 ``` --- ## 5. 캐릭터 마스터 (characters-master.md) ### 5.1 형식 ```markdown # 캐릭터 마스터 > **생성일:** YYYY-MM-DD > **담당:** Opus > **검증:** Codex (YYYY-MM-DD) > **버전:** 1.0.0 --- ## 📊 캐릭터 현황 | 분류 | 인원 | |------|------| | 주인공 | 1명 | | 히로인 | 1명 | | 주요 조연 | X명 | | 조연 | X명 | | 적대자 | X명 | | **총계** | **X명** | --- ## 주인공 ### [이름] #### 기본 정보 - **이름:** 전체 이름 (한자) - **생년월일:** YYYY-MM-DD (만 XX세, 작중 시작 시점) - **직업/역할:** - **외모:** (키, 체격, 특징) #### 성격 - **핵심 성격:** (3단어) - **장점:** 3-5개 - **단점:** 3-5개 - **말투/버릇:** #### 캐릭터 아크 - **결핍 (Wound):** - **거짓 믿음 (Lie):** - **Want:** (표면적 욕망) - **Need:** (진짜 필요) - **변화 과정:** | 시점 | 상태 | 계기 | |------|------|------| | 1권 시작 | | | | 3권 | | | | 5권 | | | #### 관계 - **[인물A]:** 관계 설명 - **[인물B]:** 관계 설명 #### 참조 - **타임라인:** timeline-master.md#섹션 - **플롯:** plot-master.md#섹션 --- ## 히로인 ### [이름] (동일 구조) --- ## 주요 조연 ### [이름] (동일 구조, 약간 간략화 가능) --- ## 조연 ### [이름] (간략화) --- ## 적대자 ### [이름] (동일 구조, 동기 중요) --- ## 관계도 ``` [주인공] ──애정──▶ [히로인] │ │ │ 신뢰 │ 의지 ▼ ▼ [조력자A] [조력자B] │ │ 대립 ▼ [적대자] ``` --- ## 호칭 체계 ### 호칭 규칙 | 화자 | 청자 | 호칭 | 시점 | 비고 | |------|------|------|------|------| | 주인공 | 히로인 | "서 선생님" | 초기 | 첫 만남 ~ X권 X화 | | 주인공 | 히로인 | "윤희 씨" | 친밀 후 | X권 X화 ~ | | 히로인 | 주인공 | "강 선생" | 초기 | | | 히로인 | 주인공 | "민준 씨" | 친밀 후 | | ### 호칭 변화 시점 | 관계 | 변화 | 시점 | 계기 | |------|------|------|------| | 주인공→히로인 | "서 선생님" → "윤희 씨" | 2권 15화 | 고백 후 | --- ## 나이 관계 테이블 ### 나이/지위 서열 (필수!) **목적:** 복수/단수 호칭 검증 ```markdown | 인물 | 생년 | 나이(1945) | 서열 | 비고 | |------|------|-----------|------|------| | 강민준 | 1984 | 41세 | 1위 (맏형) | 최고령 | | 박현우 | 1988 | 37세 | 2위 (둘째) | | | 최태준 | 1990 | 35세 | 3위 (막내) | 최연소 | ``` ### 호칭 복수/단수 규칙 (필수!) **핵심:** 나보다 나이/지위 높은 사람이 몇 명? | 화자 | 나이 | 대상 | 대상 수 | 올바른 호칭 | 잘못된 호칭 | |------|------|------|---------|------------|------------| | 박현우 | 37세 | 강민준(41세) | **1명** | "형님" | "형님들" ❌ | | 최태준 | 35세 | 강민준+박현우 | **2명** | "형님들" | "형님" ❌ | | 최태준 | 35세 | 강민준(41세) | **1명** | "형님" | "형님들" ❌ | | 최태준 | 35세 | 박현우(37세) | **1명** | "형" | "형들" ❌ | **규칙:** ``` 대상 1명 → 단수 ("형님", "형", "선배님") 대상 2명 이상 → 복수 ("형님들", "형들", "선배님들") ``` **실제 오류 예시 (1945-novel):** ``` ❌ 박현우: "형님들, 저 먼저 갑니다." → 박현우보다 나이 많은 사람: 강민준(41세) 1명만! → 올바른 호칭: "형님" ✅ 최태준: "형님들, 저 먼저 갑니다." → 최태준보다 나이 많은 사람: 강민준(41세) + 박현우(37세) = 2명 → 올바른 호칭: "형님들" ``` --- ## 캐릭터 변화 로그 | 캐릭터 | 시점 | 변화 내용 | 원인/계기 | |--------|------|----------|----------| | 주인공 | 1권 25화 | 냉철 → 공격적 | 배신 사건 | --- *캐릭터 설정은 플롯보다 우선합니다.* ``` --- ## 6. 타임라인 마스터 (timeline-master.md) ### 6.1 형식 ```markdown # 타임라인 마스터 > **생성일:** YYYY-MM-DD > **담당:** Sonnet > **검증:** Codex (YYYY-MM-DD) > **버전:** 1.0.0 --- ## 역사적 배경 (대체역사/시대물) ### 실제 역사 | 날짜 | 사건 | 비고 | |------|------|------| | 1945-08-15 | 광복 | | | 1945-09-08 | 미군정 시작 | | ### 분기점 (대체역사 시) - **분기 시점:** YYYY-MM-DD - **분기 원인:** - **달라지는 점:** --- ## 캐릭터 연대기 ### [주인공 이름] | 연도 | 나이 | 사건 | 참조 | |------|------|------|------| | 1910 | 출생 | 서울 출생 | | | 1935 | 25세 | 결혼 | | | 1945 | 35세 | 회귀 (2024→1945) | 1권 1화 | ### [히로인 이름] (동일 구조) --- ## 작중 타임라인 ### 1권 (ch-001 ~ ch-050) | 화 | 날짜 | 주요 사건 | 장소 | |----|------|----------|------| | 1 | 1945.8.15 | 광복, 회귀 | 서울 | | 5 | 1945.8.20 | 여운형 만남 | 경성 | | 10 | 1945.9.1 | | | | ... | | | | | 50 | 1946.6.30 | 1권 끝 | | ### 2권 (동일 구조) --- ## 시간 규칙 ### 페이싱 - **1화 = 평균:** 3일 - **빠른 전개:** 1일 = 1화 - **느린 전개:** 1일 = 2화 ### 시간 점프 규칙 - **최대 점프:** 1개월 - **점프 시 필수:** 날짜 명시 + 간략 설명 --- ## 나이 계산표 | 캐릭터 | 생년 | 1권 시작 | 3권 시작 | 5권 시작 | |--------|------|----------|----------|----------| | 주인공 | 1910 | 35세 | 37세 | 39세 | | 히로인 | 1920 | 25세 | 27세 | 29세 | --- ## 검증 체크리스트 - [ ] 캐릭터 나이 = 타임라인 일치 - [ ] 역사적 사건 날짜 정확 - [ ] 작중 시간 흐름 모순 없음 - [ ] 계절/날씨 = 날짜 일치 --- *타임라인은 모든 설정의 기준입니다.* ``` --- ## 7. 플롯 마스터 (plot-master.md) ### 7.1 형식 ```markdown # 플롯 마스터 > **생성일:** YYYY-MM-DD > **담당:** Sonnet > **검증:** Opus (YYYY-MM-DD) > **버전:** 1.0.0 --- ## 전체 구조 ### 시리즈 개요 - **전체 권수:** 10권 - **1권당 화수:** 50화 - **핵심 갈등:** - **최종 목표:** ### 3막 구조 | 막 | 권 | 핵심 | |----|----|----| | 1막 | 1-3권 | 설정과 갈등 제시 | | 2막 | 4-7권 | 갈등 심화 | | 3막 | 8-10권 | 해결 | --- ## 권별 플롯 ### 1권: [부제] #### 목표 - **권 목표:** - **캐릭터 아크:** - **핵심 갈등:** #### 구조 | 구간 | 화 | 내용 | |------|-----|------| | 도입 | 1-10 | | | 전개 | 11-25 | | | 클라이맥스 | 26-40 | | | 마무리 | 41-50 | | #### 주요 이벤트 - **10화:** - **25화:** - **40화:** - **50화:** ### 2권: [부제] (동일 구조) --- ## 복선 관리 ### 복선 설치 계획 | 복선 | 설치 | 회수 예정 | 유형 | |------|------|----------|------| | 만주 언급 | 1권 3화 | 2권 10화 | 중기 | | 검은 반지 | 1권 15화 | 1권 45화 | 단기 | ### 복선 규칙 - **단기:** 5화 이내 회수 - **중기:** 같은 권 내 회수 - **장기:** 다음 권 이후 회수 - **모든 복선 반드시 회수!** --- ## 로맨스 라인 (해당 시) ### 진행 계획 | 단계 | 시점 | 이벤트 | 비고 | |------|------|--------|------| | 첫 만남 | 1권 3화 | | | | 호감 | 1권 15화 | | | | 갈등 | 2권 20화 | | | | 화해 | 2권 35화 | | | | 고백 | 3권 10화 | | | --- ## 갈등 라인 ### 메인 갈등 - **갈등 내용:** 분단 vs 통일 - **시작:** 1권 - **해결:** 10권 ### 서브 갈등 | 갈등 | 시작 | 해결 | 유형 | |------|------|------|------| | 이승만 대립 | 1권 | 3권 | 인물 vs 인물 | --- *플롯은 캐릭터를 따릅니다.* ``` --- ## 8. 세계관 (worldbuilding.md) ### 8.1 형식 ```markdown # 세계관 설정 > **생성일:** YYYY-MM-DD > **담당:** Sonnet > **참조:** project-config.md > **버전:** 1.0.0 --- ## 시대/공간 배경 ### 시대 - **주 시대:** 1945-1950년 - **시작 시점:** 1945년 8월 15일 - **종료 시점:** 1950년 (예정) ### 공간 - **주 무대:** 한반도 (서울, 만주) - **등장 지역:** --- ## 세계 규칙 ### 핵심 규칙 1. (절대 깨지면 안 되는 규칙) 2. 3. ### 제약 사항 1. (주인공이 할 수 없는 것) 2. 3. --- ## 장르 특수 설정 ### [장르명] 관련 (대체역사/회귀물 등) --- ## 시대 고증 (해당 시) ### 언어/호칭 - ### 의복/외양 - ### 기술 수준 - ### 사회/문화 - --- *세계관 규칙을 어기는 장면은 작성하지 않습니다.* ``` --- ## 9. 프로젝트 설정 (project-config.md) ### 9.1 형식 ```markdown # 프로젝트 설정 > **생성일:** YYYY-MM-DD > **담당:** Opus > **버전:** 1.0.0 --- ## 기본 정보 - **제목:** (가제) - **장르:** - **서브장르:** - **예상 규모:** 전 10권 (권당 50화) --- ## 컨셉 - **한 줄 요약:** - **핵심 차별점:** --- ## 톤/분위기 - **기조:** 진지 / 가벼움 / 혼합 - **유머 비율:** 10% - **독자 타겟:** --- ## 프로젝트 변수 설정 ### 로맨스 - **비중:** 30% (메인 플롯 대비) - **페이싱:** 느림 - **주요 이벤트 시점:** - 첫 만남: 1권 3화 - 호감 인지: 1권 15화 - 고백: 3권 10화 ### 갈등 - **강도:** 높음 - **주요 유형:** - [x] 인물 vs 인물 - [x] 인물 vs 사회 - [ ] 인물 vs 자신 - **갈등 빈도:** 5화마다 긴장 포인트 ### 페이싱 - **기본 속도:** 보통 - **1화 = 작중 시간:** 평균 3일 --- ## 핵심 질문 - **왜 이 이야기인가?** - **독자가 왜 읽어야 하는가?** - **다른 작품과 뭐가 다른가?** --- *이 설정은 이후 모든 설계의 기준이 됩니다.* ``` --- ## ✅ 공통 규칙 ### 모든 파일 공통 1. **헤더 블록:** ```markdown # 파일 제목 (빈 줄 1개) > **생성일:** YYYY-MM-DD > **담당:** Opus/Sonnet/Codex > **버전:** X.X.X (빈 줄 1개) --- ``` 2. **섹션 구분:** ```markdown (빈 줄 1개) --- (빈 줄 1개) ## 섹션 (빈 줄 1개) ``` 3. **마크다운 테이블:** ```markdown | 헤더1 | 헤더2 | |-------|-------| | 내용1 | 내용2 | ``` 4. **체크리스트:** ```markdown - [ ] 미완료 항목 - [x] 완료 항목 ``` 5. **날짜 형식:** - 전체 날짜: `YYYY-MM-DD` - 작중 날짜: `YYYY.M.D` (0 패딩 없음) - 시간: `HH:MM` (24시간) --- ## 🚫 금지사항 ### 모든 파일에서 금지 ``` ❌ 탭 문자 사용 (스페이스만) ❌ 불규칙한 빈 줄 (표준 따르기) ❌ 날짜 형식 혼용 (통일!) ❌ 헤더 블록 누락 ❌ 버전 정보 누락 ``` --- *일관된 형식 = 검증 가능 = 품질 향상*