# Trusted Folder メモ（Gemini CLI / Antigravity 向け）

この資料は、**Gemini CLI を Antigravity から安定して使うための trusted folder 設定**をまとめたもの。  
特に、Plan Mode や自動承認、プロジェクト設定の読み込みが不安定なときの確認用。

---

## 1. 何が重要か

- **Gemini CLI 側で、このプロジェクトが trusted folder になっているか**が重要。
- trusted でない場合、公式仕様では以下が制限されることがある。
  - ツール自動承認
  - 一部ツール利用
  - プロジェクト `.gemini/settings.json` の適用
  - プロジェクト `.env` の利用
- Antigravity が Gemini CLI の司令塔として動くには、**ターミナル出力の監視**に加えて、**trusted folder の整備**も大事。

---

## 2. 確認場所

- Gemini CLI の trusted folder 一覧は通常 `~/.gemini/trustedFolders.json` にある。
- Windows: `%USERPROFILE%\.gemini\trustedFolders.json`（例: `C:\Users\<USERNAME>\.gemini\trustedFolders.json`）。

このファイルに、対象プロジェクトの**絶対パス**が入っていれば trusted と判断できる。

例（プレースホルダ）:

```json
{
  "C:\\path\\to\\your\\project": "TRUST_FOLDER"
}
```

Windows ではパス内の `\` を JSON 上は `\\` で記述する。

---

## 3. おすすめの設定方法

**手動編集より、Gemini CLI から `/permissions` で許可する方を推奨**。

手順:

1. プロジェクトルートで Gemini CLI を起動する
2. `/permissions` を実行する
3. 現在のプロジェクトフォルダを Trust する

Windows / PowerShell 例:

```powershell
Set-Location "C:\path\to\your\project"   # または cd "C:\path\to\your\project"
chcp 65001
gemini
```

CLI 内:

```text
/permissions
```

---

## 4. 手動で追加する場合

どうしても CLI から設定できない場合は、`trustedFolders.json` に対象パスを追加する。

例（プレースホルダ）:

```json
{
  "C:\\path\\to\\projectA": "TRUST_FOLDER",
  "C:\\path\\to\\projectB": "TRUST_FOLDER"
}
```

注意:

- パスは **絶対パス**
- Windows では `\` を `\\` にする
- JSON のカンマや引用符を壊さない

---

## 5. 症状が出たときの切り分け順序

1. **まず Plan Mode 制約を疑う**: `Unauthorized tool call` や `Failed to list directory` は、**Plan Mode 自体のツール制限**（読み取り専用ツールのみ許可）でも起きる。Plan Mode を使っている場合は、trusted をいじるより先に、**「プランだけ返して。編集しない」** の通常モードへ切り替えて再試行する。
2. **それでも改善しなければ trusted folder を確認する**: 下記の症状が通常モードでも出る場合、trusted folder 未設定を疑う。

症状の例:

- Plan Mode や自動承認の挙動が不安定
- `Unauthorized tool call`（通常モードでも出る場合）
- 一部ツールが使えない
- プロジェクト設定が効いていないように見える
- `.gemini/settings.json` や `.env` の影響が見えない

trusted folder 化しても直らない場合は、Plan Mode を使わず通常モードに切り替える（上記 1）。

---

## 6. Antigravity 運用での意味

- Antigravity は司令塔として Gemini CLI を呼び出す
- Gemini CLI は Plan / 調査 / 実装を返す
- Antigravity はそのターミナル出力を読んで次を決める

この流れを安定させる前提の一つが **trusted folder**。  
特に、プロジェクトごとの設定や承認挙動に関わるため、最初に確認しておく価値が高い。

---

## 7. 最小チェック

trusted folder 設定後は、まず次の 2 点だけ確認する。

1. `trustedFolders.json` に対象プロジェクトの絶対パスが入ったか
2. Gemini CLI をそのディレクトリで起動して、`/permissions` や Plan / 読み取り系の動作が改善したか

改善しない場合は、trusted の問題と Plan Mode の制限を分けて考える。
