Saltar al contenido principal

Configuración

IaC Code lee la configuración desde argumentos CLI, variables de entorno y archivos en el directorio de configuración en tiempo de ejecución.

Precedencia de configuración:

Argumentos CLI > variables de entorno > archivos de configuración

El directorio de tiempo de ejecución por defecto es:

~/.iac-code/

Puede reubicarlo estableciendo la variable de entorno IAC_CODE_CONFIG_DIR (admite expansión de ~ y $VAR). Cuando se establece, todos los artefactos persistidos — credenciales, ajustes, historial, projects/, image-cache/, tool-results/, logs/, memory/, a2a/, telemetry/, skills/ — siguen la nueva ubicación.

Archivos comunes:

ArchivoDescripción
.credentials.ymlCredenciales de LLM
.cloud-credentials.ymlCredenciales del proveedor de nube
settings.ymlProveedor seleccionado, modelo y configuraciones relacionadas
AGENTS.mdMemoria de usuario cargada como instrucciones persistentes
history filesHistorial de entrada para flujos de trabajo interactivos

Evite hacer commit o compartir archivos de este directorio porque pueden contener secretos o preferencias locales.

Archivos de memoria

IaC Code tiene dos ubicaciones públicas de memoria:

UbicaciónPropósito
<project-root>/AGENTS.mdMemoria del proyecto. Puede hacerse commit cuando las instrucciones son útiles para todas las personas que trabajan en el proyecto.
<config-dir>/AGENTS.mdMemoria de usuario. Sigue IAC_CODE_CONFIG_DIR y es privada para el usuario local.

Defina IAC_CODE_INSTRUCTION_MEMORY_FILE para usar otro nombre de archivo de memoria de instrucciones, por ejemplo IAC-CODE.md.

Los archivos de temas de auto-memory del proyecto se almacenan en:

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

MEMORY.md en esa carpeta es el índice de temas usado por las side calls de auto-memory. No se carga como contexto permanente. Cuando auto-memory está activada, IaC Code puede seleccionar archivos de temas relevantes y añadirlos como contexto oculto de la conversación.

Configuración del proyecto

Además del archivo ~/.iac-code/settings.yml a nivel de usuario, IaC Code carga configuraciones a nivel de proyecto desde el directorio de trabajo actual:

ArchivoAlcance
.iac-code/settings.ymlConfiguración compartida del proyecto (segura para hacer commit).
.iac-code/settings.local.ymlAnulaciones locales (debe estar en .gitignore).

Orden de fusión: configuración de usuario → configuración del proyecto → configuración local del proyecto → argumentos CLI (las fuentes posteriores anulan las anteriores).

Configuración de permisos de herramientas

La sección permissions en settings.yml configura qué acciones de herramientas se permiten, deniegan o requieren confirmación:

permissions:
mode: default
allow:
- "bash(git *)"
- "bash(ls:*)"
deny:
- "bash(rm -rf *)"
ask:
- "bash(curl:*)"
additional_directories:
- "/tmp/workspace"
CampoDescripción
modeModo de permisos: default, accept_edits, bypass_permissions, dont_ask.
allowLista de patrones de permisos de herramientas para aprobar automáticamente.
denyLista de patrones de permisos de herramientas para denegar automáticamente.
askLista de patrones de permisos de herramientas que siempre requieren confirmación.
additional_directoriesDirectorios adicionales más allá de cwd en los que el agente puede escribir.

Sintaxis de patrones

Los patrones de permisos de herramientas siguen el formato tool_name(rule):

PatrónSignificado
bashCoincidir con todos los comandos bash (nombre de herramienta simple).
bash(git *)Coincidir con comandos bash que comienzan con git.
bash(curl:*)Coincidir con comandos bash que comienzan con curl.
write_fileCoincidir con todas las llamadas a la herramienta write_file.

Las reglas se evalúan en orden: deny → ask → allow → comportamiento predeterminado. Los argumentos CLI (--allowed-tools, --disallowed-tools) tienen la mayor precedencia.