MB-ITA

Diese Seite ist passwortgeschützt.

claude-code — claude-md.md
~/wiki/claude-code / claude-md
~/wiki/claude-code $ cat claude-md.md

CLAUDE.md & Kontext

Projekt-Instruktionen, Memory-System, Best Practices für Kontext-Management.

Was ist CLAUDE.md?

CLAUDE.md ist eine Markdown-Datei mit persistenten Anweisungen, die Claude bei jedem Session-Start liest. Sie steuert, wie Claude mit deinem Projekt arbeitet.

  • Wird automatisch in den Context geladen
  • Überlebt Session-Komprimierung (/compact)
  • Zwei Typen: Manuell geschriebene Instruktionen + Auto-gelernte Notizen
  • Kann per /init automatisch generiert werden

Speicherorte & Geltungsbereiche

ScopePfadVerwendung
Managed (Org)C:\Program Files\ClaudeCode\CLAUDE.mdFirmenweite Policies
Projekt./CLAUDE.md oder ./.claude/CLAUDE.mdTeam-Konventionen (via Git)
User~/.claude/CLAUDE.mdPersönliche Präferenzen
Auflösungsreihenfolge: Managed > Projekt > User. Die spezifischste Ebene gewinnt bei Konflikten.

CLAUDE.md Dateien in übergeordneten Verzeichnissen werden vollständig geladen. CLAUDE.md in Unterverzeichnissen werden on-demand geladen, wenn Claude dort Dateien liest.

Effektive CLAUDE.md schreiben

Zielgröße: Unter 200 Zeilen pro Datei. Längere Dateien verbrauchen mehr Context und werden weniger genau befolgt.

Do's:

  • Konkrete, verifizierbare Regeln: "2-Space Indentation", "npm test vor Commit"
  • Build-/Test-Befehle dokumentieren
  • Architektur-Entscheidungen festhalten
  • Namenskonventionen definieren
  • Markdown-Struktur mit Headern und Bullets

Don'ts:

  • Vage Anweisungen: "Formatiere Code ordentlich"
  • API-Dokumentation (zu umfangreich)
  • Häufig wechselnde Informationen
  • Selbstverständliches: "Schreibe sauberen Code"
Beispiel: Gute CLAUDE.md
# Code Style - ES Modules (import/export), nicht CommonJS - 2-Space Indentation - Destructure Imports: import { foo } from 'bar' # Workflow - Typecheck nach Code-Änderungen: npx tsc --noEmit - Einzelne Tests statt Full Suite: npm test -- --grep "auth" # Environment - Env Var DB_URL erforderlich für lokale Entwicklung - Port 3000 für Dev-Server

Dateien importieren

Mit @path/to/file können externe Dateien in CLAUDE.md eingebunden werden:

# Relative Pfade (zum CLAUDE.md Standort) Siehe @README für Projektübersicht. NPM Commands: @package.json # Workflow-Docs importieren - Git-Workflow: @docs/git-instructions.md - Persönliche Prefs: @~/.claude/my-project-instructions.md
Rekursive Imports bis 5 Ebenen tief. Beim ersten Import erscheint ein Bestätigungsdialog.

Rules Directory

Für größere Projekte: Instruktionen in .claude/rules/ aufteilen:

# Verzeichnisstruktur .claude/rules/ ├── testing.md # Test-Konventionen ├── api-design.md # API-Richtlinien ├── security.md # Sicherheitsregeln ├── frontend/ │ └── components.md # React-Patterns └── backend/ └── database.md # DB-Konventionen

Path-scoped Rules – Regeln nur für bestimmte Dateitypen:

# .claude/rules/api-rules.md --- paths: - "src/api/**/*.ts" - "src/components/*.tsx" --- # API Development Rules - Input-Validierung in jedem Endpoint - Standard Error Response Format nutzen

Auto Memory System

Claude speichert automatisch Notizen über Sessions hinweg:

EigenschaftDetails
Speicherort~/.claude/projects/<project>/memory/
HauptdateiMEMORY.md (erste 200 Zeilen pro Session geladen)
Themen-Dateiendebugging.md, api-conventions.md etc. (on-demand)
BasisGit-Repository-Pfad (alle Worktrees teilen sich Memory)
ScopeMachine-local (nicht über Geräte synchronisiert)
# Memory verwalten /memory # Toggle + Übersicht aller geladenen Dateien # Claude direkt bitten etwas zu merken "Bitte merke dir: Immer pnpm statt npm verwenden" # Deaktivieren # In settings.json: "autoMemoryEnabled": false # Oder per Environment Variable: CLAUDE_CODE_DISABLE_AUTO_MEMORY=1

Troubleshooting

ProblemLösung
Claude befolgt CLAUDE.md nicht/memory prüfen, Anweisungen spezifischer machen
Instruktionen verschwinden nach /compactIn CLAUDE.md verschieben (statt nur in Conversation)
CLAUDE.md zu großIn .claude/rules/ aufteilen oder @import nutzen
Konflikte zwischen CLAUDE.md DateienWidersprüche beseitigen, regelmäßig reviewen
Monorepo: Irrelevante CLAUDE.md lädtclaudeMdExcludes in .claude/settings.local.json