부록 B. 설정 파일 레퍼런스
자주 쓰는 설정 키 모음. 설정 키는 빠르게 바뀌니, IDE 자동완성을 위해 $schema를 지정하고 공식 설정 문서에서 최신 키를 확인하세요.
파일 위치와 우선순위
| 파일 | 위치 | 범위 | 커밋? |
|---|---|---|---|
| 관리 정책 | OS별 정책 경로 | 조직 강제 | — |
| 프로젝트 설정 | .claude/settings.json | 팀 공유 | ✅ |
| 로컬 설정 | .claude/settings.local.json | 개인 | ❌ |
| 유저 설정 | ~/.claude/settings.json | 모든 프로젝트 | — |
우선순위(높음→낮음): 관리 정책 > 프로젝트 > 로컬 > 유저 (대략). 자세한 계층은 10장.
.claude/ 디렉터리 구조
CODE
.claude/ ├── settings.json # 프로젝트 설정 (커밋) ├── settings.local.json # 개인 설정 (비커밋) ├── CLAUDE.md # 프로젝트 메모리 (루트의 ./CLAUDE.md도 가능) ├── rules/ # path-scoped 규칙 (*.md) ├── skills/ # 스킬 (<name>/SKILL.md) ├── agents/ # 서브에이전트 (<name>.md) ├── commands/ # 커스텀 명령 (구식, 동작은 함) ├── plans/ # 계획 파일 (plansDirectory로 변경) └── .mcp.json # MCP 서버 정의
주요 설정 키 (예시)
JSON
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"model": "sonnet",
"outputStyle": "default",
"lang": "ko",
"permissions": {
"defaultMode": "acceptEdits",
"allow": ["Bash(npm run *)", "Read"],
"ask": ["Bash(git push *)"],
"deny": ["Bash(rm *)", "Bash(git push --force *)", "Read(./.env)"]
},
"autoMemory": true,
"plansDirectory": "./docs/plans",
"hooks": {
"PreToolUse": [ /* ... */ ],
"PostToolUse": [ /* ... */ ]
},
"mcpServers": {
/* 서버 정의 — 전송 방식별로 다름 */
}
}
| 키 | 의미 | 장 |
|---|---|---|
model | 기본 모델 (별칭 sonnet·opus·haiku 또는 전체 ID) | 4 |
permissions.defaultMode | 기본 권한 모드 | 8 |
permissions.allow/ask/deny | 권한 규칙 | 8 |
autoMemory | 자동 메모리 on/off | 10 |
autoMemoryDirectory | 자동 메모리 위치(프로젝트 설정 불가) | 10, 23 |
plansDirectory | 계획 파일 위치 | 7 |
outputStyle | 출력 스타일 | 11 |
hooks | 라이프사이클 훅 | 15 |
mcpServers | MCP 서버 정의 | 14 |
lang | 응답 언어 | — |
SKILL.md frontmatter
YAML
--- name: my-skill description: 무엇을 하고 언제 쓰는지 (3인칭, 구체적으로) disable-model-invocation: true # 자동 호출 끄기 allowed-tools: Read, Grep # 활성 시 승인 없이 쓸 도구 context: fork # 서브에이전트 격리 실행 --- 지침 본문 (500줄 이하 권장)
자세히: 12장.
서브에이전트 frontmatter
YAML
--- name: code-reviewer description: 무엇을·언제 (자동 위임 근거) model: sonnet tools: Read, Grep, Glob, Bash # 허용 도구 disallowedTools: Write, Edit # 금지 도구 memory: project # 메모리 범위 isolation: worktree # 격리(값은 worktree만) --- 시스템 프롬프트 본문
자세히: 13장.
커스텀 명령 frontmatter
YAML
--- description: 명령 설명 allowed-tools: Read, Grep, Glob, Bash, WebFetch model: sonnet --- 프롬프트 템플릿 본문 ($ARGUMENTS, $1 등 사용 가능)
자세히: 11장.
CLAUDE.md import
MARKDOWN
@README.md @docs/architecture.md @~/.claude/personal-rules.md
재귀 import 가능(깊이 제한), 코드블록 안의 @는 해석 안 됨, import해도 컨텍스트는 절약 안 됨. 자세히: 9장.
다음: 부록 C. 용어집