Zum Hauptinhalt springen

Konfiguration

IaC Code liest die Konfiguration aus CLI-Argumenten, Umgebungsvariablen und Dateien im Laufzeitkonfigurationsverzeichnis.

Konfigurationspriorität:

CLI-Argumente > Umgebungsvariablen > Konfigurationsdateien

Das Laufzeitverzeichnis ist standardmäßig:

~/.iac-code/

Sie können es verlegen, indem Sie die Umgebungsvariable IAC_CODE_CONFIG_DIR setzen (unterstützt ~- und $VAR-Erweiterung). Sobald gesetzt, folgen alle persistierten Artefakte — Anmeldedaten, Einstellungen, Verlauf, projects/, image-cache/, tool-results/, logs/, memory/, a2a/, telemetry/, skills/ — dem neuen Speicherort.

Häufige Dateien:

DateiBeschreibung
.credentials.ymlLLM-Anmeldedaten
.cloud-credentials.ymlCloud-Anbieter-Anmeldedaten
settings.ymlAusgewählter Anbieter, Modell und zugehörige Einstellungen
AGENTS.mdBenutzerspeicher, der als dauerhafte Anweisungen geladen wird
VerlaufsdateienEingabeverlauf für interaktive Workflows

Vermeiden Sie es, Dateien aus diesem Verzeichnis zu committen oder zu teilen, da sie Geheimnisse oder lokale Einstellungen enthalten können.

Speicherdateien

IaC Code hat zwei öffentliche Speicherorte:

SpeicherortZweck
<project-root>/AGENTS.mdProjektspeicher. Er kann committet werden, wenn die Anweisungen für alle Personen nützlich sind, die am Projekt arbeiten.
<config-dir>/AGENTS.mdBenutzerspeicher. Er folgt IAC_CODE_CONFIG_DIR und ist privat für den lokalen Benutzer.

Setzen Sie IAC_CODE_INSTRUCTION_MEMORY_FILE, um einen anderen Dateinamen für den Anweisungsspeicher zu verwenden, zum Beispiel IAC-CODE.md.

Projektbezogene auto-memory-Themendateien werden hier gespeichert:

<config-dir>/projects/<project-key>/memory/

MEMORY.md in diesem Ordner ist der Themenindex, den auto-memory-Side-Calls verwenden. Er wird nicht als dauerhafter Kontext geladen. Wenn auto-memory aktiviert ist, kann IaC Code relevante Themendateien auswählen und sie als versteckten Unterhaltungskontext hinzufügen.

Projekteinstellungen

Zusätzlich zur benutzerbezogenen ~/.iac-code/settings.yml lädt IaC Code projektbezogene Einstellungen aus dem aktuellen Arbeitsverzeichnis:

DateiGeltungsbereich
.iac-code/settings.ymlGemeinsame Projekteinstellungen (sicher zu committen).
.iac-code/settings.local.ymlLokale Überschreibungen (sollte in .gitignore stehen).

Zusammenführungsreihenfolge: Benutzereinstellungen → Projekteinstellungen → Lokale Projekteinstellungen → CLI-Argumente (spätere Quellen überschreiben frühere).

Werkzeug-Berechtigungskonfiguration

Der Abschnitt permissions in settings.yml konfiguriert, welche Werkzeugaktionen erlaubt, verweigert oder bestätigt werden müssen:

permissions:
mode: default
allow:
- "bash(git *)"
- "bash(ls:*)"
deny:
- "bash(rm -rf *)"
ask:
- "bash(curl:*)"
additional_directories:
- "/tmp/workspace"
FeldBeschreibung
modeBerechtigungsmodus: default, accept_edits, bypass_permissions, dont_ask.
allowListe der automatisch genehmigten Werkzeug-Berechtigungsmuster.
denyListe der automatisch verweigerten Werkzeug-Berechtigungsmuster.
askListe der Werkzeug-Berechtigungsmuster, die immer eine Bestätigung erfordern.
additional_directoriesZusätzliche Verzeichnisse über cwd hinaus, in die der Agent schreiben darf.

Mustersyntax

Werkzeug-Berechtigungsmuster folgen dem Format tool_name(rule):

MusterBedeutung
bashAlle Bash-Befehle abgleichen (bloßer Werkzeugname).
bash(git *)Bash-Befehle abgleichen, die mit git beginnen.
bash(curl:*)Bash-Befehle abgleichen, die mit curl beginnen.
write_fileAlle write_file-Werkzeugaufrufe abgleichen.

Regeln werden in folgender Reihenfolge ausgewertet: deny → ask → allow → Standardverhalten. CLI-Argumente (--allowed-tools, --disallowed-tools) haben die höchste Priorität.