CLAUDE.md

[!tldr] 한줄 요약 CLAUDE.md는 Claude Code가 매 세션 시작 시 자동으로 읽는 마크다운 설정 파일로, 6단계 메모리 계층 구조를 통해 조직/팀/개인 수준의 지시사항을 관리한다.

핵심 내용

CLAUDE.md란?

프로젝트 규칙, 코딩 컨벤션, 자주 쓰는 명령어 등을 적어두면 Claude가 항상 이를 따르는 영구 지시사항 파일이다. /init 명령으로 프로젝트 구조를 분석해 자동 생성할 수도 있다.

메모리 계층 구조 (6단계)

메모리 타입위치용도공유 범위
Managed Policy/Library/Application Support/ClaudeCode/CLAUDE.md조직 전체 정책조직 전체
Project./CLAUDE.md 또는 ./.claude/CLAUDE.md팀 공유 프로젝트 규칙팀 (git)
Project Rules./.claude/rules/*.md모듈화된 주제별 규칙팀 (git)
User~/.claude/CLAUDE.md개인 전역 설정본인만
Local./CLAUDE.local.md개인 프로젝트별 설정본인만 (gitignore)
Auto Memory~/.claude/projects/<project>/memory/Claude가 자동 기록하는 학습 노트본인만

로딩 방식

주요 기능

CLAUDE.md vs settings.json

구분CLAUDE.mdsettings.json
역할지시사항과 컨텍스트권한, 환경변수, 동작 설정
형식자유 형식 마크다운JSON
예시"테스트는 Jest를 사용""allow": ["Bash(npm test)"]

Path-specific Rules

---
paths:
  - "src/api/**/*.ts"
---

# API 규칙
- 모든 엔드포인트에 입력 검증 포함

paths가 없으면 모든 파일에 무조건 적용된다. glob 패턴과 brace expansion(*.{ts,tsx})을 지원한다.

~/.claude/ 모듈화

파워 유저 패턴으로, ~/.claude/를 dotfiles처럼 구조화하는 방식이 늘고 있다:

~/.claude/
├── CLAUDE.md        ← 개인 전역 지시사항
├── rules/           ← 개인 전역 규칙
├── skills/          ← 커스텀 스킬
├── agents/          ← 커스텀 서브에이전트
├── settings.json    ← 권한, 환경변수
└── projects/        ← Auto Memory (자동 생성)

[!tip] 팁 시작은 프로젝트 루트 CLAUDE.md 하나로. 내용이 길어지면 .claude/rules/로 모듈화하고, 여러 프로젝트에서 재사용할 때 ~/.claude/로 승격한다.

예시

# CLAUDE.md 예시
- 이 프로젝트는 pnpm을 사용한다
- 테스트: `pnpm test`
- 린트: `pnpm lint`
- 2칸 들여쓰기, 세미콜론 없음
- 커밋 메시지는 Conventional Commits를 따른다

# 임포트 예시
- 프로젝트 개요 @README.md
- Git 워크플로우 @docs/git-workflow.md

[!example] 실행 결과 Claude가 세션 시작 시 이 내용을 읽고, pnpm 사용, 2칸 들여쓰기 등의 규칙을 자동으로 따른다.

참고 자료

관련 노트