Zum Inhalt springen

Konfiguration

Die Konfiguration von Claude Code in der Entwicklungsumgebung dieser Guideline erfolgt über zwei getrennte Settings-Dateien im Verzeichnis .devcontainer/claude/.

  • settings.plan.json
  • settings.accept-edits.json

Diese beiden Konfigurationen werden jeweils in unterschiedliche ai-Container gemountet:

  • ai Service → settings.plan.json
  • ai-agent Service → settings.accept-edits.json

Dadurch wird eine klare Trennung zwischen Analyse / Planung und aktiver Änderung des Codes erreicht. Dieses Prinzip reduziert das Risiko unbeabsichtigter Modifikationen und entspricht dem Least-Privilege-Ansatz.

Die Inhalte der Konfigurationsdateien basieren auf offiziellen Beispielen von Claude Code und wurden für das - in dieser Guideline - beschriebene Container Setup angepasst.


Der Plan-Modus (settings.plan.json) ist stark restriktiv ausgelegt und erlaubt ausschließlich lesenden Zugriff auf das Projekt.

Wesentliche Eigenschaften:

  • defaultMode: "plan" → keine Änderungen am Code
  • Bash und WebFetch vollständig deaktiviert
  • Schreibzugriffe im Dateisystem vollständig unterbunden

Dieser Modus erlaubt Claude:

  • Code analysieren
  • Änderungen vorschlagen
  • Architektur beschreiben

aber keine Dateien verändern und keine Commands ausführen.


Der Accept-Edits-Modus (settings.accept-edits.json) erlaubt kontrollierte Änderungen am Projekt, bleibt jedoch eingeschränkt.

Wesentliche Eigenschaften:

  • defaultMode: "acceptEdits"
  • Bash grundsätzlich erlaubt, aber einige Befehle sind blockiert
  • WebFetch deaktiviert
  • Schreibzugriffe auf das Projektverzeichnis erlaubt

Dieser Modus erlaubt Claude:

  • Dateien zu ändern
  • globale Tools im AI-Kontext zu installieren (sfw npm i -g)
  • Tools über sfw npx auszuführen

aber Claude muss um Erlaubnis fragen für:

  • ungeschützte Paketinstallationen ohne Socket Firewall (npm i -g)
  • lokale Paketinstallationen im Projektverzeichnis (npm i)

und blockiert vollständig:

  • Git-Operationen
  • externe Downloads (curl, WebFetch)