Claude Code CLAUDE.md: Konfiguration und Custom Workflows 2026
CLAUDE.md ist die Steuerzentrale für Claude Code — hier definierst du Projektregeln, Coding-Standards, verbotene Patterns und Kontext für dein Team. Kombiniert mit Custom Slash Commands und Hooks entsteht ein vollständig angepasster KI-Entwicklungsassistent.
CLAUDE.md: Projektregeln für Claude definieren
CLAUDE.mdWas Claude über dein Projekt wissen muss
# CLAUDE.md — im Repository-Root (von Claude automatisch geladen)
# Beispiel: SaaS-Projekt mit Next.js + Prisma + TypeScript
## Tech Stack
- Next.js 14 App Router (KEIN Pages Router!)
- TypeScript strict mode — niemals `any` verwenden
- Prisma ORM mit PostgreSQL
- Tailwind CSS v3 + shadcn/ui Komponenten
- Zod für alle Validierungen
- Vitest für Unit Tests, Playwright für E2E
## Coding Standards
- Alle Komponenten in src/components/ — Server Components by default
- 'use client' NUR wenn useState/useEffect/Events nötig
- API-Routes AUSSCHLIESSLICH in app/api/ — KEIN src/pages/api/
- Fehler IMMER mit throw new AppError() — niemals res.status(500)
- KEINE console.log in Production-Code — nur logger.info/error
## Verbotene Patterns
- NIEMALS any-Type verwenden
- KEIN direkter DB-Zugriff in Komponenten — immer über Service-Layer
- KEIN localStorage in Server Components
- Keine Inline-Styles außer dynamische Werte
## Commit-Format
[type] description (max 72 Zeichen)
Types: feat|fix|refactor|test|docs|chore
## Wichtige Dateien
- src/lib/db.ts — Prisma-Client (Singleton)
- src/lib/auth.ts — Auth-Helfer
- src/lib/errors.ts — AppError-Klassen
- src/types/ — Globale TypeScript-Typen
CLAUDE.md Hierarchie: Globale ~/.claude/CLAUDE.md → Projekt-Root CLAUDE.md → Unterordner CLAUDE.md. Projekt-spezifische Regeln überschreiben globale. Claude liest alle relevanten CLAUDE.md-Dateien beim Start der Session.
Custom Slash Commands erstellen
Commands/deploy, /review, /test — eigene Workflows
# Slash Commands in .claude/commands/ definieren
# Jede .md-Datei = ein Command
.claude/
commands/
deploy.md → /deploy
review-pr.md → /review-pr
create-feature.md → /create-feature
fix-types.md → /fix-types
# .claude/commands/deploy.md
Führe das vollständige Deployment durch:
1. TypeScript-Typen prüfen: `npx tsc --noEmit`
2. Tests laufen lassen: `npx vitest run`
3. Linter: `npx eslint src/ --max-warnings 0`
4. Build: `npm run build`
5. Falls alle Schritte erfolgreich: Git-Commit mit Message "[deploy] production build"
6. Push zu main-Branch
Wenn ein Schritt fehlschlägt: stoppe, zeige den Fehler, frage ob ich fortfahren soll.
# .claude/commands/review-pr.md
Analysiere alle geänderten Dateien seit dem letzten Commit:
1. Prüfe CLAUDE.md-Regeln: Verletzungen identifizieren
2. TypeScript: any-Types, fehlende Return-Types
3. Security: SQL-Injection, XSS, hardcodierte Secrets
4. Performance: N+1-Queries, unnötige Re-Renders
5. Tests: Ungetestete kritische Pfade
Erstelle strukturierten Review-Report mit: ✅ OK | ⚠️ Warnung | ❌ Fehler
# Nutzen:
# User tippt: /deploy
# Claude führt alle Schritte automatisch aus
Hooks: Automatische Aktionen
HooksVor/nach Tool-Calls automatisch handeln
# .claude/settings.json — Hooks konfigurieren
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "echo 'Bash-Befehl: $CLAUDE_TOOL_INPUT' >> .claude/audit.log"
}]
}
],
"PostToolUse": [
{
"matcher": "Write",
"hooks": [{
"type": "command",
"command": "npx prettier --write $CLAUDE_TOOL_INPUT_FILE_PATH 2>/dev/null || true"
}]
}
],
"Stop": [
{
"hooks": [{
"type": "command",
"command": "notify-send 'Claude Code fertig' 'Task abgeschlossen'"
}]
}
]
}
}
# Hook-Events:
# PreToolUse — vor jedem Tool-Call (blockierend: exit 1 = Tool wird abgebrochen)
# PostToolUse — nach jedem Tool-Call (Nachbearbeitung)
# Stop — wenn Claude fertig ist (Benachrichtigung, Cleanup)
# SubagentStop — wenn Subagent fertig ist
Memory-System: Kontext über Sessions hinweg
MemoryPersistentes Gedächtnis für Claude
# Claude Code Memory-Dateien
~/.claude/CLAUDE.md # Globale persönliche Präferenzen
.claude/memory/ # Projekt-spezifische Memory-Files
# Globale CLAUDE.md — persönliche Präferenzen
## Meine Präferenzen
- Antworte immer auf Deutsch
- Bevorzuge funktionale Programmierung über OOP wo möglich
- Bei Fehlern: erst Root-Cause analysieren, dann fixen
- Keine langen Erklärungen — direkt zum Code
## Mein Setup
- Node.js 20 LTS
- pnpm als Package Manager (KEIN npm install!)
- Zsh mit Oh My Zsh
# Claude kann sich Dinge merken:
# "Merke dir: Wir nutzen feature-branch Workflow, niemals direkt auf main committen"
# → Wird in Memory-Datei gespeichert und in jeder Session geladen
# /memory Slash Command — Memory ansehen und verwalten:
# /memory list — alle gespeicherten Memories anzeigen
# /memory delete X — Memory X löschen
Team-Tipp: CLAUDE.md in Git committen — alle Teammitglieder nutzen automatisch dieselben Regeln. Persönliche Präferenzen in globale ~/.claude/CLAUDE.md, Projektregeln in Repo-CLAUDE.md.
Permissions und Sicherheit konfigurieren
# .claude/settings.json — Permissions
{
"permissions": {
"allow": [
"Bash(npm run *)", // npm-Scripts erlaubt
"Bash(git *)", // Git-Befehle erlaubt
"Write(src/**)", // Schreiben in src/ erlaubt
"Read(**)" // Lesen überall erlaubt
],
"deny": [
"Bash(rm -rf *)", // Gefährliche Befehle blockieren
"Bash(curl * | bash)", // Pipe-to-bash blockieren
"Write(.env)", // .env nie überschreiben
"Write(*.lock)" // Lock-Files schützen
]
}
}
# Claude Code Startup-Flags:
claude --dangerously-skip-permissions # Alle Permissions erlauben (CI/CD)
claude --allowedTools "Read,Write,Bash" # Nur spezifische Tools
claude --model claude-opus-4-5 # Spezifisches Modell wählen
claude --no-cache # Cache deaktivieren
# Claude Code in CI/CD (non-interactive):
claude -p "Führe alle Tests aus und erstelle Report" --output-format json
BeispieleEffektive CLAUDE.md Templates
# Template für Python/Django-Projekt
## Stack
- Django 5.0 + DRF für API
- PostgreSQL + Redis
- Celery für Background-Tasks
- pytest mit factory-boy für Tests
## Standards
- Type hints ÜBERALL (mypy strict)
- Docstrings für alle public functions/classes
- DRY: kein Code-Duplication — erst in utils.py suchen
- Alle Secrets aus django.conf.settings — niemals os.environ direkt
## Verboten
- print() in Production-Code → logger.info()
- bare except: → immer spezifisch (except ValueError:)
- Model-Logic in Views — immer in Service-Layer
# Template für Startup MVP
## Prioritäten
- Speed over Perfection: Ship fast, refactor later
- Feature-Flags für riskante Changes
- Monitoring: Sentry + LogRocket von Tag 1
- Mobile-First: alles auf iPhone SE testen
CLAUDE.md Anti-Pattern: Zu viele und zu strikte Regeln machen Claude träge und unflexibel. Fokus auf: Was ist absolut verboten? Was sind Non-Negotiable? Alles andere Claude entscheiden lassen.
Konfiguration & Workflows im Kurs
Im Claude Code Mastery Kurs: vollständiges Konfigurationsmodul mit CLAUDE.md-Templates, Custom Slash Commands, Hooks, Memory-System und Team-Workflows — für maximale Effizienz im Entwicklungsalltag.
14 Tage kostenlos testen →