기능

CLAUDE.md

세션마다 읽히는 프로젝트 지침 파일입니다.

CLAUDE.md는 Claude Code가 세션을 시작할 때마다 읽는 마크다운 지침 파일입니다. 빌드 명령, 코딩 규칙, 폴더 구조처럼 매번 다시 설명하게 되는 내용을 한 번만 적어 두려고 씁니다.

직접 써보니

이 사이트를 개편할 때 프로젝트에 이미 .claude/CLAUDE.md가 있었고, "한국어/영어 경로를 쌍으로 만들 것", 블로그 톤 규칙 같은 예전 규칙이 들어 있었습니다. 사이트 방향이 바뀌면서 새 섹션은 한국어 전용이 되었고, 그 규칙 일부는 더 이상 맞지 않게 되었습니다. CLAUDE.md는 한 번 써 두면 끝이 아니라 프로젝트 방향이 바뀔 때 같이 고쳐야 하는 파일이라는 걸 확인한 경우였습니다.

어떻게 동작하나

Claude Code는 새 세션마다 빈 컨텍스트에서 시작합니다. CLAUDE.md는 그 컨텍스트에 처음부터 들어가는 지침입니다. 공식 문서는 이 파일을 강제 설정이 아니라 "컨텍스트"로 취급한다고 설명합니다. 지침이 구체적이고 짧을수록 더 일관되게 따릅니다.

현재 작업 폴더와 그 상위 폴더에 있는 CLAUDE.md가 시작할 때 모두 읽히고, 이어 붙여지는 방식입니다. 파일시스템 루트에서 작업 폴더 쪽으로 내려오는 순서로 배치됩니다. 하위 폴더의 CLAUDE.md는 시작할 때가 아니라, Claude가 그 폴더의 파일을 읽거나 고칠 때 불러옵니다.

  • 프로젝트: ./CLAUDE.md 또는 ./.claude/CLAUDE.md (팀과 공유, 버전 관리에 포함)
  • 개인 전체: ~/.claude/CLAUDE.md (모든 프로젝트에 적용)
  • 개인 프로젝트용: ./CLAUDE.local.md (공식 문서는 .gitignore에 넣으라고 안내)
  • 조직 정책: 운영체제별 관리자 경로에 두는 관리형 CLAUDE.md

무엇을 넣고 무엇을 빼나

공식 문서의 기준은 "매번 다시 설명하게 되는 것"입니다. Claude가 같은 실수를 두 번 했을 때, 코드 리뷰에서 코드베이스 규칙을 놓쳤다고 지적받았을 때, 지난 세션에 쓴 교정 문장을 또 쓰고 있을 때가 추가할 시점입니다.

넣을 것은 빌드·테스트 명령, 코딩 규칙, 프로젝트 구조, "항상 X를 한다" 규칙입니다. 여러 단계로 된 절차나 코드베이스 일부에만 해당하는 내용은 스킬이나 경로별 규칙(.claude/rules/)으로 옮기라고 안내합니다.

문장은 확인할 수 있을 만큼 구체적으로 씁니다. "코드를 깔끔하게 정리해" 대신 "들여쓰기는 2칸", "커밋 전에 npm test를 실행한다", "API 핸들러는 src/api/handlers/에 둔다"처럼 씁니다.

# 빌드와 테스트
- 개발 서버: npm run dev
- 커밋 전에 npm test 와 npm run lint 를 실행한다

# 규칙
- 들여쓰기는 2칸
- API 핸들러는 src/api/handlers/ 에 둔다

# 참고
See @README.md for project overview

길이와 구조

파일 하나당 200줄 이내를 목표로 하라는 것이 공식 권장입니다. 길수록 컨텍스트를 더 쓰고 지침을 덜 따릅니다. 관련 지침은 제목과 글머리표로 묶고, 서로 모순되는 지침은 정기적으로 걷어냅니다. 모순이 있으면 Claude가 임의로 하나를 고를 수 있다고 문서에 나옵니다.

@경로 문법으로 다른 파일을 가져올 수 있습니다. 상대 경로는 그 파일 기준이고, 가져온 파일이 다시 가져오는 것은 최대 4단계까지입니다. 다만 가져온 파일도 같이 컨텍스트에 올라가므로 정리용일 뿐 컨텍스트를 줄여 주지는 않습니다. 경로를 문장 안에서 그대로 언급하고 싶으면 백틱으로 감쌉니다.

블록 수준 HTML 주석(<!-- 메모 -->)은 Claude에게 주입되기 전에 제거됩니다. 사람용 메모를 토큰 걱정 없이 남길 수 있습니다.

이웃 기능과의 관계

  • /init: CLAUDE.md 초안을 만들어 줍니다. 이미 파일이 있으면 덮어쓰지 않고 개선안을 제안합니다.
  • /memory: CLAUDE.md와 자동 메모(auto memory)를 열어 편집하고, 자동 메모를 켜고 끕니다.
  • 자동 메모: CLAUDE.md는 내가 쓰는 지침, 자동 메모는 Claude가 교정 내용에서 스스로 적는 메모입니다.
  • /context: 로드된 파일은 Memory files 목록에서 확인합니다. 목록에 없으면 Claude에게 보이지 않는 것입니다.
  • AGENTS.md: CLAUDE.md가 없을 때만 기본으로 읽습니다. 둘 다 쓰려면 CLAUDE.md에서 @AGENTS.md로 가져옵니다.
  • /compact 이후: 프로젝트 루트의 CLAUDE.md는 디스크에서 다시 주입됩니다. 대화 중에만 말한 지침은 사라질 수 있습니다.

실제 예시

새 프로젝트를 열었는데 Claude가 매번 테스트 명령을 물어볼 때

프로젝트 루트에 CLAUDE.md를 만들고 "# 빌드와 테스트 / 커밋 전에 npm test 를 실행한다"를 적은 뒤 새 세션에서 /context 실행

/context 출력의 Memory files 목록에 해당 CLAUDE.md가 나타납니다. 목록에 보이면 로드된 것이고, 이후 세션부터 같은 설명을 반복하지 않아도 됩니다.

200줄이 넘는 CLAUDE.md가 모든 대화의 컨텍스트를 차지하고, 일부 규칙은 무시될 때

PR 리뷰 절차와 DB 마이그레이션 절차를 CLAUDE.md에서 빼서 스킬로 옮기고, 프론트엔드 규칙은 .claude/rules/ 아래 파일로 분리한 뒤 CLAUDE.md는 공통 규칙만 남김

시작할 때 올라가는 지침이 줄어듭니다. 스킬은 호출될 때만, 경로별 규칙은 해당 파일을 다룰 때만 불러옵니다. 남은 규칙이 눈에 띄게 짧아져 지켜질 가능성이 커집니다.

내 로컬 개발 서버 주소 같은 개인 설정을 팀 저장소에 올리고 싶지 않을 때

프로젝트 루트에 CLAUDE.local.md를 만들어 개인 주소를 적고, .gitignore에 CLAUDE.local.md를 추가

CLAUDE.md와 함께 읽히지만 저장소에는 올라가지 않아 나만 쓰는 지침이 됩니다.

흔한 실수와 쓰지 말아야 할 때

  • 모든 것을 다 적으려는 것. 길어질수록 컨텍스트 비용이 늘고 지침 준수율은 떨어집니다. 200줄 안팎을 넘기면 스킬이나 경로별 규칙으로 쪼개세요.
  • "깔끔하게", "잘" 같은 모호한 문장. 확인할 수 있는 문장으로 바꿔야 효과가 있습니다.
  • CLAUDE.md를 강제 수단으로 믿는 것. 공식 문서는 컨텍스트일 뿐 강제 설정이 아니라고 말합니다. 특정 동작을 반드시 막아야 하면 PreToolUse hook이나 권한 설정을 쓰세요.
  • @import로 길이 문제를 해결했다고 생각하는 것. 가져온 파일도 함께 컨텍스트에 들어갑니다.
  • 프로젝트 방향이 바뀌었는데 예전 규칙을 그대로 두는 것. 서로 충돌하는 지침은 Claude가 임의로 고를 수 있습니다.

자주 묻는 질문

CLAUDE.md는 어디에 만들어야 하나요?

팀과 공유할 프로젝트 지침은 프로젝트 루트의 CLAUDE.md 또는 .claude/CLAUDE.md입니다. 모든 프로젝트에 적용할 개인 지침은 ~/.claude/CLAUDE.md, 저장소에 올리고 싶지 않은 개인 지침은 CLAUDE.local.md에 둡니다.

CLAUDE.md 길이 제한이 있나요?

하드 제한이 아니라 권장입니다. 공식 문서는 파일 하나당 200줄 이내를 목표로 하라고 합니다. 길수록 컨텍스트를 더 쓰고 지침을 덜 따릅니다.

CLAUDE.md를 고쳤는데 반영이 안 된 것 같아요.

/context를 실행해 Memory files 목록에 파일이 보이는지 확인하세요. 목록에 없으면 Claude가 읽지 못한 것입니다. /memory로 파일을 열어 위치와 내용을 점검할 수 있습니다.

AGENTS.md가 있으면 CLAUDE.md를 따로 만들어야 하나요?

작업 폴더와 상위 폴더에 CLAUDE.md가 없으면 AGENTS.md를 기본으로 읽습니다. CLAUDE.md가 하나라도 있으면 CLAUDE.md만 읽으므로, 둘 다 쓰려면 CLAUDE.md 안에서 AGENTS.md를 가져오세요. 이 동작은 비교적 최근 버전(v2.1.277 이상)에서 지원됩니다.

2026-10-30 공식 문서와 대조함. 출처: Claude Code 문서: How Claude remembers your project, Claude Code 문서: Explore the context window, Claude Code 문서: Manage costs effectively. 작성 원칙

사용법

프로젝트 루트에 CLAUDE.md 작성

어디에 입력하나요

Claude Code를 실행한 상태에서 씁니다.

Claude Code를 처음 써본다면

터미널(맥은 "터미널" 앱, 윈도우는 "PowerShell")에서 작업할 폴더로 이동한 뒤 claude 를 입력하면 시작됩니다. VS Code나 JetBrains를 쓰면 확장 프로그램으로, 터미널이 낯설면 Claude 데스크톱 앱의 Code 탭으로도 열 수 있습니다.

  1. Claude Pro 이상 유료 플랜이나 Anthropic API 키가 필요합니다. 무료 계정으로는 쓸 수 없습니다.
  2. 공식 설치 안내의 명령어 한 줄을 터미널에 붙여넣어 설치합니다.
  3. 처음 실행하면 브라우저가 열리고 Claude 계정으로 로그인합니다.
  4. 입력창이 뜨면 할 일을 한국어로 적으면 됩니다. / 를 치면 명령어 목록이 뜹니다.
Claude Code 공식 설치 안내

언제 쓰나

코딩 규칙과 빌드 명령을 고정할 때.

함께 보면 좋은 것

/init프로젝트용 CLAUDE.md를 만들어 줍니다.Claude Code명령어/memoryCLAUDE.md를 편집하고 auto memory를 켜고 끄며 기록을 봅니다.Claude Code명령어auto memoryClaude가 교정 내용과 선호를 스스로 메모해 다음 세션에서 씁니다.Claude Code기능

Claude Code의 다른 기능

auto memoryClaude가 교정 내용과 선호를 스스로 메모해 다음 세션에서 씁니다.기능스킬 (.claude/skills/이름/SKILL.md)지침과 자료를 묶은 것으로, 필요할 때 자동으로 또는 /이름으로 호출합니다.기능신규 2026-01서브에이전트 (.claude/agents/*.md)자체 컨텍스트, 도구, 프롬프트를 가진 보조 에이전트입니다.기능agent view모든 세션(실행, 대기, 완료)을 한 목록으로 보고 병렬로 작업을 보냅니다.기능신규 2026-05백그라운드 세션 (claude --bg)세션을 백그라운드로 돌리고 나중에 붙습니다. attach, logs, stop 하위 명령이 있습니다.기능신규 2026-05동적 워크플로 / ultracode수십~수백 개의 에이전트를 백그라운드로 조율합니다. 프롬프트에 ultracode를 넣으면 시작됩니다.기능신규 2026-05
Claude Code 전체