# 덮어쓰기가 아니라 이어 붙이기

> 관리 정책·사용자·프로젝트·로컬 메모리의 로드 순서와 적재 시점

- Canonical: https://learning.reopt.ai/en/courses/claude-code-project-context/lessons/ccpc-m1-concept
- Language: en
- HTML: https://learning.reopt.ai/en/courses/claude-code-project-context/lessons/ccpc-m1-concept

---

[Designing project context](/en/courses/claude-code-project-context) 1. 메모리 계층: 무엇이 먼저 실리는가 1 / 9

# 덮어쓰기가 아니라 이어 붙이기

관리 정책·사용자·프로젝트·로컬 메모리의 로드 순서와 적재 시점
Concept 45 XP 9 min

같은 규칙을 어디에 적어야 하느냐고 물으면 대부분 CLAUDE.md 하나를 떠올립니다. 그런데 Claude Code는 관리 정책·사용자·프로젝트·로컬 메모리를 모두 로드하고, 어느 하나가 다른 하나를 덮어쓰지 않습니다. 작업 디렉토리에서 파일시스템 루트까지 올라가며 발견한 CLAUDE.md 와 CLAUDE.local.md 가 넓은 범위부터 구체적인 범위 순으로 차례로 이어 붙습니다. 그래서 "한 곳만 고치면 된다"는 가정은 성립하지 않고, 두 곳에 같은 문장을 적으면 강제력 대신 토큰만 두 배로 씁니다.
범위 질문을 먼저, 파일 선택은 그 다음 규칙마다 "이 머신의 모든 저장소에 필요한가 / 이 저장소의 모든 팀원에게 필요한가 / 나에게만 필요한가"를 순서대로 묻고 예가 나온 첫 층에만 적습니다. 같은 문장이 두 층에 있으면 하나는 지웁니다.

| 유형 | 위치 | 무엇을 넣나 |
| 관리 정책 | OS별 ClaudeCode/CLAUDE.md | 조직 보안·컴플라이언스 규칙 |
| 사용자 메모리 | ~/.claude/CLAUDE.md | 모든 프로젝트 공통 개인 선호 |
| 프로젝트 메모리 | ./CLAUDE.md 또는 ./.claude/CLAUDE.md | 팀 공통 규칙, 빌드·테스트 명령 |
| 프로젝트 규칙 | ./.claude/rules/*.md | 주제별 규칙 모듈, paths: 조건부 |
| 로컬 메모리 | ./CLAUDE.local.md | 개인 설정, .gitignore 권장 |

넓은 범위가 먼저, 구체적인 범위가 나중에 컨텍스트에 등장합니다.

- 1 로드 목록 확인 /memory를 실행해 이번 세션에 실제로 로드된 파일 목록부터 눈으로 봅니다.

- 2 범위 질문 던지기 규칙마다 모든 저장소·이 저장소·나만 중 하나만 고르고 그 층에 적습니다.

- 3 중복 제거 상위와 하위에 같은 문장이 있으면 더 구체적인 쪽만 남기고 지웁니다.

- 4 개인 설정 분리 나에게만 필요한 지침은 CLAUDE.local.md로 옮기고 .gitignore에 넣습니다.

실무에 남길 기준

- 메모리는 관리 정책 → 사용자 → 프로젝트 → 로컬 순으로 이어 붙고 어느 것도 다른 것을 덮어쓰지 않는다
- 작업 디렉토리 하위의 CLAUDE.md는 시작 시가 아니라 그 디렉토리 파일을 읽을 때 온디맨드로 로드된다
- MEMORY.md는 앞 200줄 또는 25KB까지만 적재되는 인덱스이고, CLAUDE.md는 길이와 무관하게 전부 적재된다

Got it · Continue

---

Site guide for agents: https://learning.reopt.ai/llms.txt · Sitemap: https://learning.reopt.ai/sitemap.xml · Contact: https://learning.reopt.ai/contact
