メインコンテンツにスキップ

設定

IaC Code は CLI 引数、環境変数、およびランタイム設定ディレクトリ内のファイルから設定を読み取ります。

設定の優先順位:

CLI 引数 > 環境変数 > 設定ファイル

ランタイムディレクトリは既定で以下です:

~/.iac-code/

IAC_CODE_CONFIG_DIR 環境変数を設定すると、ディレクトリを変更できます(~$VAR の展開をサポート)。設定すると、永続化されるすべての成果物 — 認証情報、設定、履歴、projects/image-cache/tool-results/logs/memory/a2a/telemetry/skills/ — が新しい場所に追従します。

主要ファイル:

ファイル説明
.credentials.ymlLLM 認証情報
.cloud-credentials.ymlクラウドプロバイダー認証情報
settings.yml選択されたプロバイダー、モデル、および関連設定
AGENTS.md永続的な指示として読み込まれるユーザーメモリ
history files対話ワークフローの入力履歴

このディレクトリのファイルにはシークレットやローカル設定が含まれる場合があるため、コミットや共有は避けてください。

メモリファイル

IaC Code には公開されているメモリ場所が 2 つあります。

場所用途
<project-root>/AGENTS.mdプロジェクトメモリ。プロジェクトで作業する全員に役立つ指示であれば、コミットできます。
<config-dir>/AGENTS.mdユーザーメモリ。IAC_CODE_CONFIG_DIR に従い、ローカルユーザー専用です。

別の instruction memory ファイル名を使うには IAC_CODE_INSTRUCTION_MEMORY_FILE を設定します。例: IAC-CODE.md

プロジェクトの auto-memory トピックファイルは以下に保存されます。

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

そのフォルダー内の MEMORY.md は auto-memory side call が使うトピックインデックスです。常時コンテキストとしては読み込まれません。auto-memory がオンの場合、IaC Code は関連するトピックファイルを選択し、隠し会話コンテキストとして追加できます。

プロジェクト設定

ユーザーレベルの ~/.iac-code/settings.yml に加えて、IaC Code は現在の作業ディレクトリからプロジェクトレベルの設定を読み込みます:

ファイル範囲
.iac-code/settings.ymlプロジェクト共有設定(コミットしても安全)。
.iac-code/settings.local.ymlローカル上書き(.gitignore に追加すべき)。

マージ順序:ユーザー設定 → プロジェクト設定 → プロジェクトローカル設定 → CLI 引数(後のソースが前のものを上書きします)。

ツール権限設定

settings.ymlpermissions セクションで、どのツールアクションを許可、拒否、または確認を必要とするかを設定します:

permissions:
mode: default
allow:
- "bash(git *)"
- "bash(ls:*)"
deny:
- "bash(rm -rf *)"
ask:
- "bash(curl:*)"
additional_directories:
- "/tmp/workspace"
フィールド説明
mode権限モード:defaultaccept_editsbypass_permissionsdont_ask
allow自動承認するツール権限パターンのリスト。
deny自動拒否するツール権限パターンのリスト。
ask常に確認が必要なツール権限パターンのリスト。
additional_directoriescwd 以外でエージェントが書き込み可能な追加ディレクトリ。

パターン構文

ツール権限パターンは tool_name(rule) の形式に従います:

パターン意味
bashすべての bash コマンドにマッチ(ツール名のみ)。
bash(git *)git で始まる bash コマンドにマッチ。
bash(curl:*)curl で始まる bash コマンドにマッチ。
write_fileすべての write_file ツール呼び出しにマッチ。

ルールは次の順序で評価されます:deny → ask → allow → デフォルト動作。CLI 引数(--allowed-tools--disallowed-tools)が最も高い優先度を持ちます。