「どのツールが何をできるか」を実装事実で整理する
✦ 緑=対応あり / 赤=なし / 黄=部分対応・実験的 / 白=詳細不明
| 機能・仕様 | Claude Code | OpenAI Codex | Kiro CLI | Antigravity |
|---|---|---|---|---|
| Hook対応 | ✔ 5種類 | ✔ 5種類 | △ 1種類(GA外) | ✘ 不明 |
| 設定ファイル形式 | JSON settings.json |
TOML config.toml |
JSON .kiro/settings.json |
TOML antigravity.toml |
| コンテキスト管理ファイル | CLAUDE.md | AGENTS.md | Steering Documents .kiro/steering/*.md |
未確認 |
| スケジューリング | Routines (GA) | Automations | ✘ なし | △ 実験的 |
| 長期・継続タスク実行 | △ Routinesで定期 | ✔ Goal mode 数日継続実行 |
✘ なし | △ 非同期 (Jules) |
| worktree / 隔離実行 | ✔ git worktree統合 | ✘ なし | ✘ なし | ✘ なし |
| マルチエージェント | ✔ Managed Agents SubagentStop Hook |
△ Goal mode内 | ✘ なし | ✔ Agent Manager |
| モデル選択肢 | Claudeシリーズのみ | ✔ カスタムプロバイダー Azure OpenAI等対応 |
✔ Bedrock経由 5種類のモデル |
Geminiシリーズのみ |
| 開発フロー | 自由記述 CLAUDE.mdで制御 |
自由記述 AGENTS.mdで制御 |
Spec-first 仕様書必須 |
自由記述 IDE統合型 |
| IDE統合 | VS Code / JetBrains | △ Web UI中心 | ✔ VS Code拡張 | ✔ Android Studio Project IDX |
| 前提インフラ・依存 | なし | なし | AWS / Bedrock | Google Cloud Firebase / Android |
✦ HookはAIエージェントの動作に介入する自動化ポイント。種類が多いほど細かい制御が可能。
| Hook名 / イベント | Claude Code | Codex | Kiro CLI | Antigravity |
|---|---|---|---|---|
| PreToolUse ツール実行直前 |
✔ GA 承認・ブロック・変数注入可 |
✔ GA 同等機能あり |
△ 実験的 将来追加予定 |
✘ なし |
| PostToolUse ツール実行直後 |
✔ GA 結果を加工・ログ記録 |
✔ GA 同等機能あり |
△ 実験的 | ✘ なし |
| Notification AI通知発生時 |
✔ GA 外部Slack等へ転送可 |
✔ GA | ✘ なし | ✘ なし |
| Stop エージェント停止時 |
✔ GA 停止理由を取得し後処理 |
✔ GA | ✘ なし | ✘ なし |
| SubagentStop 子エージェント停止時 |
✔ GA Managed Agents連携 |
△ 相当機能 | ✘ なし | ✘ なし |
| AgentStop / on_complete 全タスク完了時 |
✔ Stop Hookで代替 | ✔ GA | ✘ なし | ✘ なし |
※ Kiro CLI v0.3で実験的Hook追加。GAになれば表が変わります。Antigravityは公式ドキュメント未記載のため不明。
✦ 同じ「Hook設定」を4ツールで書き比べ。
// ~/.claude/settings.json { "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [{ "type": "command", "command": "echo 実行確認" }] } ], "Notification": [{ "hooks": [{ "type": "command", "command": "notify-send $CLAUDE_MESSAGE" }] }] }, "routines": [{ "schedule": "0 9 * * 1", "task": "毎週月曜9時に実行" }] }
# ~/.codex/config.toml [hooks] pre_tool_use = "scripts/pre_hook.sh" post_tool_use = "scripts/post_hook.sh" on_complete = "scripts/done.sh" [automations] schedule = "0 9 * * 1" webhook_url = "https://hooks.slack.com/..." [goal] timeout = "72h" enabled = true [provider] type = "azure" endpoint = "https://my-azure.openai.azure.com" model = "gpt-4o"
// .kiro/settings.json (プロジェクトルート) { "model": "anthropic.claude-3-7-sonnet", "provider": "bedrock", "region": "us-east-1", "hooks": [ // v0.3 実験的機能 { "event": "pre_tool_use", "command": "./scripts/approve.sh" } ] } // Steering Documents は別途 // .kiro/steering/product.md など
# antigravity.toml [model] provider = "google" name = "gemini-2.5-pro" model_context = 2000000 # 2Mトークン [agent_routing] jules_async = true idx_realtime = true handoff_api = "v1" [experimental] scheduling = true # Hookは未公開 / 公式ドキュメント未記載
✦ AIエージェントに「このプロジェクトはこう動いてほしい」と伝えるファイルの仕組み。
| 項目 | Claude Code | Codex | Kiro CLI | Antigravity |
|---|---|---|---|---|
| ファイル名 | CLAUDE.md | AGENTS.md | .kiro/steering/ *.md |
未確認 |
| 配置場所 | 任意の階層 親→子で継承 |
プロジェクトルート リポジトリ単位 |
.kiro/steering/ 複数ファイル分割可 |
不明 |
| 内容の自由度 | ✔ 自由形式Markdown 任意のルール記述可 |
✔ 自由形式Markdown | △ 要件→設計→タスク 3段階構造が推奨 |
不明 |
| 自動ロード | ✔ セッション開始時 | ✔ セッション開始時 | ✔ Spec-firstフロー で自動参照 |
不明 |
| 特徴・備考 | サブディレクトリの CLAUDE.mdも読み込み |
CLAUDE.mdと 互換した設計 |
仕様書なしでは 実行拒否するケースあり |
— |
| 機能 | Claude Code | Codex | Kiro CLI | Antigravity |
|---|---|---|---|---|
| 定期実行 | ✔ Routines (GA) cron式対応 |
✔ Automations cron + webhook |
✘ なし | △ 実験的 |
| 長期タスク継続 | △ Routinesで 分割実行 |
✔ Goal mode 72h+継続 |
✘ なし | △ Jules (非同期) |
| Webhook通知 | △ Notification Hook経由 |
✔ ネイティブ対応 config.tomlで指定 |
✘ なし | ✘ なし |
| 非同期実行モード | ✘ なし | ✔ Goal mode | ✘ なし | ✔ Jules |
✦ 「あなたのユースケース」ではなく「このツールが実装として得意なこと」で整理しています。