## 신규 파일 - templates/CURRENT-TASK.md.template (컴팩팅 대응) - templates/standards/writing-mode.md (작성 모드) - templates/standards/modification-mode.md (수정 모드 8가지 유형) - templates/standards/verification-mode.md (6단계 통합 검증) - templates/standards/chapter-format.md (바텀 금지 포함) - templates/standards/writing-guide.md (문체/분량) - templates/standards/renaming-protocol.md (안전한 리네임) - validation-standards.md (검증 기준) ## 수정 파일 - templates/CLAUDE.md.template (모드 시스템 반영) ## 주요 변경 - 폴더 분리: standards/ (방법론) vs settings/ (콘텐츠) - 바텀 금지 표준화 - 수정 모드 8가지 유형 체계화 - 검증 모드 6단계 통합 - CURRENT-TASK.md로 컴팩팅 대응 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.1 KiB
4.1 KiB
리네임 안전 프로토콜
버전: 2.0 용도: 화수 변경/리넘버링 시 안전한 절차
🚨 왜 리네임이 위험한가?
덮어쓰기 문제
시나리오: ch-030~060을 ch-031~061로 변경
❌ 정순으로 하면:
ch-030 → ch-031 (OK, ch-031 자리 비어있음)
ch-031 → ch-032 (❌ ch-031은 이미 바뀐 ch-030!)
→ 원래 ch-031 데이터 손실!
✅ 역순으로 하면:
ch-060 → ch-061 (OK)
ch-059 → ch-060 (OK, ch-060 자리 비어있음)
...
ch-030 → ch-031 (OK)
→ 안전!
📋 리네임 유형
| 유형 | 방향 | 방법 |
|---|---|---|
| 삽입 | 번호 +1 | 역순 |
| 삭제 | 번호 -1 | 정순 |
| 분할 | 번호 +1 | 역순 |
| 병합 | 번호 -1 | 정순 |
🔄 방법 1: 역순/정순 리네임
삽입 시 (번호 +1) - 역순!
# ch-029와 030 사이에 삽입
# → ch-030~060을 ch-031~061로
# 역순으로! (60부터 30까지)
mv ch-060.md ch-061.md
mv ch-059.md ch-060.md
mv ch-058.md ch-059.md
...
mv ch-030.md ch-031.md
# 새 화 생성
# ch-030.md 작성
삭제 시 (번호 -1) - 정순!
# ch-029 삭제
# → ch-030~060을 ch-029~059로
# ch-029 백업/삭제
mv ch-029.md _backup/ch-029.md
# 정순으로! (30부터 60까지)
mv ch-030.md ch-029.md
mv ch-031.md ch-030.md
...
mv ch-060.md ch-059.md
🔄 방법 2: 2단계 리네임 (더 안전)
1단계: 임시 이름으로
# 모든 대상 파일을 임시 이름으로
mv ch-030.md ch-030-temp.md
mv ch-031.md ch-031-temp.md
mv ch-032.md ch-032-temp.md
...
mv ch-060.md ch-060-temp.md
2단계: 최종 이름으로
# 임시 이름에서 최종 이름으로
mv ch-030-temp.md ch-031.md
mv ch-031-temp.md ch-032.md
...
mv ch-060-temp.md ch-061.md
장점: 순서 상관없이 안전 단점: 두 번 작업
✅ 리네임 체크리스트
리네임 전
- [ ] 영향 범위 분석 완료
- [ ] Git 현재 상태 커밋 (백업!)
- [ ] 리네임 방향 결정 (역순/정순)
- [ ] 대상 파일 목록 작성
리네임 중
- [ ] 파일명 변경 (순서 주의!)
- [ ] 헤더 화수 수정
# 2권 30화 → # 2권 31화
- [ ] 타임라인 확인 (변경 필요 시)
리네임 후
- [ ] 파일명 = 헤더 화수 일치 확인
- [ ] summary 해당 챕터 번호 수정
- [ ] plot 해당 챕터 번호 수정
- [ ] 타임라인 연속성 확인
- [ ] Git 커밋
📊 영향받는 파일
챕터 파일
파일명: ch-XXX.md → ch-YYY.md
헤더: # X권 XXX화 → # X권 YYY화
Summary 파일
summary-001-030.md 내용:
"### ch-030: 제목" → "### ch-031: 제목"
또는 summary 자체 재생성
Plot 파일
plot-master.md:
"30화: 제목" → "31화: 제목"
plot-026-030.md → plot-027-031.md (필요시)
🔧 자동화 스크립트 예시
삽입 (역순 리네임)
#!/bin/bash
# 삽입 위치 이후 번호 +1
START=30
END=60
for ((i=END; i>=START; i--)); do
OLD=$(printf "ch-%03d.md" $i)
NEW=$(printf "ch-%03d.md" $((i+1)))
if [ -f "$OLD" ]; then
mv "$OLD" "$NEW"
echo "Renamed: $OLD → $NEW"
fi
done
헤더 일괄 수정
#!/bin/bash
# 헤더 화수 일괄 수정
for FILE in ch-*.md; do
# 파일명에서 화수 추출
NUM=$(echo "$FILE" | grep -oP '\d+')
NUM_CLEAN=$(echo $NUM | sed 's/^0*//')
# 헤더 수정 (권 번호는 유지)
sed -i "s/# \([0-9]*\)권 [0-9]*화:/# \1권 ${NUM_CLEAN}화:/" "$FILE"
done
🚫 리네임 금지사항
❌ 백업 없이 리네임
❌ 순서 무시 (덮어쓰기 위험!)
❌ 헤더 수정 누락
❌ summary/plot 수정 누락
❌ Git 커밋 없이 종료
💡 팁
대규모 리네임 시
1. 작은 범위로 테스트 먼저
2. Git으로 롤백 가능한 상태 유지
3. 2단계 방법 권장 (더 안전)
4. 리네임 후 즉시 검증
실수 발생 시
git checkout -- .
→ 마지막 커밋 상태로 복구
리네임은 신중하게! 백업 필수, 순서 중요!