Pular para o conteudo principal

Configuração

O IaC Code lê a configuração a partir de argumentos CLI, variáveis de ambiente e arquivos no diretório de configuração em tempo de execução.

Precedência de configuração:

Argumentos CLI > variáveis de ambiente > arquivos de configuração

O diretório de tempo de execução padrão é:

~/.iac-code/

Você pode realocá-lo definindo a variável de ambiente IAC_CODE_CONFIG_DIR (suporta expansão de ~ e $VAR). Quando definida, todos os artefatos persistidos — credenciais, configurações, histórico, projects/, image-cache/, tool-results/, logs/, memory/, a2a/, telemetry/, skills/ — seguem o novo local.

Arquivos comuns:

ArquivoDescrição
.credentials.ymlCredenciais LLM
.cloud-credentials.ymlCredenciais do provedor de nuvem
settings.ymlProvedor selecionado, modelo e configurações relacionadas
AGENTS.mdMemória do usuário carregada como instruções persistentes
history filesHistórico de entrada para fluxos de trabalho interativos

Evite fazer commit ou compartilhar arquivos deste diretório porque eles podem conter segredos ou preferências locais.

Arquivos de memória

O IaC Code tem dois locais públicos de memória:

LocalFinalidade
<project-root>/AGENTS.mdMemória do projeto. Pode ser commitada quando as instruções forem úteis para todas as pessoas que trabalham no projeto.
<config-dir>/AGENTS.mdMemória do usuário. Segue IAC_CODE_CONFIG_DIR e é privada para o usuário local.

Defina IAC_CODE_INSTRUCTION_MEMORY_FILE para usar outro nome de arquivo de memória de instruções, por exemplo IAC-CODE.md.

Os arquivos de tópicos de auto-memory do projeto são armazenados em:

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

MEMORY.md nessa pasta é o índice de tópicos usado pelas side calls de auto-memory. Ele não é carregado como contexto permanente. Quando auto-memory está ativada, o IaC Code pode selecionar arquivos de tópicos relevantes e adicioná-los como contexto oculto da conversa.

Configurações do projeto

Além do ~/.iac-code/settings.yml no nível do usuário, o IaC Code carrega configurações no nível do projeto a partir do diretório de trabalho atual:

ArquivoEscopo
.iac-code/settings.ymlConfigurações compartilhadas do projeto (seguro para commit).
.iac-code/settings.local.ymlSubstituições locais (deve estar no .gitignore).

Ordem de mesclagem: configurações do usuário → configurações do projeto → configurações locais do projeto → argumentos CLI (fontes posteriores substituem as anteriores).

Configuração de permissões de ferramentas

A seção permissions em settings.yml configura quais ações de ferramentas são permitidas, negadas ou requerem confirmação:

permissions:
mode: default
allow:
- "bash(git *)"
- "bash(ls:*)"
deny:
- "bash(rm -rf *)"
ask:
- "bash(curl:*)"
additional_directories:
- "/tmp/workspace"
CampoDescrição
modeModo de permissão: default, accept_edits, bypass_permissions, dont_ask.
allowLista de padrões de permissão de ferramentas para aprovação automática.
denyLista de padrões de permissão de ferramentas para negação automática.
askLista de padrões de permissão de ferramentas que sempre requerem confirmação.
additional_directoriesDiretórios adicionais além do cwd nos quais o agente pode escrever.

Sintaxe de padrões

Os padrões de permissão de ferramentas seguem o formato tool_name(rule):

PadrãoSignificado
bashCorresponder a todos os comandos bash (nome de ferramenta simples).
bash(git *)Corresponder a comandos bash que começam com git.
bash(curl:*)Corresponder a comandos bash que começam com curl.
write_fileCorresponder a todas as chamadas da ferramenta write_file.

As regras são avaliadas na ordem: deny → ask → allow → comportamento padrão. Os argumentos CLI (--allowed-tools, --disallowed-tools) têm a maior precedência.