Zum Hauptinhalt springen

CLAUDE.md & Memory-Dateien

Einsteiger

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.

What you'll learn
  • 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.md unter macOS, /etc/claude-code/CLAUDE.md unter Linux und WSL, C:\Program Files\ClaudeCode\CLAUDE.md unter Windows.
  • User-Anweisungen (~/.claude/CLAUDE.md) — deine persönlichen Vorlieben über alle Projekte hinweg.
  • Projekt-Anweisungen (./CLAUDE.md oder ./.claude/CLAUDE.md, committed) — wie dieses Repo funktioniert. Mit deinem Team geteilt. Wenn dein Repo AGENTS.md nutzt, 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 .gitignore hinzu.

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.

Pro tip
  • 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.
Kenne deine Memory-Ebenen
Drücke Enter oder die Leertaste, um die Karte umzudrehen. Nutze die Pfeiltasten links und rechts, um zwischen den Karten zu wechseln.Begriff angezeigt.
1 / 6

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-DateienAuto-Memory
Wer schreibt esDuClaude
Was es enthältAnweisungen und RegelnErkenntnisse und Muster
GeltungsbereichProjekt, User oder OrganisationPro 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.

Watch out
  • 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​

Guided walkthrough1 of 3
  1. Claude untersucht den Code und entwirft automatisch eine CLAUDE.md für dich.

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​

Watch out
  • 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.md funktioniert; 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 @README allein die Datei importiert. So erwähnst du einen Pfad, ohne ihn zu laden.

Die vollständige Referenz findest du in der offiziellen Memory-Dokumentation.

Pro tip
  • 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
  1. Welche Datei liest Claude Code zu Beginn jeder Session als dauerhaftes Briefing deines Projekts?
  2. Was bewirkt das Ausführen von /init in einem Projekt?
  3. Was ist der empfohlene Weg, ein großes vorhandenes Dokument wie einen Styleguide einzubinden?
  4. Wohin gehören persönliche, projektspezifische Notizen — die, die du nicht committen willst?
  5. Wer schreibt Auto-Memory?
  6. Eine CLAUDE.md in einem Unterordner wird wann geladen?
Key takeaways
  • 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​