Was ist CLAUDE.md?
CLAUDE.md ist eine Markdown-Datei mit persistenten Anweisungen, die Claude bei jedem Session-Start liest. Sie steuert, wie Claude mit deinem Projekt arbeitet.
- Wird automatisch in den Context geladen
- Überlebt Session-Komprimierung (
/compact)
- Zwei Typen: Manuell geschriebene Instruktionen + Auto-gelernte Notizen
- Kann per
/init automatisch generiert werden
Speicherorte & Geltungsbereiche
| Scope | Pfad | Verwendung |
| Managed (Org) | C:\Program Files\ClaudeCode\CLAUDE.md | Firmenweite Policies |
| Projekt | ./CLAUDE.md oder ./.claude/CLAUDE.md | Team-Konventionen (via Git) |
| User | ~/.claude/CLAUDE.md | Persönliche Präferenzen |
Auflösungsreihenfolge: Managed > Projekt > User. Die spezifischste Ebene gewinnt bei Konflikten.
CLAUDE.md Dateien in übergeordneten Verzeichnissen werden vollständig geladen. CLAUDE.md in Unterverzeichnissen werden on-demand geladen, wenn Claude dort Dateien liest.
Effektive CLAUDE.md schreiben
Zielgröße: Unter 200 Zeilen pro Datei. Längere Dateien verbrauchen mehr Context und werden weniger genau befolgt.
Do's:
- Konkrete, verifizierbare Regeln:
"2-Space Indentation", "npm test vor Commit"
- Build-/Test-Befehle dokumentieren
- Architektur-Entscheidungen festhalten
- Namenskonventionen definieren
- Markdown-Struktur mit Headern und Bullets
Don'ts:
- Vage Anweisungen: ✗
"Formatiere Code ordentlich"
- API-Dokumentation (zu umfangreich)
- Häufig wechselnde Informationen
- Selbstverständliches: ✗
"Schreibe sauberen Code"
# Code Style
- ES Modules (import/export), nicht CommonJS
- 2-Space Indentation
- Destructure Imports: import { foo } from 'bar'
# Workflow
- Typecheck nach Code-Änderungen: npx tsc --noEmit
- Einzelne Tests statt Full Suite: npm test -- --grep "auth"
# Environment
- Env Var DB_URL erforderlich für lokale Entwicklung
- Port 3000 für Dev-Server
Dateien importieren
Mit @path/to/file können externe Dateien in CLAUDE.md eingebunden werden:
# Relative Pfade (zum CLAUDE.md Standort)
Siehe @README für Projektübersicht.
NPM Commands: @package.json
# Workflow-Docs importieren
- Git-Workflow: @docs/git-instructions.md
- Persönliche Prefs: @~/.claude/my-project-instructions.md
Rekursive Imports bis 5 Ebenen tief. Beim ersten Import erscheint ein Bestätigungsdialog.
Rules Directory
Für größere Projekte: Instruktionen in .claude/rules/ aufteilen:
# Verzeichnisstruktur
.claude/rules/
├── testing.md # Test-Konventionen
├── api-design.md # API-Richtlinien
├── security.md # Sicherheitsregeln
├── frontend/
│ └── components.md # React-Patterns
└── backend/
└── database.md # DB-Konventionen
Path-scoped Rules – Regeln nur für bestimmte Dateitypen:
# .claude/rules/api-rules.md
---
paths:
- "src/api/**/*.ts"
- "src/components/*.tsx"
---
# API Development Rules
- Input-Validierung in jedem Endpoint
- Standard Error Response Format nutzen
Auto Memory System
Claude speichert automatisch Notizen über Sessions hinweg:
| Eigenschaft | Details |
| Speicherort | ~/.claude/projects/<project>/memory/ |
| Hauptdatei | MEMORY.md (erste 200 Zeilen pro Session geladen) |
| Themen-Dateien | debugging.md, api-conventions.md etc. (on-demand) |
| Basis | Git-Repository-Pfad (alle Worktrees teilen sich Memory) |
| Scope | Machine-local (nicht über Geräte synchronisiert) |
# Memory verwalten
/memory # Toggle + Übersicht aller geladenen Dateien
# Claude direkt bitten etwas zu merken
"Bitte merke dir: Immer pnpm statt npm verwenden"
# Deaktivieren
# In settings.json:
"autoMemoryEnabled": false
# Oder per Environment Variable:
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
Troubleshooting
| Problem | Lösung |
| Claude befolgt CLAUDE.md nicht | /memory prüfen, Anweisungen spezifischer machen |
| Instruktionen verschwinden nach /compact | In CLAUDE.md verschieben (statt nur in Conversation) |
| CLAUDE.md zu groß | In .claude/rules/ aufteilen oder @import nutzen |
| Konflikte zwischen CLAUDE.md Dateien | Widersprüche beseitigen, regelmäßig reviewen |
| Monorepo: Irrelevante CLAUDE.md lädt | claudeMdExcludes in .claude/settings.local.json |