2 min read

CLAUDE.MD 내용 변경사항

CLAUDE.MD 내용 변경사항
Photo by Aerps.com / Unsplash

현황 파악

# 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%+ |
| ...