CLAUDE.md & Memory-Dateien
Wenn du eine Sache tust, um Claude Code besser zu machen, dann diese. CLAUDE.md ist eine Klartextdatei, die Claude zu Beginn jeder Session liest — das dauerhafte Briefing deines Projekts.
- Warum CLAUDE.md die Claude-Code-Einstellung mit dem größten Hebel ist
- Wie die Memory-Hierarchie lädt, von der Managed Policy bis hinunter zu CLAUDE.local.md
- Wie sich Auto-Memory von der CLAUDE.md unterscheidet, die du selbst schreibst
- Wie du mit /init eine Ausgangsdatei generierst und sie zurechtstutzt
- Was in CLAUDE.md gehört — und was draußen bleiben sollte
- Wie @imports dir erlauben, Dokumente zu referenzieren, ohne sie zu duplizieren
Warum es die Einstellung mit dem größten Hebel ist
Ohne sie erklärst du dein Projekt in jeder Session erneut ("wir nutzen pnpm, Tests liegen in __tests__, fass /generated nicht an…"). Mit ihr weiß Claude es bereits. Gute Anweisungen hier verbessern jede zukünftige Interaktion auf einmal.
Die Memory-Hierarchie
Claude Code lädt Memory aus mehreren Quellen und führt sie in Ladereihenfolge zusammen, vom breitesten Geltungsbereich zuerst — eine Projektanweisung landet also nach einer User-Anweisung im Kontext:
- Managed Policy — organisationsweite Anweisungen, die dein IT-/DevOps-Team ausliefert. Der Pfad ist betriebssystemabhängig:
/Library/Application Support/ClaudeCode/CLAUDE.mdunter macOS,/etc/claude-code/CLAUDE.mdunter Linux und WSL,C:\Program Files\ClaudeCode\CLAUDE.mdunter Windows. - User-Anweisungen (
~/.claude/CLAUDE.md) — deine persönlichen Vorlieben über alle Projekte hinweg. - Projekt-Anweisungen (
./CLAUDE.mdoder./.claude/CLAUDE.md, committed) — wie dieses Repo funktioniert. Mit deinem Team geteilt. Wenn dein RepoAGENTS.mdnutzt, kann das statt dieser Dateien oder zusätzlich zu ihnen geladen werden. - Lokale Anweisungen (
./CLAUDE.local.md) — projektspezifische Notizen nur für dich, etwa eine Sandbox-URL. Füge sie zu.gitignorehinzu.
Dateien in der Verzeichnishierarchie oberhalb deines Arbeitsverzeichnisses werden beim Start geladen; Dateien in Unterordnern werden bei Bedarf geladen, wenn Claude etwas in diesem Bereich anfasst.
- Eine Datei reicht nicht mehr aus? Teile die Anweisungen in .claude/rules/*.md auf — ein Thema pro Datei, rekursiv erkannt. Regeln ohne paths-Frontmatter werden beim Start geladen, mit derselben Priorität wie .claude/CLAUDE.md; füge paths-Frontmatter hinzu, damit eine Regel nur dann lädt, wenn Claude an passenden Dateien arbeitet — das spart Kontext.
Die andere Hälfte: Auto-Memory
CLAUDE.md ist die Hälfte des Gedächtnisses, die du schreibst. Claude Code führt außerdem ein Auto-Memory — Notizen, die Claude selbst aus deinen Korrekturen und Vorlieben schreibt, pro Repository gespeichert und in jeder Session neben deinen CLAUDE.md-Dateien geladen.
| CLAUDE.md-Dateien | Auto-Memory | |
|---|---|---|
| Wer schreibt es | Du | Claude |
| Was es enthält | Anweisungen und Regeln | Erkenntnisse und Muster |
| Geltungsbereich | Projekt, User oder Organisation | Pro Repository, über Worktrees hinweg geteilt |
Beides ist Kontext, keine Durchsetzung: Claude behandelt sie als Orientierung, die es abwägen kann, nicht als Konfiguration, der es gehorchen muss. Um eine Aktion unabhängig von Claudes Entscheidung hart zu blockieren, nutze stattdessen einen PreToolUse-Hook.
- Auto-Memory lädt nur die ersten 200 Zeilen oder 25 KB — eine überfüllte MEMORY.md wird stillschweigend abgeschnitten. Die vollständige Aufschlüsselung der Startkosten findest du im Kontextbudget-Audit.
Erzeuge einen Startpunkt
- Claude untersucht den Code und entwirft automatisch eine CLAUDE.md für dich.
- Der Entwurf ist ein Startpunkt, keine Ziellinie. Stutze ihn auf das zurecht, was wahr und nützlich ist.
- Hol dir einen fertigen Starter von der Seite CLAUDE.md-Vorlagen und passe ihn an dein Repo an.
Einen CLAUDE.md-Entwurf generieren
/init
Hol dir einen fertigen Starter aus den CLAUDE.md-Vorlagen.
Was hineingehört
- Was das Projekt ist, in zwei Sätzen.
- Tech-Stack und wie man ausführt / testet / lintet.
- Konventionen, die Claude nicht ableiten kann (Benennung, Struktur, Commit-Stil).
- Leitplanken: "führe Tests aus, bevor du etwas für fertig erklärst", "bearbeite niemals
/vendor", "committe niemals Geheimnisse".
Was NICHT hineingehört
- Claude befolgt CLAUDE.md wörtlich — veraltete, vage oder wunschdenkende Anweisungen schaden aktiv.
- Beschreibe, wie das Projekt heute tatsächlich funktioniert; kurz und wahr schlägt lang und ambitioniert.
- Vermeide riesige eingefügte Dokumente (nutze stattdessen @imports), Geheimnisse und Regeln, die du nicht wirklich befolgst.
- Überprüfe sie regelmäßig, damit sie korrekt bleibt, während sich das Projekt weiterentwickelt.
Imports
Binde vorhandene Dokumente ein, statt sie zu duplizieren — referenziere z. B. deinen Styleguide mit einem @path/to/file-Import, sodass es eine einzige Quelle der Wahrheit gibt. Relative und absolute Pfade funktionieren beide; relative Pfade werden gegen die Datei aufgelöst, die den Import enthält, nicht gegen dein Arbeitsverzeichnis. Importierte Dateien können weitere importieren, bis zu einer maximalen Tiefe von vier Sprüngen.
Zwei Syntaxfallen, die man kennen sollte, bevor sie zuschlagen:
- Leerzeichen brauchen Backslashes.
@Design\ Docs/api-conventions.mdfunktioniert; ohne den Backslash endet der Pfad beim ersten Leerzeichen. In Anführungszeichen gesetzt wird die Datei überhaupt nicht importiert. - Backticks melden sich ab. Das Import-Parsing überspringt Code-Spans und Code-Blöcke, deshalb bleibt
`@README`wörtlicher Text, während@READMEallein die Datei importiert. So erwähnst du einen Pfad, ohne ihn zu laden.
Die vollständige Referenz findest du in der offiziellen Memory-Dokumentation.
- Eine einzige Quelle der Wahrheit: referenziere eine Datei mit @imports, statt ihren Inhalt in CLAUDE.md einzufügen.
- Wenn ein Dokument bereits existiert, verlinke es — kopiere es nicht. Kopien veralten.
Überprüfe dich selbst
Überprüfe dich selbst
0/6- CLAUDE.md ist die Einstellung mit dem größten Hebel: sie verbessert jede zukünftige Session auf einmal.
- Memory lädt vom Breitesten zuerst: Managed Policy, dann User (~/.claude/CLAUDE.md), Projekt (./CLAUDE.md oder ./.claude/CLAUDE.md), dann lokal (./CLAUDE.local.md). Dateien in Unterordnern laden bei Bedarf.
- Auto-Memory ist die andere Hälfte — Claudes eigene Notizen, pro Repository, in jeder Session geladen. Beides ist Kontext, keine Durchsetzung: nutze einen Hook, um etwas hart zu blockieren.
- Eine Datei reicht nicht mehr aus? Teile sie in .claude/rules/*.md auf und begrenze Regeln mit paths-Frontmatter.
- Beginne mit /init, dann kürze den Entwurf auf das ein, was tatsächlich wahr ist.
- Halte sie kurz und wahr — nutze @imports (max. vier Sprünge) für große Dokumente und committe niemals Geheimnisse.
Weiter
- AGENTS.md & Tool-übergreifende Interoperabilität — teile eine einzige Anweisungsdatei über alle Coding-Agenten hinweg
- Plan-Modus — sichere erste Änderungen
- Berechtigungen & Modi — was Claude unbeaufsichtigt tun darf
- Walkthrough: Claude Code für ein echtes Repo anpassen