Die Konfigurationsdatei für Claude Code — Projektstruktur, Konventionen und Regeln in einer Datei.
Die CLAUDE.md ist eine Markdown-Datei, die Claude Code automatisch beim Start einer Session liest. Sie enthält alles, was Claude über dein Projekt wissen muss: Tech-Stack, Konventionen, Build-Befehle und Regeln. Einmal geschrieben, sorgt sie dafür, dass Claude Code sofort produktiv arbeitet — ohne dass du jedes Mal erklären musst, wie dein Projekt aufgebaut ist.
Für Entwickler, die Claude Code regelmäßig in einem Projekt einsetzen. Sobald du merkst, dass du Claude immer wieder die gleichen Dinge erklärst (“Wir nutzen TypeScript”, “Tests liegen in /tests”, “Verwende keine Semicolons”), lohnt sich eine CLAUDE.md.
Eine CLAUDE.md ist eine Markdown-Datei im Root deines Projekts. Wenn du claude im Terminal startest, sucht Claude Code automatisch nach dieser Datei und liest sie. Der Inhalt wird zum Kontext der Session — wie eine permanente Anweisung, die Claude Code bei jeder Aufgabe berücksichtigt.
Claude Code sucht an mehreren Orten nach CLAUDE.md-Dateien. Sie werden in dieser Reihenfolge geladen und ergänzen sich:
~/.claude/CLAUDE.md) — Regeln, die für alle deine Projekte gelten (z.B. bevorzugte Sprache, allgemeine Konventionen)CLAUDE.md im Projektverzeichnis) — Die wichtigste Datei. Enthält alles Projektspezifische.CLAUDE.md in Subdirectories) — Für spezielle Regeln in bestimmten Ordnern (z.B. andere Konventionen im Frontend vs. Backend).claude/CLAUDE.local.md) — Deine persönlichen Regeln, die nicht ins Repository committed werdenDie Projekt-Root CLAUDE.md ist die Datei, die du fast immer brauchst. Die anderen Ebenen sind optional und für fortgeschrittene Setups gedacht.
Wo gehört die Regel 'Verwende Vitest statt Jest' hin, wenn sie nur für ein bestimmtes Projekt gilt?
Eine gute CLAUDE.md beantwortet fünf Fragen:
Wenn es eine tsconfig.json, .eslintrc oder .prettierrc gibt, muss die CLAUDE.md deren Regeln nicht wiederholen. Claude Code liest diese Dateien selbst. Die CLAUDE.md ergänzt, was in Konfigurationsdateien nicht steht: Architekturentscheidungen, Konventionen und Verbote.
Erstelle eine Datei namens CLAUDE.md im Root-Verzeichnis deines Projekts. Öffne sie in einem Editor deiner Wahl.
Starte mit einer kurzen Beschreibung: Was ist das Projekt? Welche Sprache, welches Framework? Beispiel: '# Projekt-Name E-Commerce-API mit Node.js 20, Express und PostgreSQL.'
Liste die wichtigsten Befehle auf: Wie startet man die App? Wie laufen Tests? Wie wird gebaut? Claude Code nutzt diese Befehle aktiv.
Beschreibe die wichtigsten Verzeichnisse. Claude Code muss wissen, wo Source-Code, Tests, Konfiguration und Assets liegen.
Definiere Do's und Don'ts: Welchen Code-Stil nutzt ihr? Welche Patterns sind erwünscht, welche verboten? Gibt es Namenskonventionen?
Starte Claude Code in deinem Projekt und stelle eine Aufgabe. Prüfe, ob Claude die Regeln aus der CLAUDE.md befolgt. Passe die Datei an, wenn nötig.
# MeinShop API
E-Commerce-Backend mit Node.js 20, Express 4 und PostgreSQL 16.
## Tech-Stack
- Runtime: Node.js 20 LTS
- Framework: Express 4 mit TypeScript 5.4
- Datenbank: PostgreSQL 16 mit Prisma ORM
- Tests: Vitest + Supertest
- Linting: ESLint + Prettier
## Befehle
- `npm run dev` — Entwicklungsserver starten
- `npm test` — Alle Tests ausführen
- `npm run test:watch` — Tests im Watch-Mode
- `npm run build` — TypeScript kompilieren
- `npm run lint` — Linting ausführen
## Verzeichnisstruktur
- `src/routes/` — API-Endpunkte (eine Datei pro Ressource)
- `src/services/` — Business-Logik
- `src/middleware/` — Express Middleware
- `src/prisma/` — Datenbankschema und Migrationen
- `tests/` — Unit- und Integrationstests
## Regeln
- Kein `any` in TypeScript — verwende konkrete Typen
- Fehlerbehandlung immer mit Custom Error Classes aus `src/errors/`
- Neue Endpunkte brauchen mindestens einen Integrationstest
- Commit Messages auf Englisch, Conventional Commits Format
- Keine console.log — verwende den Logger aus `src/utils/logger.ts`
Vage Anweisungen wie 'Best Practices' sagen Claude nichts Neues. Konkrete, testbare Regeln wirken sofort.
npm test oder npm run build rät Claude Code — und das geht oft schief.Schreibe eine CLAUDE.md für ein bestehendes Projekt auf deinem Rechner:
CLAUDE.md im Root-VerzeichnisMehr zum Unterschied zwischen CLAUDE.md und Projects findest du im Vergleich Projects vs. CLAUDE.md.
Du hast jetzt eine CLAUDE.md, die Claude Code über dein Projekt informiert. Als Nächstes lernst du den Plan Mode kennen — damit analysiert Claude Code dein Projekt, bevor es Änderungen vornimmt.
Guides, Vergleiche, Flashcards — alles auf Deutsch.