Skip to main content
Code Guide
T05 Beginner Technical

Configuration Hierarchy

Where to configure what — from global to local

PDF
← All cards

Configuration Levels

LevelFileScopeGit
Global user~/.claude/settings.jsonAll projectsNo
Global rules~/.claude/CLAUDE.mdAll projectsNo
Shared project.claude/settings.jsonTeamYes
Local project.claude/settings.local.jsonPersonalNo
Project rulesCLAUDE.md (root)TeamYes
Subfoldersubfolder/CLAUDE.mdFolderYes

Conflict Resolution

~/.claude/CLAUDE.md (1 - global base)
↓ + merge
./CLAUDE.md (2 - project rules)
↓ + merge
subfolder/CLAUDE.md (3 - local rules)
↓ + merge
@explicit import (4 - inline import)

Rules at a lower level supplement rather than replace higher levels.

settings.json — Structure

{
"model": "claude-opus-4-5",
"permissions": {
"allow": ["Bash(git *)"],
"deny": ["Bash(rm -rf*)"]
},
"env": {
"ANTHROPIC_LOG": "error"
}
}

CLAUDE.md — Best Practices

# Project Conventions
## Stack
- TypeScript strict mode
- pnpm (not npm)
- Tests: Vitest
## Rules
- Always check types before modifying
- Commits in English
- Never modify package-lock.json

What Goes Where

Global CLAUDE.md — Personal preferences, code style, universal conventions.

Project CLAUDE.md — Architecture, stack, team conventions, build/test commands.

Project settings.json — Tool permissions, default model, dev environment variables.

settings.local.json — Personal overrides that should not affect the team.

Required .gitignore

# In the project .gitignore
.claude/settings.local.json

Enter your email to read the full card and get the complete PDF bundle.

All content is free and open-source. We just ask for your email.

PDF: