MB-ITA

Diese Seite ist passwortgeschützt.

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

Best Practices

Lessons Learned, häufige Fehler, Sicherheit, Kosten-Optimierung.

Häufige Fehler vermeiden

FehlerSymptomLösung
Kitchen Sink SessionZu viele unrelated Tasks in einer Session/clear zwischen Tasks
Endlose CorrectionsWiederholte Fehler nach KorrekturenNach 2 Fehlversuchen: /clear + besserer Prompt
Überblähte CLAUDE.mdClaude ignoriert InstruktionenAuf unter 200 Zeilen kürzen
Trust ohne VerifyPlausible aber fehlerhafte LösungenTests, Screenshots, Verification
Infinite ExplorationContext Window voll von File-ReadsScope eingrenzen, Subagents nutzen

Prompting Best Practices

SchlechtGut
"Verbessere diese Funktion""Refactore diese Funktion für Performance, besonders den Inner Loop. Lauf perf Tests danach."
"Mach das besser""Ersetze die for-Schleife durch Array.map() und extrahiere die Validierung in eine eigene Funktion"
SchlechtGut
"Keine Ellipsen verwenden""Output wird vorgelesen (TTS) → keine Ellipsen (TTS kann sie nicht aussprechen)"
"Nutze pnpm""Nutze pnpm statt npm — wir haben pnpm-lock.yaml und Workspace-Support"

3-5 diverse Beispiele geben Claude besseren Kontext:

# In CLAUDE.md oder Prompt <examples> <example> Input: getUserById(123) Output: { id: 123, name: "Max", email: "max@test.de" } </example> <example> Input: getUserById(999) Output: null (User not found) </example> </examples>
SchlechtGut
"Nicht mit Markdown""Glatte Prosa-Paragraphen"
"Kein console.log""Nutze das Logger-Modul für alle Log-Ausgaben"
# Für komplexe Probleme — "ultrathink" im Prompt "ultrathink: Analysiere die Race Condition im Auth-Modul" # Oder Toggle Alt+T # Extended Thinking ein/aus

CLAUDE.md Best Practices

  • Kurz halten: Unter 200 Zeilen, ruthless pruning
  • Nur projektspezifisch: Bash Commands, Code Style, Testing, Git Konventionen
  • Nicht reinschreiben: API Docs, selbstverständliche Practices, häufig wechselnde Infos
  • Skills statt bloated CLAUDE.md: Komplexe Workflows als Skills auslagern
  • Regeln in Hooks: Deterministische Regeln als Hooks, nicht als CLAUDE.md

Sicherheit

Claude Code hat Zugriff auf dein Dateisystem und Terminal. Nutze Permission-Controls!

Permissions konfigurieren:

# In .claude/settings.json { "permissions": { "allow": [ "Bash(npm run lint)", "Bash(git commit:*)", "Read" ], "deny": [ "Bash(rm *)", "Bash(curl http://untrusted.com)" ] } }
  • Sandboxing: /sandbox für OS-level Isolation
  • File Protection: Hooks zum Blockieren von .env, Credentials
  • Audit Logging: Alle Tool-Aufrufe loggen
  • Data Training: Code wird nicht für Model-Training genutzt

Kosten-Optimierung

StrategieDetails
Effort Levellow für einfache Tasks, high für Komplexes
Model-AuswahlHaiku für einfache Tasks, Opus nur wenn nötig
Prompt Cachingcache_control: ephemeral für wiederholte Kontexte
Batch ProcessingBulk API Calls statt einzelne Requests
Token CountingVorher kalkulieren mit count_tokens()
Budget Limits--max-budget-usd 5.00 in Headless Mode
SubagentsSeparate Context Windows statt Main-Conversation füllen

Effektive Workflow-Patterns

Pattern: Explore → Plan → Implement → Verify
1. "Gib mir einen Überblick über das Auth-Modul" # Explore 2. "Erstelle einen Plan für das Refactoring" # Plan 3. "Setze den Plan um" # Implement 4. "Lauf alle Tests und prüfe Ergebnis" # Verify
Pattern: Test-First Development
1. "Schreibe Tests für User Profile API" # Tests zuerst 2. "Implementiere die API bis alle Tests grün sind" # TDD 3. /simplify # Cleanup
Pattern: Session Naming
claude # Session starten /rename auth-refactor # Session benennen # ... arbeiten ... exit # Beenden claude -r auth-refactor # Später fortsetzen

Scaling Patterns

# Fan-Out über Dateien for file in $(cat files.txt); do claude -p "Migrate $file" --allowedTools "Edit,Bash" done # Parallele Worktrees claude --worktree feature-auth claude --worktree feature-api # /batch für orchestrierte Großänderungen /batch migrate src/ from Solid to React