ANLEITUNG
CLAUDE.md erklärt: die Datei, die Claude Code zu Beginn jeder Sitzung liest
Die CLAUDE.md ist eine Textdatei in deinem Projekt, in der du Claude Code die Regeln deines Projekts aufschreibst: welche Befehle es gibt, wie der Code aufgebaut ist und was er nie anfassen darf. Claude liest sie zu Beginn jeder Sitzung. Die CLAUDE.md in NativeExpress, meiner App-Vorlage, hat gut 100 Zeilen. Hier steht, wie Claude Code die Datei liest, was hineingehört und was nicht, und eine Vorlage zum Kopieren.
Das Wichtigste in Kürze
- Was sie ist
- Eine Markdown-Datei mit Anweisungen für Claude Code. Claude behandelt sie als Kontext, nicht als feste Einstellung.
- Wo sie liegt
- Im Hauptordner deines Projekts, als CLAUDE.md oder .claude/CLAUDE.md. Persönliche Regeln für alle Projekte gehören in ~/.claude/CLAUDE.md.
- Wie du sie anlegst
- Mit dem Befehl /init in Claude Code. Claude schaut sich dein Projekt an und schreibt einen ersten Entwurf.
- Wie lang sie sein sollte
- Unter 200 Zeilen, empfiehlt Anthropic. Längere Dateien kosten mehr Kontext und werden schlechter befolgt.
Was ist eine CLAUDE.md?
Jede Sitzung in Claude Code beginnt laut Anthropic mit einem leeren Kontext. Claude weiß nicht mehr, was ihr gestern besprochen habt. Die CLAUDE.md ist der Weg, ihm das Wichtigste trotzdem jedes Mal mitzugeben: Du schreibst es einmal auf, und Claude liest es zu Beginn jeder Sitzung.
Wichtig zu wissen: Claude behandelt die Datei als Kontext, nicht als Gesetz. Je konkreter und kürzer die Anweisungen, desto zuverlässiger hält er sich daran. Für Regeln, die auf keinen Fall gebrochen werden dürfen, empfiehlt Anthropic stattdessen einen Hook, der die Aktion technisch blockiert.
Wo CLAUDE.md-Dateien liegen
Es gibt mehrere Orte, jeweils für einen anderen Zweck. Claude lädt alle, die passen, und hängt sie aneinander, statt dass eine die andere ersetzt.
| Datei | Wofür |
|---|---|
| ~/.claude/CLAUDE.md | Deine Regeln für alle Projekte |
| CLAUDE.md im Projekt | Regeln fürs Projekt, im Git, fürs ganze Team |
| CLAUDE.local.md | Deine privaten Regeln fürs Projekt, in .gitignore |
| CLAUDE.md in Unterordnern | Lädt erst, wenn Claude dort arbeitet |
| Verwaltete Datei | Regeln der Firma, von der IT verteilt |
Wann Claude Code die CLAUDE.md liest
Beim Start lädt Claude die CLAUDE.md und CLAUDE.local.md aus deinem aktuellen Ordner und aus jedem Ordner darüber. Dateien in Unterordnern lädt er erst, wenn er dort eine Datei liest, schreibt oder ändert. So bleiben Regeln für einen Teil des Projekts draußen, solange Claude woanders arbeitet.
Welche Dateien gerade geladen sind, siehst du mit /context unter „Memory files“. Mit /memory kannst du sie öffnen und bearbeiten.
Was in eine gute CLAUDE.md gehört
Anthropic rät zu Anweisungen, die so konkret sind, dass man sie überprüfen kann: „Führe npm test vor jedem Commit aus“ statt „Teste deine Änderungen“. Das gehört hinein:
- Die Befehle
- Wie man die App startet, testet und prüft, genau so, wie man sie eintippt. Das spart Claude das Raten und dir die Fehlversuche.
- Der Aufbau
- Wo was liegt: Bildschirme, Datenbank, Server-Funktionen. Ein Satz pro Ordner reicht.
- Regeln, die immer gelten
- Zum Beispiel den Paketmanager. In NativeExpress steht ganz oben: Der Paketmanager ist yarn, nicht npm. Sonst mischt Claude beides.
- Was nie angefasst wird
- Generierte Dateien, die ein Befehl erzeugt, und alles rund um Passwörter und Schlüssel. Bei uns steht drin, dass Schlüssel nur in .env.local oder in den Server-Secrets landen, nie im Code.
- Wie Claude seine Arbeit prüft
- Ein Befehl, der Typen, Tests und Formatierung auf einmal prüft. Dann sieht Claude selbst, ob seine Änderung funktioniert.
Was nicht hineingehört
- Allgemeinplätze
- „Schreib sauberen Code“ ändert nichts. Streich alles, was Claude auch ohne die Regel richtig macht.
- Passwörter und API-Schlüssel
- Die CLAUDE.md liegt meist im Git und wird mit dem Projekt geteilt. Schreib hinein, wo Schlüssel liegen, nie die Schlüssel selbst.
- Lange Doku
- Was nur für einen Teil des Projekts gilt, gehört in eine Regel unter .claude/rules/, die nur bei passenden Dateien lädt. Anleitungen für einzelne Aufgaben gehören in einen Skill.
- Widersprüche
- Wenn sich zwei Anweisungen widersprechen, nimmt Claude laut Anthropic womöglich irgendeine davon. Lies die Datei ab und zu durch und wirf Veraltetes raus.
# CLAUDE.md
Eine Handy-App für iPhone und Android, gebaut mit React Native und Expo.
## Gilt immer
- Paketmanager ist yarn, nicht npm.
- Schlüssel und Passwörter nur in .env.local, nie im Code und nie im Commit.
- Nicht von Hand ändern: ios/, android/ und src/lib/db/database.types.ts
(werden von Befehlen erzeugt).
- Kleine Schritte: eine Aufgabe, dann prüfen, dann committen.
## Befehle
yarn start # Entwicklungsserver
yarn ios # im iPhone-Simulator starten
yarn check # Typen, Lint und Tests, vor jedem Commit
## Aufbau
- app/ Bildschirme (Expo Router)
- src/components/ wiederverwendbare Bausteine
- src/lib/ Datenbank, Bezahlung, Hilfsfunktionen
- supabase/ Datenbank und Server-Funktionen
## Fertig heißt
- yarn check läuft ohne Fehler durch.
- Neue Bildschirme funktionieren im hellen und im dunklen Modus.Andere Dateien einbinden mit @
Eine CLAUDE.md kann andere Dateien einbinden: Eine Zeile wie @README.md oder @docs/datenbank.md lädt diese Datei beim Start mit. Relative Pfade beziehen sich auf die Datei, in der der Import steht. Eingebundene Dateien dürfen selbst wieder Dateien einbinden, bis zu vier Ebenen tief.
Eine Falle: Imports machen eine lange Datei übersichtlicher, sparen aber keinen Platz im Kontext, denn auch die eingebundenen Dateien laden beim Start. Was Claude nur manchmal braucht, gehört deshalb in eine Regel mit Pfadangabe unter .claude/rules/. Die lädt erst, wenn Claude mit passenden Dateien arbeitet.
CLAUDE.md, AGENTS.md und .cursor/rules
Andere Coding-Agents wie Codex und Cursor lesen eine Datei namens AGENTS.md. Claude Code liest AGENTS.md nur, wenn es keine CLAUDE.md gibt, weder im aktuellen Ordner noch darüber. Gibt es beide, liest Claude nur die CLAUDE.md.
Wenn du mehrere Tools benutzt, schreib deine Regeln deshalb in die AGENTS.md und mach die CLAUDE.md zu einer einzigen Zeile: @AGENTS.md. Dann pflegst du nur eine Datei. Cursor hat zusätzlich eigene Regeln unter .cursor/rules, als .mdc-Dateien. Mehr zu Cursor steht im Vergleich Cursor vs. Claude Code.
Die „Karpathy-CLAUDE.md“: was dahintersteckt
Die CLAUDE.md, die als Karpathy-Datei herumgeht, hat Andrej Karpathy nicht selbst geschrieben. Sie liegt im Repository andrej-karpathy-skills und beschreibt sich selbst als eine einzelne CLAUDE.md, abgeleitet aus Karpathys Beobachtungen zu den typischen Fehlern von KI beim Programmieren. Auf GitHub hat sie über 200.000 Sterne.
Drin stehen vier Grundsätze: erst nachdenken, dann programmieren. So einfach wie möglich. Nur ändern, was zur Aufgabe gehört. Und jede Aufgabe in ein prüfbares Ziel übersetzen. Die Datei sagt selbst, dass sie Vorsicht über Tempo stellt. Ich würde sie nicht eins zu eins übernehmen, sondern die Grundsätze, die dir fehlen, in deine eigene CLAUDE.md schreiben, neben die Befehle und den Aufbau deines Projekts.
Karpathys eigene CLAUDE.md, zum Beispiel im Projekt llm-council, sieht ganz anders aus: technische Notizen zum Aufbau, zu den Dateien und zu Entscheidungen, die man sonst vergessen würde. Das ist genau die Art Inhalt, die in eine Projekt-CLAUDE.md gehört.
CLAUDE.md und Auto Memory
Neben der CLAUDE.md, die du schreibst, macht sich Claude auch selbst Notizen, wenn du ihn korrigierst oder sagst, dass er sich etwas merken soll. Anthropic nennt das Auto Memory. Die Notizen liegen pro Projekt unter ~/.claude/projects/, mit einer Übersichtsdatei MEMORY.md, von der zu Beginn jeder Sitzung die ersten 200 Zeilen geladen werden.
Als Faustregel: Regeln, die für das ganze Team gelten, gehören in die CLAUDE.md. Was Claude über deine Vorlieben lernt, darf er sich selbst merken. Mit /memory siehst du beides und kannst Auto Memory an- und ausschalten.
Wie erstelle ich eine CLAUDE.md?
Starte Claude Code im Projektordner und tippe /init. Claude schaut sich das Projekt an und schreibt eine CLAUDE.md mit den Befehlen und Konventionen, die er findet. Gibt es schon eine, schlägt /init Verbesserungen vor. Lies den Entwurf danach durch und streich alles, was selbstverständlich ist. Falls du Claude Code noch nicht installiert hast: Claude Code installieren.
Warum hält sich Claude nicht an meine CLAUDE.md?
Meistens aus einem von drei Gründen: Die Datei wird gar nicht geladen, das prüfst du mit /context. Die Datei ist zu lang, und die wichtige Regel geht unter. Oder zwei Anweisungen widersprechen sich. Bei Regeln, die nie gebrochen werden dürfen, ist ein Hook der sichere Weg, weil er die Aktion technisch verhindert, statt sie nur zu verbieten.
Ist die CLAUDE.md dasselbe wie ein Prompt?
Fast. Sie ist ein Prompt, den du nicht jedes Mal neu tippen musst. Was du Claude in jeder Sitzung sagen würdest, gehört in die CLAUDE.md. Was nur für die aktuelle Aufgabe gilt, schreibst du in den Chat.
Der Kurs dazu, auf Deutsch
Wenn du es lieber gezeigt bekommst, als es zu lesen: einmal komplett von der Idee bis zur App auf deinem Handy, als Videokurs auf Deutsch und ohne Vorkenntnisse.
Weitere Anleitungen auf Deutsch
Zum Weiterlesen (englisch)
Wenn du mit einer Vorlage starten willst
NativeExpress kostet einmal 229 Dollar. Du bekommst den kompletten Code und jede künftige Version. Den Support mache ich selbst, per Discord oder E-Mail, gern auch auf Deutsch.

