Ad Space (horizontal)
Advanced

Der komplette Leitfaden zum Schreiben von CLAUDE.md: Best Practices für die Projektkonfiguration

Ein umfassender Leitfaden zum Schreiben effektiver CLAUDE.md-Dateien. Erfahren Sie, wie Sie Ihren Tech-Stack, Konventionen und Projektstruktur kommunizieren, um die Ausgabequalität von Claude Code zu maximieren.

Was ist CLAUDE.md?

CLAUDE.md ist eine Kontextdatei, die Claude Code hilft, Ihr Projekt zu verstehen. Platzieren Sie sie im Stammverzeichnis Ihres Projekts, und Claude Code liest sie automatisch zu Beginn jeder Sitzung. Eine gut geschriebene CLAUDE.md kann die Qualität der Antworten von Claude Code dramatisch verbessern.

Dateispeicherorte und Priorität

Sie können CLAUDE.md-Dateien an mehreren Orten platzieren, und alle werden geladen:

~/.claude/CLAUDE.md          # Globale Einstellungen (projektübergreifend)
./CLAUDE.md                   # Projektstamm (im Team geteilt)
./CLAUDE.local.md             # Lokale Einstellungen (in .gitignore aufnehmen)
./src/CLAUDE.md               # Unterverzeichnis-Einstellungen
  • Global: Ihre persönlichen Coding-Style-Präferenzen
  • Projektstamm: Im Team geteilte Regeln und Tech-Stack
  • Lokal: Persönliche Einstellungen, die nicht in Git committet werden
  • Unterverzeichnis: Zusätzlicher Kontext für bestimmte Module

Einstiegsvorlage

Hier ist eine praktische CLAUDE.md-Vorlage:

# Projektübersicht

E-Commerce-Backend-API. Verwaltet Bestellungen, Inventar und Benutzerauthentifizierung.

## Tech-Stack

- Sprache: TypeScript 5.x
- Runtime: Node.js 22
- Framework: Fastify
- DB: PostgreSQL 16 + Prisma ORM
- Testing: Vitest
- CI: GitHub Actions

## Verzeichnisstruktur

src/
  routes/       # API-Endpunkt-Definitionen
  services/     # Geschäftslogik
  repositories/ # Datenzugriffsschicht
  middleware/   # Auth, Logging, Fehlerbehandlung
  utils/        # Hilfsfunktionen
  types/        # Typdefinitionen

## Coding-Konventionen

- Pfeilfunktionen verwenden
- Fehlerbehandlung immer mit try-catch und benutzerdefinierten Fehlerklassen
- Benennung: camelCase (Variablen/Funktionen), PascalCase (Typen/Klassen)
- Dateinamen: kebab-case
- Pfad-Alias `@/` statt relativer Imports verwenden

## Häufige Befehle

- Tests ausführen: `npm test`
- Typprüfung: `npx tsc --noEmit`
- Lint: `npm run lint`
- DB-Migration: `npx prisma migrate dev`
- Dev-Server: `npm run dev`

## Wichtige Regeln

- Nach Änderungen an prisma/schema.prisma immer eine Migration erstellen
- Jeder API-Endpunkt muss ein Zod-Validierungsschema haben
- Neue Routen in routes/index.ts registrieren

Tipps für effektive CLAUDE.md-Dateien

1. Halten Sie es kurz

CLAUDE.md verbraucht Kontextfenster-Tokens. Vermeiden Sie ausschweifende Erklärungen und halten Sie sich an Aufzählungspunkte.

# Schlechtes Beispiel
Dieses Projekt verwendet TypeScript. TypeScript ist eine von
Microsoft entwickelte Sprache, die JavaScript um Typen erweitert...

# Gutes Beispiel
- Sprache: TypeScript 5.x (Strict-Modus)

2. Dokumentieren Sie, was Sie nicht wollen

Das explizite Auflisten von Anti-Patterns ist überraschend wirkungsvoll.

## Verboten

- Keine `any`-Typen
- Keine Default-Exports (nur benannte Exports)
- Kein console.log zum Debuggen (den Logger verwenden)
- Bestehende Tests niemals löschen oder überspringen

3. Workflows definieren

Geben Sie Claude Code eine Anleitung, wie Aufgaben angegangen werden sollen.

## Neues Feature hinzufügen

1. Typdefinitionen in `src/types/` erstellen
2. Datenzugriffsschicht in `src/repositories/` implementieren
3. Geschäftslogik in `src/services/` implementieren
4. Endpunkte in `src/routes/` definieren
5. Unit-Tests für jede Schicht schreiben
6. Überprüfen, dass alle Tests mit `npm test` bestehen

4. Implizites Wissen festhalten

Dokumentieren Sie wichtige Informationen, die nirgendwo anders festgehalten sind.

## Projektspezifische Hinweise

- `user_id` verwendet UUID v7 (für zeitsortierbare Reihenfolge)
- Alle Preisberechnungen müssen `Decimal.js` verwenden (um Gleitkomma-Fehler zu vermeiden)
- Umgebungsvariablen sind in `src/config.ts` zentralisiert — niemals direkt auf process.env zugreifen

Team-Nutzung

.gitignore-Einrichtung

Halten Sie persönliche Einstellungen aus der Versionsverwaltung:

# .gitignore
CLAUDE.local.md

In Code-Reviews einbeziehen

Behandeln Sie CLAUDE.md als wichtiges Projektdokument. Beziehen Sie es in PR-Reviews ein und halten Sie es als Team aktuell.

Wann sollte CLAUDE.md aktualisiert werden

  • Wenn eine neue Bibliothek hinzugefügt wird
  • Wenn Coding-Konventionen geändert werden
  • Wenn Verzeichnisse umstrukturiert werden
  • Wenn Ihnen auffällt, dass Claude Code wiederholt denselben Fehler macht

Fazit

CLAUDE.md macht Claude Code zum Experten für Ihr spezifisches Projekt. Beginnen Sie damit, ein Gerüst mit /init zu generieren, und verfeinern Sie es während der Arbeit. Teilen Sie es mit Ihrem Team, damit alle von optimierten Claude-Code-Interaktionen profitieren.

Ad Space (rectangle)
#Claude Code #CLAUDE.md #configuration #best practices #project management