Skip to content

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.

DateiWofür
~/.claude/CLAUDE.mdDeine Regeln für alle Projekte
CLAUDE.md im ProjektRegeln fürs Projekt, im Git, fürs ganze Team
CLAUDE.local.mdDeine privaten Regeln fürs Projekt, in .gitignore
CLAUDE.md in UnterordnernLädt erst, wenn Claude dort arbeitet
Verwaltete DateiRegeln 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.
Eine Vorlage für ein App-Projekt mit Expo. Ersetz die Befehle und Ordner durch die deines Projekts und streich, was bei dir nicht zutrifft. Claude versteht deutsche und englische Anweisungen.

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.