Skip to content

Instantly share code, notes, and snippets.

@naxIO
Last active February 23, 2026 15:53
Show Gist options
  • Select an option

  • Save naxIO/cff2efaf0a95fe79e5e01759f8ab118d to your computer and use it in GitHub Desktop.

Select an option

Save naxIO/cff2efaf0a95fe79e5e01759f8ab118d to your computer and use it in GitHub Desktop.
Claude Code: Best Practices & Quick Wins (apploft)

Claude Code: Best Practices & Quick Wins

Dev-Runde Montag | apploft.


Grundlagen

  1. Gehirn anschalten.
  2. Claude Code nativ installieren (nicht über Homebrew — der Update-Channel ist dort langsamer, ihr hängt sonst immer etwas hinterher): curl -fsSL https://claude.ai/install.sh | bash
  3. Einloggen via Team-Account (NICHT via API Key). Falls ihr einen ANTHROPIC_API_KEY als Env-Variable gesetzt habt: entfernen, sonst umgeht Claude Code den Team-Plan.
  4. Das richtige Modell wählen. Default prüfen, aktuell Opus 4.6 als bestes Modell empfohlen.

Prompting & Workflow

Entwicklungsworkflow:

  • Nicht direkt committen lassen! Erst eine zweite Claude-Instanz die Änderungen reviewen lassen. Die zweite Instanz kann per git status und git diff schnell sehen, was geändert wurde.
  • Review-Loop: Änderungen durch eine frische zweite Instanz reviewen lassen, Feedback einarbeiten, nächste Iteration. Frischer Kontext = besseres Review.

Memory-System verstehen:

Claude Code hat drei Ebenen von Memory, die aufeinander aufbauen:

  • Projekt-Memory (CLAUDE.md): Liegt im Repo und gilt für alle, die daran arbeiten. Enthält projektspezifische Konventionen, Tech-Stack-Infos, bekannte Pitfalls. Wird über Git geteilt — daher: committen und pushen, bevor ihr das Terminal schließt. Schnellstart: /init generiert automatisch eine Starter-CLAUDE.md.
  • User-Memory (~/.claude/CLAUDE.md): Eure persönliche, globale Memory-Datei. Gilt für alle Projekte. Ideal für persönliche Preferences: bevorzugte Sprache, Code-Style-Vorlieben, Standard-Tools. Wird nicht geteilt.
  • Auto-Memory: Claude Code kann sich Dinge selbstständig merken, wenn ihr es darum bittet („Merk dir, dass wir in diesem Projekt immer Vitest statt Jest nutzen."). Diese Einträge landen je nach Kontext in der Projekt- oder User-Memory. Einsehen und aufräumen über /memory.

Empfehlung: User-Memory für Dinge, die euch überall begleiten sollen (z.B. „Antworte auf Deutsch"). Projektspezifisches gehört in die CLAUDE.md im Repo. Lasst Claude ab und zu die Memory aufräumen — über Zeit sammelt sich Veraltetes an.

Kontextfenster im Blick behalten:

  • Claude Code macht automatisch eine Komprimierung (/compact), wenn der Kontext voll wird. Das funktioniert gut, aber Qualität kann trotzdem schleichend nachlassen.
  • Aufgaben runterbrechen! Lieber 5 kleine, klare Aufgaben als eine riesige.

Sub-Agenten gezielt einsetzen:

Claude Code kann eigenständig Sub-Agenten spawnen — kurzlebige Instanzen, die eine abgegrenzte Teilaufgabe erledigen und nur das Ergebnis zurückliefern. Sub-Agenten haben ihren eigenen Kontext und belasten den Hauptkontext nicht.

  • Wann sinnvoll? Immer wenn eine Aufgabe recherche-intensiv ist, aber das Ergebnis kompakt. Beispiele: „Finde heraus, wie die Auth-Middleware aufgebaut ist und fass es in 5 Sätzen zusammen."
  • Automatisch: Claude Code entscheidet selbstständig, wann Sub-Agenten sinnvoll sind, und spawnt sie automatisch. Ihr könnt es aber auch explizit anweisen: „Nutze einen Sub-Agenten, um dir die Ordnerstruktur unter /src anzuschauen."
  • Kontext-Vorteil: Der Sub-Agent liest 50 Dateien — aber im Hauptkontext landen nur die 10 Zeilen Zusammenfassung. So bleibt euer Kontextfenster sauber für die eigentliche Arbeit.

Plan Mode nutzen:

  • Mit /plan in den Plan-Modus wechseln: Claude analysiert und plant, schreibt aber keinen Code und führt keine Befehle aus. (shift+tab cycled durch alle Modi: Default → Auto-Accept → Plan.)
  • Ideal für komplexe Aufgaben: Erst planen lassen, Plan reviewen, dann umsetzen lassen.

Empfehlung: Globale Settings (Managed Settings)

Ohne zentrale Leitplanken verlasst ihr euch darauf, dass jeder seine Permissions sauber konfiguriert. Das passiert nicht. Ein einziger Fehler reicht, damit Claude Code .env-Dateien mit API-Keys oder DB-Credentials liest und in den Kontext schickt, also an Anthropics Server sendet.

Die Lösung: Wir konfigurieren Managed Settings zentral über die Claude.ai Admin Console (Admin Settings → Claude Code → Managed settings). Claude Code holt sich die Settings automatisch beim Start und pollt stündlich nach Updates.

So sieht unsere Konfiguration aus:

{
  "permissions": {
    "deny": [
      "Read(**/.env)",
      "Read(**/.env.*)",
      "Read(**/secrets/**)",
      "Read(**/*secret*)",
      "Read(**/*credential*)",
      "Bash(sudo *)",
      "Bash(su *)"
    ]
  },
  "disableBypassPermissionsMode": "disable"
}

Warum genau diese?

  • .env und Secrets: Alles was Claude liest, geht an die API. Credentials in .env-Dateien sind das häufigste Risiko. Diese Regel schützt euch, ohne dass ihr aktiv dran denken müsst.
  • sudo/su: Reine Sicherheitsleine. Kein Dev braucht das im Kontext von Claude Code.
  • disableBypassPermissionsMode: Verhindert, dass jemand mit --dangerously-skip-permissions sämtliche Sicherheitsmechanismen komplett aushebelt. Behindert normalen Workflow nicht.

Warum nicht mehr? curl/wget werden nicht zusätzlich gesperrt — die eingebaute Blocklist sorgt bereits dafür, dass Claude vor Netzwerk-Requests nachfragt. Zu restriktive Policies führen dazu, dass Leute Workarounds bauen oder das Tool frustriert aufgeben. Balance: das Unbeabsichtigte verhindern, das Beabsichtigte nicht behindern.


Spend Control

Aktueller Stand: Keine Extra Credits aktiviert. Wer gegen ein Limit läuft, meldet sich bei Sören.

Im Team Premium habt ihr pro Person ein wöchentliches Limit (5x so viel wie ein Pro-Account), das sich alle 7 Tage resettet. Die Limits sind pro Mitglied, d.h. wenn einer am Limit ist, betrifft das niemand anderen.


Prompt Fatigue & Whitelisting

Claude Code fragt bei jedem potenziell riskanten Befehl nach Erlaubnis. Das nervt, ist aber richtig so. Die Lösung: häufig genutzte sichere Befehle whitelisten.

Das geht pro User, pro Codebase oder pro Organisation. Beispiel für eure persönliche ~/.claude/settings.json:

{
  "permissions": {
    "allow": [
      "Bash(npm run test *)",
      "Bash(npm run lint)",
      "Bash(npm run build)",
      "Bash(git log *)",
      "Bash(git diff *)",
      "Bash(git status)"
    ]
  }
}

Alternativ: Direkt in Claude Code über /permissions konfigurieren.


Security

Claude Code hat umfangreiche eingebaute Sicherheitsfeatures. Ausführliche Doku: code.claude.com/docs/en/security

Built-in Protections:

  • Permission-basierte Architektur: Standardmäßig Read-Only, schreibende Aktionen und Befehle brauchen Freigabe
  • Sandboxed Bash: Filesystem- und Netzwerk-Isolation möglich (aktivierbar via /sandbox)
  • Schreibzugriff nur im Projektordner und Unterordnern
  • Blocklist für riskante Befehle (curl, wget) standardmäßig aktiv, d.h. Claude fragt vor Netzwerk-Requests immer nach Freigabe
  • Prompt-Injection-Erkennung und Input-Sanitization
  • Verdächtige Bash-Befehle brauchen manuelle Freigabe, auch wenn vorher gewhitelistet

Team Security:

  • Managed Settings (zentral über die Claude.ai Admin Console) können organisationsweite Standards erzwingen
  • Genehmigte Permission-Konfigurationen über Version Control teilen
  • Monitoring über OpenTelemetry-Metriken möglich
  • ConfigChange Hooks erlauben Auditing/Blocking von Settings-Änderungen

Gut zu wissen

Parallele Instanzen:

  • Kein hartes Limit. Ihr könnt mehrere Claude Code Sessions gleichzeitig in separaten Terminal-Panes oder IDE-Fenstern laufen lassen.
  • Bedingung: Die Instanzen sollten an unterschiedlichen Dateien arbeiten, sonst gibt es Konflikte.
  • Für saubere Parallelarbeit: git worktree nutzen. Jede Instanz bekommt ihren eigenen Branch in einem eigenen Verzeichnis, kein Conflict-Risiko. Claude Code hat dafür nativen Support: einfach /worktree in der CLI.
  • Alle Instanzen teilen sich dasselbe Usage-Limit.

Kontext ist alles:

  • Claude Code hat keinen Index eurer Codebase — es liest Dateien on-demand, wenn es sie braucht. Ihr könnt Claude aber bitten, sich erstmal alles anzuschauen. Je präziser euer Prompt, desto weniger Token werden für Exploration verbrannt.
  • Große Dateien (>1000 Zeilen) fressen Kontext. Wenn Claude an einer spezifischen Funktion arbeiten soll, gebt den Hinweis: „Schau dir Zeile 200 bis 250 in src/auth/handler.ts an."

Escape-Hatch:

  • Escape oder Ctrl+C stoppt Claude mid-generation. Ctrl+D beendet die Session.
  • Escape zweimal öffnet das Rewind-Feature: Conversation und Code auf einen früheren Checkpoint zurücksetzen.
  • (Pfeil hoch) navigiert durch eure Prompt-History, auch aus früheren Sessions.

Weiterbildung

Anthropic bietet kostenlose Kurse an: anthropic.com/learn

Empfohlener Einstieg: Claude Code in Action anthropic.skilljar.com/claude-code-in-action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment