Konfiguration
Die Konfiguration von Claude Code in der Entwicklungsumgebung dieser Guideline erfolgt über zwei getrennte Settings-Dateien im Verzeichnis .devcontainer/claude/.
settings.plan.jsonsettings.accept-edits.json
Diese beiden Konfigurationen werden jeweils in unterschiedliche ai-Container gemountet:
aiService →settings.plan.jsonai-agentService →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.
Plan Mode
Abschnitt betitelt „Plan Mode“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 CodeBashundWebFetchvollstä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.
Accept-Edits Mode
Abschnitt betitelt „Accept-Edits Mode“Der Accept-Edits-Modus (settings.accept-edits.json) erlaubt kontrollierte Änderungen am Projekt, bleibt jedoch eingeschränkt.
Wesentliche Eigenschaften:
defaultMode: "acceptEdits"Bashgrundsätzlich erlaubt, aber einige Befehle sind blockiertWebFetchdeaktiviert- 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 npxauszufü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)