diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b39179..93159f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,85 @@ ## [Unreleased] ### 추가 예정 -- 장르별 특화 가이드 (대체역사, 로맨스 등) +- CLAUDE.md.template 프로젝트 변수 섹션 +- foreshadows.md.template (복선 추적 시스템) - 1945 프로젝트 적용 후 피드백 반영 --- +## [v4.2.0] - 2026-01-20 (호칭 복수/단수 검증 + 최적화) + +### Added +- **file-formats.md v1.1.0**: 나이 관계 테이블 + 호칭 복수/단수 규칙 + - characters-master.md 섹션에 "나이 관계 테이블" 추가 + - 복수/단수 호칭 규칙 테이블 (대상 수 기준) + - 실제 오류 예시 (1945-novel 박현우 사례) + - 화자 기준 올바른 호칭 검증 방법 + +- **writing-mode.md v2.1.1**: 간이 검증에 호칭 복수/단수 체크 추가 + - Phase 3 간이 검증에 "호칭 복수/단수 정확성" 항목 신규 추가 + - characters.md 나이 관계 테이블 기준 검증 + - 검색 패턴: "형님들", "형들", "선배님들" 등 + - 화자 확인 → 대상 수 체크 → 올바른 호칭 판단 + +- **verification-mode.md v2.3.0**: 상세 호칭 복수/단수 정확성 검증 + - 4단계 내용 검증에 "호칭 복수/단수 정확성" 항목 신규 추가 + - 검증 방법 4단계: 검색 → 화자 확인 → 대상 수 확인 → 검증 + - 실제 오류 예시 (박현우/최태준) + - 발견 시 기록 형식 명시 + +- **writing-guide.md v2.2.0**: 웹소설 플랫폼 가독성 기준 추가 + - "웹소설 플랫폼 가독성" 섹션 신규 추가 (작성 단계부터 반영!) + - 플랫폼 특성: 문피아/카카오페이지/네이버 시리즈 + - 문단 길이 기준: 3-5줄 권장, 7줄 검토, 10줄 필수 분리 + - 여백 활용 규칙: 문단 사이 빈 줄 1개 일관성 + - 대화 구분 명확성, Scene/Part 구분 규칙 + - 모바일 최적화 체크리스트 + +- **polish-mode.md v2.3.0**: MODIFICATION 경계 명확화 + - "POLISH vs MODIFICATION 경계" 섹션 신규 추가 + - 명확한 구분: 같은 의미/더 나은 표현 vs 의미/내용 변경 + - 구체적 예시 10개 (POLISH 5개, MODIFICATION 5개) + - 판단 기준 체크리스트 4항목 + - 애매한 경우 가이드라인 + - 보수적 원칙: "의심스러우면 건드리지 마라" + +### Changed +- **modification-mode.md v2.1.0**: Summary 재생성 규칙 최적화 + - 개요: "summary 재생성 필수" → "summary 스마트 업데이트 (필요한 것만!)" + - 공통 프로세스: "영향 범위 전체 재생성" → "유형별 규칙 참조" + - **B. 내용 수정**: 해당 챕터 포함 summary만 부분 업데이트 (전체 재생성 아님!) + - **C. 다중 수정**: 영향받는 summary들만 부분 업데이트 + - **D. 플롯 수정**: 변경 범위에 따라 판단 (미세 조정 vs 대폭 변경) + - **E~H (구조 변경)**: 전체 재생성 (리넘버링 불가피) + - Summary 업데이트 원칙 섹션 추가 + - 금지사항: "불필요한데 전체 재생성 (토큰 낭비!)" 추가 + +### Standards 버전 +| 파일 | 이전 버전 | 현재 버전 | 변경사항 | +|------|----------|----------|------------| +| file-formats.md | v1.0.0 | v1.1.0 | 나이 관계 + 호칭 복수/단수 | +| writing-mode.md | v2.1.0 | v2.1.1 | 간이 검증에 호칭 복수/단수 | +| verification-mode.md | v2.2.0 | v2.3.0 | 호칭 복수/단수 정확성 검증 | +| modification-mode.md | v2.0.0 | v2.1.0 | Summary 재생성 최적화 | +| writing-guide.md | v2.1.0 | v2.2.0 | 플랫폼 가독성 (작성 단계) | +| polish-mode.md | v2.2.0 | v2.3.0 | MODIFICATION 경계 명확화 | + +### 적용 배경 +- **1945-novel 실제 오류 발견**: 박현우(37세, 둘째)가 "형님들" 사용 + - 박현우보다 나이 많은 사람: 강민준(41세) 1명만 + - 올바른 호칭: "형님" (단수) + - 현재 시스템으로 미탐지 +- **호칭 복수/단수 검증 추가**: 나이 관계 기반 대상 수 체크 +- **Summary 과도한 재생성 문제**: ch-029 수정 시 summary-030~060 전부 재생성 + - 토큰 낭비 심각 + - 스마트 업데이트로 최적화 +- **플랫폼 가독성 기준 부재**: 작성 단계에 웹소설 플랫폼 기준 없음 + - polish-mode에만 있어 뒤늦게 수정 필요 + - writing-guide.md에 추가하여 작성 단계부터 반영 + +--- + ## [v4.1.2] - 2026-01-20 (웹소설 플랫폼 최적화) ### Added diff --git a/CURRENT-TASK.md b/CURRENT-TASK.md index 32bdb41..d362860 100644 --- a/CURRENT-TASK.md +++ b/CURRENT-TASK.md @@ -1,14 +1,14 @@ # 현재 작업 상태 -**최종 업데이트:** 2026-01-20 19:00 +**최종 업데이트:** 2026-01-20 21:00 --- ## 모드 -CWS v4.1.2 완료 +CWS v4.2.0 완료 ## 작업 -웹소설 플랫폼 가독성 최적화 완료 (문피아/카카오페이지 기준) +호칭 복수/단수 검증 시스템 구축 + Summary 최적화 + MODIFICATION 경계 명확화 완료 --- @@ -92,6 +92,29 @@ CWS v4.1.2 완료 - 웹소설 플랫폼 특성 반영 (문피아/카카오페이지) - [x] **CHANGELOG.md v4.1.2 작성** +### v4.2.0 호칭 복수/단수 검증 + 최적화 (2026-01-20) +- [x] **file-formats.md v1.1.0** + - 나이 관계 테이블 추가 (characters-master.md 섹션) + - 호칭 복수/단수 규칙 테이블 (대상 수 기준) + - 실제 오류 예시 (1945-novel 박현우 사례) +- [x] **writing-mode.md v2.1.1** + - 간이 검증에 "호칭 복수/단수 정확성" 추가 + - 나이 관계 테이블 기준 검증 +- [x] **verification-mode.md v2.3.0** + - 상세 호칭 복수/단수 정확성 검증 + - 검증 방법 4단계 명시 +- [x] **modification-mode.md v2.1.0** + - Summary 재생성 규칙 최적화 + - 스마트 업데이트 (필요한 것만!) + - 유형별 규칙 상세화 (A~H) +- [x] **writing-guide.md v2.2.0** + - 웹소설 플랫폼 가독성 섹션 추가 (작성 단계부터!) + - 문단 길이/여백/대화 구분 기준 +- [x] **polish-mode.md v2.3.0** + - POLISH vs MODIFICATION 경계 명확화 + - 구체적 예시 10개 + 판단 기준 +- [x] **CHANGELOG.md v4.2.0 작성** + --- ## ⏳ 남은 작업 diff --git a/templates/standards/file-formats.md b/templates/standards/file-formats.md new file mode 100644 index 0000000..939add0 --- /dev/null +++ b/templates/standards/file-formats.md @@ -0,0 +1,1086 @@ +# 파일 형식 표준 + +> **버전:** 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시간) + +--- + +## 🚫 금지사항 + +### 모든 파일에서 금지 + +``` +❌ 탭 문자 사용 (스페이스만) +❌ 불규칙한 빈 줄 (표준 따르기) +❌ 날짜 형식 혼용 (통일!) +❌ 헤더 블록 누락 +❌ 버전 정보 누락 +``` + +--- + +*일관된 형식 = 검증 가능 = 품질 향상* diff --git a/templates/standards/modification-mode.md b/templates/standards/modification-mode.md index 6f51dd6..ce2308a 100644 --- a/templates/standards/modification-mode.md +++ b/templates/standards/modification-mode.md @@ -1,9 +1,10 @@ # 수정 모드 프로토콜 -> **버전:** 2.0.0 -> **최종 수정:** 2026-01-18 -> **호환:** CWS Writing Guide v3.3.0+ +> **버전:** 2.1.0 +> **최종 수정:** 2026-01-20 +> **호환:** CWS Writing Guide v4.2.0+ > **용도:** 기존 챕터 수정 및 재구성 +> **주요 변경:** Summary 재생성 규칙 최적화 (불필요한 재생성 제거) --- @@ -12,7 +13,7 @@ **수정 모드는:** - 기존 챕터 수정/재구성 - 영향 범위 분석 필수 -- summary 재생성 필수 +- summary 스마트 업데이트 (필요한 것만!) - CHANGELOG 업데이트 **진입 명령:** @@ -67,7 +68,7 @@ ↓ 6. 수정 실행 ↓ -7. summary 재생성 (영향 범위 전체!) +7. summary 스마트 업데이트 (유형별 규칙 참조!) ↓ 8. 검증 ↓ @@ -95,58 +96,84 @@ summary: 내용 변화 없으면 불필요 ### B. 내용 수정 (한 화) ``` -영향 범위: 해당 챕터 + 이후 summary -summary: 해당 챕터부터 끝까지 재생성 +영향 범위: 해당 챕터만 +summary: 해당 챕터 포함된 summary만 업데이트 (해당 화 섹션만) 리네임: 불필요 절차: 1. 챕터 수정 -2. summary-001-XXX ~ 끝 재생성 -3. 검증 -4. Git 커밋 +2. 해당 챕터 포함된 summary 파일 열기 +3. 해당 화 섹션만 업데이트 (전체 재생성 아님!) + - 📖 챕터별 핵심: 해당 화만 수정 + - 🎭 캐릭터 상태: 필요시 수정 + - 🎣 복선 현황: 필요시 수정 +4. 검증 +5. Git 커밋 예: ch-029 수정 -→ summary-001-030, 035, 040, ..., 060 전부 재생성 +→ summary-001-030.md 열기 +→ ch-029 섹션만 업데이트 +→ (summary-035, 040 등은 건드리지 않음!) + +⚠️ 단, 아래 경우는 전체 재생성: +- 플롯 방향 크게 바뀜 (이후 전개 영향) +- 캐릭터 관계 크게 바뀜 +- 복선 추가/삭제로 이후 영향 ``` ### C. 다중 수정 (여러 화, 같은 변경) ``` -영향 범위: 해당 챕터들 + 이후 summary -summary: 첫 수정 챕터부터 끝까지 +영향 범위: 해당 챕터들만 +summary: 영향받는 summary들만 부분 업데이트 리네임: 불필요 절차: 1. 대상 챕터 일괄 수정 -2. summary 재생성 (첫 수정 챕터부터) -3. 검증 -4. Git 커밋 +2. 영향받는 summary 파일들만 열기 +3. 해당 화 섹션들만 부분 업데이트 +4. 검증 +5. Git 커밋 예: ch-025~050 "당신" → "윤희 씨" 변경 -→ summary-001-025부터 재생성 +→ summary-001-030.md: ch-025~030 섹션만 수정 +→ summary-001-035.md: ch-031~035 섹션만 수정 +→ summary-001-040.md: ch-036~040 섹션만 수정 +→ ... +→ (전체 재생성 아님! 해당 섹션만 호칭 반영) + +⚠️ 단순 호칭/표현 변경은 summary에 영향 적음 +→ summary는 핵심만 담고 있으므로 수정 불필요할 수도 있음 +→ 판단 후 필요시만 수정 ``` ### D. 플롯 수정 (대규모) ``` 영향 범위: plot + 해당 챕터들 + summary -summary: 영향받는 첫 챕터부터 끝까지 +summary: 플롯 변경 범위에 따라 선택 리네임: 보통 불필요 절차: 1. plot-master.md 수정 2. plot-XXX-YYY.md 수정 3. 챕터 수정/재작성 -4. summary 재생성 +4. summary 업데이트 (범위 판단!) + - 플롯 미세 조정: 해당 섹션만 부분 업데이트 + - 플롯 대폭 변경: 영향받는 구간부터 재생성 5. 검증 6. Git 커밋 + +예: ch-025~030 플롯 변경 +→ 미세 조정 (장면 순서 변경): summary-001-030.md에서 ch-025~030 섹션만 수정 +→ 대폭 변경 (플롯 방향 전환): summary-001-030부터 재생성 (이후 영향 있으므로) ``` ### E. 삽입 (새 화 추가) ⭐⭐⭐⭐ ``` 영향 범위: 삽입 위치 이후 모든 챕터 번호! -summary: 삽입 위치부터 전체 재생성 +summary: 삽입 위치부터 전체 재생성 (리넘버링 때문에 불가피) 리네임: 필수! 절차: @@ -178,7 +205,7 @@ summary: 삽입 위치부터 전체 재생성 ``` 영향 범위: 삭제 위치 이후 모든 챕터 번호 -summary: 삭제 위치부터 전체 재생성 +summary: 삭제 위치부터 전체 재생성 (리넘버링 때문에 불가피) 리네임: 필수! 절차: @@ -317,11 +344,29 @@ ch-031-temp → ch-032 ## 🚫 수정 모드 금지사항 ❌ 영향 분석 없이 수정 -❌ summary 재생성 누락 +❌ summary 필요한데 업데이트 누락 +❌ summary 불필요한데 전체 재생성 (토큰 낭비!) ❌ 리네임 순서 무시 (덮어쓰기 위험!) ❌ CHANGELOG 업데이트 누락 ❌ Git 커밋 없이 종료 +## 💡 Summary 업데이트 원칙 + +``` +✅ 스마트 업데이트: +- A (단순 수정): summary 업데이트 불필요 +- B (내용 수정): 해당 섹션만 부분 업데이트 +- C (다중 수정): 해당 섹션들만 부분 업데이트 +- D (플롯 수정): 변경 범위에 따라 판단 +- E~H (구조 변경): 전체 재생성 (리넘버링 불가피) + +❌ 과도한 재생성: +- "하나 바꿨으니 전부 재생성" → 토큰 낭비! +- 영향 없는 summary까지 재생성 → 불필요! + +핵심: 필요한 것만, 최소한으로! +``` + --- *수정은 신중하게! 영향 범위 분석이 핵심입니다.* diff --git a/templates/standards/polish-mode.md b/templates/standards/polish-mode.md index 6160a9f..da1528f 100644 --- a/templates/standards/polish-mode.md +++ b/templates/standards/polish-mode.md @@ -1,10 +1,10 @@ # POLISH 모드 프로토콜 -> **버전:** 2.2.0 +> **버전:** 2.3.0 > **최종 수정:** 2026-01-20 -> **호환:** CWS Writing Guide v3.3.0+ +> **호환:** CWS Writing Guide v4.2.0+ > **용도:** 문장 품질 다듬기 (내용 수정 없음) -> **주요 변경:** 웹소설 플랫폼 가독성 최적화 (문피아/카카오페이지 기준) +> **주요 변경:** MODIFICATION 모드와의 경계 명확화 (구체적 예시 추가) --- @@ -447,6 +447,135 @@ After: --- +## ⚖️ POLISH vs MODIFICATION 경계 (v2.3.0 신규) + +### 명확한 구분 + +``` +┌─────────────────────────────────────────────────┐ +│ POLISH = 같은 의미, 더 나은 표현 │ +│ MODIFICATION = 의미/내용 변경 │ +└─────────────────────────────────────────────────┘ +``` + +### 구체적 예시 + +#### ✅ POLISH (OK) + +```markdown +**1. 문장 다듬기 (의미 동일)** +Before: "민준은 화가 많이 났다." +After: "민준의 주먹이 떨렸다." +→ Show, Don't Tell 적용 (의미 동일!) + +**2. 어순 자연스럽게** +Before: "민준은 화가 나서 주먹을 쥐었다." +After: "민준이 주먹을 쥐었다. 화가 치밀었다." +→ 리듬감 개선 (내용 동일!) + +**3. 반복 제거** +Before: "민준이 말했다. 윤희가 말했다." +After: "민준이 말했다. 윤희가 고개를 끄덕였다." +→ 태그 다양화 (대화 내용 변경 없음!) + +**4. 문단 분리 (가독성)** +Before: (10줄 긴 문단) +After: (3-5줄씩 3개 문단) +→ 모바일 가독성 (내용 동일!) + +**5. 띄어쓰기/여백** +Before: (불규칙한 빈 줄) +After: (일관된 빈 줄 1개) +→ 플랫폼 최적화 (내용 동일!) +``` + +#### ❌ MODIFICATION (금지!) + +```markdown +**1. 대사 추가/삭제** +Before: "알겠습니다." +After: "알겠습니다. 그런데 형님, 이거는 어떻게 하시겠습니까?" +→ ❌ 새로운 질문 추가 = 내용 변경! +→ MODIFICATION 모드에서 해야 함! + +**2. 장면 추가** +Before: 민준이 회의실을 나섰다. +After: 민준이 회의실을 나섰다. 복도에서 윤희를 만났다. +→ ❌ 새 장면 추가 = 플롯 변경! +→ MODIFICATION 모드에서 해야 함! + +**3. 인과관계 수정** +Before: "명단을 받았으니 이제 작성하겠습니다." +After: "이미 작성했습니다." +→ ❌ 순서 바뀜 = 플롯 변경! +→ FIX 모드에서 해야 함! + +**4. 캐릭터 반응 변경** +Before: 민준은 고개를 끄덕였다. +After: 민준은 고개를 저었다. +→ ❌ 동의 → 거부 = 내용 변경! +→ MODIFICATION 모드에서 해야 함! + +**5. 설정/호칭 변경** +Before: "형님들" +After: "형님" +→ ❌ 호칭 수정 = 내용 변경! +→ FIX 모드에서 해야 함! (검증 보고서 기반) +``` + +### 판단 기준 + +``` +질문: "이 수정이 POLISH인가, MODIFICATION인가?" + +체크: +1. [ ] 의미가 100% 동일한가? +2. [ ] 플롯에 영향 없는가? +3. [ ] 인과관계 변화 없는가? +4. [ ] 캐릭터 반응/관계 동일한가? + +→ 모두 Yes: POLISH ✅ +→ 하나라도 No: MODIFICATION ❌ +``` + +### 애매한 경우 + +``` +❓ "그는" → "민준은" +✅ POLISH +→ 대명사를 이름으로 (의미 동일, 명확성 증가) + +❓ "민준은" → "강민준은" +✅ POLISH +→ 이름 풀네임 (의미 동일, 명확성 증가) + +❓ "형님" → "민준 형님" +⚠️ 판단 필요! +→ 호칭 규칙에 맞으면 POLISH +→ 호칭 규칙 위반 수정이면 FIX + +❓ "민준이 말했다." → "민준이 고개를 끄덕이며 말했다." +⚠️ MODIFICATION! +→ 행동 추가 = 내용 변경 +→ "말했다" → "고개를 끄덕였다" (대체)는 POLISH OK +``` + +### 원칙 + +``` +의심스러우면 → 건드리지 마라! + +POLISH는 보수적으로: +- 확실히 의미 동일한 것만 +- 가독성/문체만 개선 +- 내용에 의심 가면 SKIP + +"이거 바꿔도 될까?" → NO! +"이거 안 바꾸면 문법 틀림?" → YES! +``` + +--- + ## 🔗 연계 모드 ``` diff --git a/templates/standards/verification-mode.md b/templates/standards/verification-mode.md index bda2438..c9e138d 100644 --- a/templates/standards/verification-mode.md +++ b/templates/standards/verification-mode.md @@ -1,10 +1,10 @@ # 검증 모드 프로토콜 -> **버전:** 2.2.0 +> **버전:** 2.3.0 > **최종 수정:** 2026-01-20 > **호환:** CWS Writing Guide v3.3.0+ > **용도:** 전체 검증 및 기록 (수정 없음) -> **주요 변경:** 설정 일관성 검증 추가, 배치 경계 체크 추가 +> **주요 변경:** 호칭 복수/단수 정확성 검증 추가 --- @@ -203,6 +203,19 @@ FIX = 수정 - 결혼 전/후 호칭 구분 - 갑자기 호칭 바뀌는 경우 +⭐ 호칭 복수/단수 정확성 (v2.3.0 신규!) + - characters-master.md 나이 관계 테이블 기준 + - 화자가 대상 몇 명에게 말하는지 검증 + - 검증 방법: + 1. "형님들", "형들", "선배님들" 등 복수 호칭 검색 + 2. 화자 확인 (대화 직전 지문에서 파악) + 3. 나이 관계 테이블에서 화자보다 나이/지위 높은 사람 수 확인 + 4. 대상 1명 → 단수 / 대상 2명 이상 → 복수 + - 실제 오류 예시: + ❌ 박현우(37세, 2위): "형님들" → 윗사람 1명(강민준 41세)만 있음 → "형님" 사용해야 + ✅ 최태준(35세, 3위): "형님들" → 윗사람 2명(강민준+박현우) 있음 → 올바름 + - 발견 시 기록: 화자, 대화 내용, 실제 윗사람 수, 올바른 호칭 + ✅ 말투 일관성 - 존댓말/반말 패턴 유지 @@ -232,11 +245,12 @@ FIX = 수정 기록: - 플롯 불일치 목록 - 호칭 오류 목록 +- 호칭 복수/단수 오류 목록 (v2.3.0 신규!) - 캐릭터 오류 목록 - 장면 중복 목록 (v2.1.0) - 인과관계 오류 목록 (v2.1.0) - 정보 흐름 오류 목록 (v2.1.0) -- 설정 일관성 오류 목록 (v2.2.0 신규) +- 설정 일관성 오류 목록 (v2.2.0) ``` ### 5단계: 일관성 검증 diff --git a/templates/standards/writing-guide.md b/templates/standards/writing-guide.md index c276408..d2cebeb 100644 --- a/templates/standards/writing-guide.md +++ b/templates/standards/writing-guide.md @@ -1,9 +1,10 @@ # 작성 가이드 (문체/분량 규칙) -> **버전:** 2.1.0 -> **최종 수정:** 2026-01-18 -> **호환:** CWS Writing Guide v3.3.0+ +> **버전:** 2.2.0 +> **최종 수정:** 2026-01-20 +> **호환:** CWS Writing Guide v4.2.0+ > **용도:** 소설 작성 시 문체, 분량, 표현 규칙 +> **주요 변경:** 웹소설 플랫폼 가독성 기준 추가 (작성 단계부터 반영) --- @@ -212,6 +213,120 @@ --- +## 📱 웹소설 플랫폼 가독성 + +### 플랫폼 특성 + +``` +타겟 플랫폼: 문피아, 카카오페이지, 네이버 시리즈 +주 독자 환경: 모바일 (스마트폰) +화면 크기: 좁고 세로로 긴 화면 +스크롤: 빠른 스크롤 독서 + +→ 짧은 문단 + 충분한 여백 필수! +``` + +### 문단 길이 기준 + +``` +✅ 권장: 3-5줄 문단 +⚠️ 검토 필요: 7줄 이상 +❌ 필수 분리: 10줄 이상 + +예시: +❌ 긴 문단 (모바일에서 답답함): +강민준은 창밖을 바라보았다. 1945년 8월 15일. 광복의 날이었다. +하지만 그의 마음은 무거웠다. 앞으로 다가올 분단의 위기를 알고 +있었기 때문이다. 이승만과 김구의 갈등, 미소의 대립, 모든 것이 +역사대로 흘러가고 있었다. 그는 이를 막아야 했다. 하지만 어떻게? + +✅ 적절한 문단 (모바일 최적): +강민준은 창밖을 바라보았다. 1945년 8월 15일. 광복의 날이었다. + +하지만 그의 마음은 무거웠다. 앞으로 다가올 분단의 위기를 알고 +있었기 때문이다. + +이승만과 김구의 갈등, 미소의 대립. 모든 것이 역사대로 흘러가고 +있었다. 그는 이를 막아야 했다. 하지만 어떻게? +``` + +### 여백 활용 규칙 + +``` +✅ 문단 사이: 빈 줄 1개 (일관성!) +✅ 대화 블록 전후: 빈 줄 1개 +✅ Part 구분선 (---) 전후: 빈 줄 1개 +❌ 빈 줄 2개 이상: 금지 +❌ 빈 줄 불규칙: 금지 + +예시: +## Part 1: 아침 +(빈 줄 1개) +본문 문단 1 +(빈 줄 1개) +본문 문단 2 +(빈 줄 1개) +"대화 시작" +"대화 계속" +(빈 줄 1개) +본문 문단 3 +(빈 줄 1개) +--- +(빈 줄 1개) +## Part 2: 회의 +``` + +### 대화 구분 명확성 + +``` +✅ 대화 블록 = 연속 대화 (빈 줄 없음): +"형님, 어떻게 생각하십니까?" +"글쎄, 쉽지 않아 보이는군." +"하지만 해야 합니다." + +✅ 대화 후 지문 = 빈 줄 1개: +"형님, 어떻게 생각하십니까?" +"글쎄, 쉽지 않아 보이는군." + +강민준은 고개를 저었다. + +❌ 대화 사이 빈 줄 (구분 애매): +"형님, 어떻게 생각하십니까?" + +"글쎄, 쉽지 않아 보이는군." +(누가 말하는지 헷갈림!) +``` + +### Scene/Part 구분 + +``` +✅ Part 전환 (중요도 높음): +--- +## Part 2: 회의 + +✅ Scene 전환 (Part 내): +(빈 줄 1개) +한 시간 후. +(빈 줄 1개) + +❌ Part 남용: +Part가 너무 많으면 파편화됨 +권장: 1화당 Part 3-5개 +``` + +### 모바일 최적화 체크리스트 + +``` +작성 중 체크: +- [ ] 7줄 이상 문단 없음 +- [ ] 문단 사이 빈 줄 1개 (일관성) +- [ ] 대화 블록 구분 명확 +- [ ] Part 구분선 전후 빈 줄 1개 +- [ ] 불필요한 빈 줄 2개 이상 없음 +``` + +--- + ## 🎭 캐릭터 표현 ### 말투 일관성 diff --git a/templates/standards/writing-mode.md b/templates/standards/writing-mode.md index 06227ee..4a79cd1 100644 --- a/templates/standards/writing-mode.md +++ b/templates/standards/writing-mode.md @@ -1,37 +1,42 @@ # 작성 모드 프로토콜 -> **버전:** 2.0.0 -> **최종 수정:** 2026-01-18 -> **호환:** CWS Writing Guide v3.3.0+ -> **용도:** 신규 챕터 5화 단위 작성 +> **버전:** 2.1.1 +> **최종 수정:** 2026-01-20 +> **호환:** CWS Writing Guide v4.2.0+ +> **용도:** 신규 챕터 작성 (3/5/7화 유연) +> **주요 변경:** 간이 검증에 호칭 복수/단수 체크 추가 --- ## 📋 작성 모드 개요 **작성 모드는:** -- 플롯 기반 5화 연속 작성 +- 플롯 기반 신규 챕터 작성 - 매 화 완료 시 summary 누적 업데이트 +- 작성 완료 후 즉시 간이 검증 - Git 자동 커밋 **진입 명령:** - "작성 모드" - "X화 작성해" -- "1-5화 작성해" +- "1-5화 작성해" (기본 권장) +- "3화 작성해" / "7화 작성해" (유연) --- ## 📚 모드 진입 시 읽을 파일 ### 필수 -1. `volumes/vol-XX/characters.md` - 해당 권 캐릭터 -2. `volumes/vol-XX/timeline.md` - 해당 권 타임라인 -3. `standards/writing-guide.md` - 작성 규칙 -4. `volumes/vol-XX/plots/plot-XXX-YYY.md` - 이번 5화 플롯 -5. `volumes/vol-XX/summaries/summary-이전.md` - 이전 서머리 +1. `standards/file-formats.md` - 파일 형식 표준 +2. `standards/writing-guide.md` - 작성 규칙 +3. `volumes/vol-XX/characters.md` - 해당 권 캐릭터 +4. `volumes/vol-XX/timeline.md` - 해당 권 타임라인 +5. `volumes/vol-XX/plots/plot-XXX-YYY.md` - 이번 N화 플롯 +6. `volumes/vol-XX/summaries/summary-이전.md` - 이전 서머리 +7. `volumes/vol-XX/foreshadows.md` - 복선 추적 ### 다른 권 시작 시 추가 -6. `volumes/vol-이전/summaries/summary-vol-XX-final.md` - 이전 권 압축 서머리 +8. `volumes/vol-이전/summaries/summary-vol-XX-final.md` - 이전 권 압축 서머리 --- @@ -69,7 +74,22 @@ - 헤더: # X권 Y화: 제목 - 타임라인: > **타임라인:** YYYY.M.D-M.D - 분량: 8,000-12,000자 - - 바텀: 없음! (절대 금지) + - file-formats.md 형식 준수 + + ⚠️ **마지막 Part 작성 시 중요:** + ``` + ## Part 4: 소제목 + + (본문 내용 마지막 문장.) + + ← 여기서 즉시 멈추세요! + + 절대 추가하지 마세요: + - [X화 끝] + - 다음 화 예고 + - 구분선 (---) + - 아무것도! + ``` 4. 저장 - volumes/vol-XX/chapters/ch-XXX.md @@ -83,10 +103,10 @@ 7. 다음 화로 이동 ``` -### Phase 3: 5화 완료 +### Phase 3: 작성 완료 + 간이 검증 ``` -1. 5개 챕터 파일 확인 +1. N개 챕터 파일 확인 2. summary 최종 정리 - 전체 줄거리 완성도 @@ -94,21 +114,57 @@ - 캐릭터 상태 - 복선 추적 -3. Git 커밋 +3. 🔍 즉시 간이 검증 (1-2분) + + ✅ 타임라인 연속성 + - 이전 화 종료일 ≤ 현재 화 시작일 + - 역행 체크 + + ✅ 호칭 일관성 + - characters.md 호칭 규칙 기준 + - 갑작스러운 호칭 변화 없는지 + + ✅ 호칭 복수/단수 정확성 (신규!) + - characters.md 나이 관계 테이블 기준 + - "형님들" vs "형님" 체크 + - 예: 박현우 → 강민준(1명) = "형님" (단수) + - 예: 최태준 → 강민준+박현우(2명) = "형님들" (복수) + - 검색 패턴: "형님들", "형들", "선배님들" 등 + - 발견 시 화자가 누구인지 확인 → 대상 수 체크 + + ✅ 바텀 존재 여부 + - [X화 끝] 패턴 검색 + - "다음 X화:" 패턴 검색 + + ✅ 헤더 형식 + - # X권 Y화: 제목 형식 + - 파일명 번호 = 헤더 화수 + - 타임라인 형식 (YYYY.M.D-M.D) + + → 문제 발견 시: 즉시 수정 후 다시 검증 + → 통과 시: 다음 단계 + +4. foreshadows.md 업데이트 + - 설치된 복선 추가 + - 회수된 복선 체크 + +5. Git 커밋 "X권 N-M화 작성 완료 - + - ch-XXX: 제목 (분량) - ch-XXX: 제목 (분량) ... - summary-001-XXX.md 업데이트 - + - foreshadows.md 업데이트 + 총 XX,XXX자 - + 간이 검증: 통과 ✅ + Co-Authored-By: Claude " -4. CURRENT-TASK.md 업데이트 또는 삭제 +6. CURRENT-TASK.md 업데이트 또는 삭제 -5. 완료 보고 + 다음 5화 안내 +7. 완료 보고 + 다음 작업 안내 ``` --- @@ -181,4 +237,70 @@ --- -*작성 모드는 속도가 핵심입니다. 플롯대로 빠르게 작성하고, 수정은 나중에!* +## 🔢 유연한 작업 단위 + +### 기본 권장: 5화 + +``` +플롯: plot-001-005.md (5화) +작성: ch-001 ~ ch-005 +서머리: summary-001-005.md + +장점: +- 토큰 효율 최적 +- 한 세션 완료 가능 +- 관리 용이 +``` + +### 허용: 3화, 7화, 10화 + +``` +"3화 작성해" +→ plot-001-003.md 기준 +→ ch-001 ~ ch-003 +→ summary-001-003.md + +"7화 작성해" +→ plot-001-007.md 기준 +→ ch-001 ~ ch-007 +→ summary-001-007.md + +"10화 작성해" +→ plot-001-010.md 기준 +→ ch-001 ~ ch-010 +→ summary-001-010.md +``` + +### 권장 사항 + +``` +✅ 권장: +- 일반: 5화 (기본) +- 짧게: 3화 (시간 부족) +- 길게: 7화 (몰입 중) + +⚠️ 주의: +- 10화 이상: 컴팩팅 위험 +- 1-2화: 너무 잦은 세션 전환 + +❌ 비권장: +- 불규칙 단위 (4화, 6화) +- 단위 혼용 (5화 → 3화 → 7화) +``` + +### summary 누적 규칙 + +``` +예: 1-5화 작성 후 6-10화 작성 + +summary-001-005.md 생성 + ↓ +summary-001-010.md 생성 (1-10화 전체 누적!) + +→ summary-001-005.md는 유지 (백업) +→ summary-001-010.md가 최신 +``` + +--- + +*작성 모드는 속도가 핵심입니다. 플롯대로 빠르게 작성하고, 간이 검증 후 커밋!*