設定スコープ
設定スコープは優先順位の高い順に 3 つあります。| スコープ | ファイルパス | 用途 |
|---|---|---|
| project | .failproofai/policies-config.json | リポジトリ単位の設定、バージョン管理にコミット |
| local | .failproofai/policies-config.local.json | 個人用のリポジトリ単位オーバーライド、gitignore 対象 |
| global | ~/.failproofai/policies-config.json | 全プロジェクト共通のユーザーレベルデフォルト |
マージルール
enabledPolicies - 3 つのスコープすべての和集合。いずれかのレベルで有効化されたポリシーはアクティブになります。
policyParams - 特定のポリシーのパラメーターを最初に定義したスコープが全体として優先されます。ポリシーのパラメーター内での深いマージは行われません。
customPoliciesPath - 最初に定義したスコープが優先されます。
llm - 最初に定義したスコープが優先されます。
設定ファイルのフォーマット
フィールドリファレンス
enabledPolicies
型: string[]
有効化するポリシー名の一覧。名前は failproofai policies で表示されるポリシー識別子と完全に一致する必要があります。全一覧は Built-in Policies を参照してください。
enabledPolicies に含まれていないポリシーは、policyParams にエントリがあっても非アクティブになります。
policyParams
型: Record<string, Record<string, unknown>>
ポリシーごとのパラメーターオーバーライド。外側のキーがポリシー名、内側のキーはポリシー固有の設定です。各ポリシーで利用可能なパラメーターは Built-in Policies に記載されています。
ポリシーにパラメーターがあっても指定しない場合は、ポリシーの組み込みデフォルト値が使用されます。policyParams をまったく設定していないユーザーは、以前のバージョンと同じ動作になります。
ポリシーのパラメーターブロック内の未知のキーは、フック発火時には無視されますが、failproofai policies 実行時に警告として表示されます。
hint(共通設定)
型: string(省略可能)
ポリシーが deny または instruct を返した際に、理由メッセージに追加されるテキスト。ポリシー自体を変更せずに Claude への具体的なガイダンスを提供するために使用します。
組み込みポリシー、カスタムポリシー(custom/)、プロジェクト規約(.failproofai-project/)、ユーザー規約(.failproofai-user/)など、すべてのポリシータイプで利用できます。
block-force-push が deny した場合、Claude には次のように表示されます: “Force-pushing is blocked. Try creating a fresh branch instead.”
文字列以外の値および空文字列は無視されます。hint が設定されていない場合は動作に変化はありません(後方互換性あり)。
customPoliciesPath
型: string(絶対パス)
カスタムフックポリシーを含む JavaScript ファイルへのパス。failproofai policies --install --custom <path> によって自動的に設定されます(パスは保存前に絶対パスに解決されます)。
このファイルはフックイベントのたびに新たに読み込まれます。キャッシュは使用されません。作成方法の詳細は Custom Policies を参照してください。
規約ベースのポリシー
明示的なcustomPoliciesPath に加えて、failproofai は .failproofai/policies/ ディレクトリからポリシーファイルを自動的に検出して読み込みます。
| レベル | ディレクトリ | スコープ |
|---|---|---|
| プロジェクト | .failproofai/policies/ | バージョン管理でチームと共有 |
| ユーザー | ~/.failproofai/policies/ | 個人用、全プロジェクトに適用 |
*policies.{js,mjs,ts} にマッチするファイルのみ読み込まれます(例: security-policies.mjs、workflow-policies.js)。ディレクトリ内のその他のファイルは無視されます。
設定不要: 規約ポリシーは policies-config.json へのエントリが不要です。ディレクトリにファイルを配置するだけで、次のフックイベント時に自動的に読み込まれます。
全量読み込み: プロジェクトとユーザーの両方の規約ディレクトリがスキャンされます。両レベルのマッチするファイルがすべて読み込まれます(最初のスコープ優先となる customPoliciesPath とは異なります)。
詳細と例については Custom Policies を参照してください。
llm
型: object(省略可能)
AI 呼び出しを行うポリシー向けの LLM クライアント設定。ほとんどの環境では不要です。
CLI からの設定管理
policies --install および policies --uninstall コマンドは Claude Code の settings.json(フックエントリポイント)に書き込みます。一方、policies-config.json は直接管理するファイルです。この 2 つは別物です。
settings.json- ツール使用のたびにfailproofai --hook <event>を呼び出すよう Claude Code に指示するpolicies-config.json- どのポリシーをどのパラメーターで評価するかを failproofai に指示する
policies-config.json はいつでも直接編集できます。変更は再起動不要で、次のフックイベント時に即座に反映されます。
例: チームデフォルトを含むプロジェクトレベル設定
.failproofai/policies-config.json をリポジトリにコミットします。
.failproofai/policies-config.local.json(gitignore 対象)を作成できます。
