CLAUDE.MD 내용 변경사항
현황 파악
# rules/ 폴더 현황
wc -l ~/.claude/rules/*.md
# 결과: 9개 파일, 총 724줄
# 전체 자동 로드 규모
wc -l ~/.claude/CLAUDE.md ~/.claude/rules/*.md
이걸로 얼마나 많은 설정이 매 세션 로드되는지 확인할 수 있다.
핵심: Always-load vs On-demand 분리
모든 규칙을 rules/에 넣으면 매 세션 자동 로드된다. 하지만 테스트 가이드가 매 세션 필요한가? ML 품질 기준이? 에이전트 위임 규칙이?
판단 기준은 단순하다: "이 규칙이 매 세션 필요한가?"
- Yes →
~/.claude/rules/에 유지 (항상 로드) - No →
~/.claude/references/로 이동 (필요 시 Read)
내 경우 9개 중 3개만 항상 필요했다:
| 항상 로드 (rules/) | 필요 시 참조 (references/) |
|---|---|
| security.md | agents.md |
| coding-style.md | testing.md |
| git-workflow.md | ds-ml-quality.md |
| performance.md | |
| hooks-guide.md | |
| feedback-loop.md |
보안, 코딩 스타일, 커밋 규칙은 어떤 작업이든 적용된다. 나머지는 특정 상황에서만 필요하다.
Progressive Disclosure 적용
이건 UI 설계의 Progressive Disclosure와 같은 원리다:
- Level 0 (항상): CLAUDE.md + rules/ — 가드레일
- Level 1 (자동): 프로젝트 CLAUDE.md — 도메인 맥락
- Level 2 (요청 시): references/ — 전문 가이드
Claude Code는 references/ 파일을 자동 로드하지 않는다. 에이전트가 필요할 때 Read 도구로 읽어온다. 이게 핵심이다 — Just-in-Time 로딩.
결과
| 항목 | Before | After | 감소 |
|---|---|---|---|
| 자동 로드 | 724줄 | 162줄 | 78% |
| 세션 초기 토큰 | ~1,300줄 | ~370줄 | 72% |
보너스: 디스크 정리
설정 최적화하면서 발견한 누적 파일들:
statusline.log: 13MB (정리)- 만료된 todo 항목: 350개 (60일+ 경과)
- session-env 파일: 291개 (정리)
- 미사용 Hook 파일: 4개 → 아카이브 이동
# 큰 파일 찾기
du -sh ~/.claude/* | sort -rh | head -10
CLAUDE.md 인덱스 검증
설정을 옮긴 후 CLAUDE.md의 참조 테이블이 실제 파일과 일치하는지 확인해야 한다. 파일은 references/로 옮겼는데 CLAUDE.md엔 rules/로 적혀 있으면 에이전트가 파일을 못 찾는다.
내 CLAUDE.md에는 이렇게 정리했다:
### rules/ (매 세션 자동 로드)
| 파일 | 내용 |
|------|------|
| security.md | 시크릿 관리, OWASP, PII |
| coding-style.md | 스타일, 크기 제한, 불변성 |
| git-workflow.md | Conventional Commit, PR |
### references/ (on-demand Read)
| 파일 | 내용 |
|------|------|
| agents.md | 위임 트리거, 파이프라인 |
| testing.md | TDD, 커버리지 80%+ |
| ...
Member discussion