コンテンツにスキップ

プラットフォームガイド

Language: English | 日本語 Last updated: 2026-04-18 EN canonical: 2026-04-18 of wiki/en/Platform-Guide.md Audience: プラットフォーム移植者

このページはAphelionが各サポートプラットフォームにどのように適用されるか、ジェネレータースクリプトが何をするか、そしてAphelionを新しいプラットフォームに移植する方法を説明します。


Aphelionには1つの正規ソース(Claude Code)と2つの生成ターゲット(GitHub Copilot、OpenAI Codex)があります。正規ソースは.claude/に存在します。プラットフォーム固有ファイルはscripts/generate.mjsによって生成され、platforms/に保存されます。

プラットフォーム設定場所エントリーポイントマルチエージェントオーケストレーション
Claude Code.claude/agents/, .claude/rules/スラッシュコマンド(/discovery-flowフル(サブエージェント呼び出し)
GitHub Copilot.github/agents/IDE上のエージェントモードフル(Copilot経由のエージェント間)
OpenAI CodexAGENTS.md, skills/AGENTS.mdグローバル指示サポートなし

Claude Codeは権威あるプラットフォームです。全エージェント定義、ルール、オーケストレーターの動作はここで管理されます。他のプラットフォームはこのソースから生成されます。

ファイル構造:

.claude/
CLAUDE.md # ワークフロー概要(自動ロード)
orchestrator-rules.md # トリアージ、承認ゲート、ロールバックルール(オンデマンド読み込み)
agents/
discovery-flow.md # フローオーケストレーター
delivery-flow.md
operations-flow.md
interviewer.md # Discoveryドメインエージェント
researcher.md
... # (合計27エージェント)
rules/
agent-communication-protocol.md
build-verification-commands.md
... # (合計9ルール)
commands/
discovery-flow.md # スラッシュコマンド定義
delivery-flow.md
pm.md
...

スラッシュコマンド.claude/commands/で定義):

コマンド起動内容
/discovery-flow {説明}discovery-flowオーケストレーター
/delivery-flowdelivery-flowオーケストレーター
/pm {説明}delivery-flow(ショートハンド)
/operations-flowoperations-flowオーケストレーター
/analyst {issue}analystスタンドアロンエージェント
/codebase-analyzer {指示}codebase-analyzerスタンドアロンエージェント

セットアップ:

Terminal window
cp -r /path/to/aphelion-agents/.claude /path/to/your-project/
cd /path/to/your-project && claude

Copilotプラットフォームファイルはscripts/generate.mjsによってClaude Codeの正規エージェントから生成されます。platforms/copilot/に保存され、ユーザーはプロジェクトの.github/にコピーします。

ファイル構造(ユーザーのプロジェクト内):

.github/
copilot-instructions.md # グローバルワークフロー指示(.claude/CLAUDE.mdから)
orchestrator-rules.md # オーケストレーターエージェントにインライン化
agents/
discovery-flow.agent.md
delivery-flow.agent.md
... # (合計27エージェント)

Claude Codeとの主な違い:

側面Claude CodeGitHub Copilot
フロントマター形式---\nname: ...\ndescription: ...\ntools: Read, Write, Bash, ...---\nname: ...\ndescription: ...\ntools:\n - read\n - edit\n - execute\n - ...
ツール名Read, Write, Edit, Bash, Glob, Grepread, edit, execute, search
オーケストレータールール別ファイル(オンデマンド読み込み)各オーケストレーターエージェントファイルにインライン化
グローバル指示.claude/CLAUDE.md(自動ロード).github/copilot-instructions.md
モデル選択フロントマターで指定Copilot自身のモデル選択(省略)

ツール名マッピング(generate.mjsが適用):

Claude CodeCopilot
Readread
Writeedit
Editedit
Bashexecute
Globsearch
Grepsearch
Agentagent
WebSearch, WebFetchweb

セットアップ:

Terminal window
cp -r platforms/copilot/* /path/to/your-project/.github/

その後、VS Code、JetBrains、またはNeovimでGitHub Copilotのエージェントモードを使用します。エージェントは.github/agents/に配置されます。


Codexプラットフォームはグローバル指示として単一のAGENTS.mdファイルと個別のスキルファイルを使用します。scripts/generate.mjsによって生成されますが、重大な制限があります。

ファイル構造(ユーザーのプロジェクト内):

AGENTS.md # マージされたグローバル指示(全ルール + ワークフロー概要)
skills/
vuln-scan/
SKILL.md # 依存関係の脆弱性スキャン
secrets-scan/
SKILL.md # ハードコードされたシークレット検出

主な制限:

制限詳細
サブエージェントオーケストレーションなしCodexはエージェント内からエージェントを呼び出せません。マルチフェーズフローは利用不可。
32 KBサイズ制限AGENTS.mdは32 KBに制限されます。ジェネレーターは必要に応じて切り詰めます。
スキルのみvuln-scansecrets-scanのみ個別ユーティリティとして利用可能。
スラッシュコマンドなしエントリーはAGENTS.mdグローバル指示経由で、スラッシュコマンドではありません。

利用可能なスキル:

  • vuln-scan: パッケージファイルからプロジェクトの技術スタックを検出し、適切な脆弱性スキャナー(pip-audit、npm audit、govulncheck、cargo audit)を実行し、検出結果を報告します。
  • secrets-scan: ソースコード内のハードコードされたAPIキー、パスワード、トークン、接続文字列、AWSキー、秘密鍵、Bearerトークンをスキャンします。.envとテストフィクスチャは除外します。

セットアップ:

Terminal window
cp platforms/codex/AGENTS.md /path/to/your-project/
cp -r platforms/codex/skills/ /path/to/your-project/

マルチフェーズのフルオーケストレーションにはClaude CodeまたはGitHub Copilotを使用してください。


サンドボックスとパーミッションモード

Section titled “サンドボックスとパーミッションモード”

Aphelionエージェントはユーザーの代わりにBashツールを通じてシェルコマンドを実行します。サンドボックスシステムは、リスクのあるコマンドを分類し、実行前にプラットフォームネイティブのパーミッション制御を通じてルーティングする仕組みを提供します。

完全なポリシーリファレンスは.claude/rules/sandbox-policy.mdを参照してください。 実行エージェントについては.claude/agents/sandbox-runner.mdを参照してください。

プラットフォーム別サンドボックス機能比較

Section titled “プラットフォーム別サンドボックス機能比較”
機能Claude CodeGitHub CopilotOpenAI Codex
devcontainer によるコンテナ隔離あり(container モード — 最優先)あり(Docker利用可能な場合)なし
ネイティブパーミッションゲートあり(permission mode)一部(IDEの確認プロンプト)なし
Allow / Ask / Deny 3段階ありAsk のみなし
永続的な設定.claude/settings.jsonIDEの設定N/A
セッションローカルオーバーライド.claude/settings.local.jsonセッション単位N/A
sandbox-runner 統合自動挿入(Standard+)+ 明示委譲明示委譲のみAdvisoryのみ
推奨フォールバック実行前の手動レビュー実行前の手動レビュー

Aphelion はプラットフォームのパーミッションモードに加え、container 隔離モードをサポートします。.devcontainer/devcontainer.json が存在し Docker が利用可能な場合、sandbox-runner はパーミッションゲートに依存するのではなく、プロジェクトの devcontainer 内で高リスクコマンドを実行します。

container モードの主な特性:

  • 実体的な物理的隔離を提供 — コマンドは制限されたファイルシステムビューを持つ別コンテナプロセスで実行されます。
  • auto/allow モード時も有効 — Claude Code のパーミッションモードが通常はプロンプトなしでコマンドを実行する設定であっても、container モードは構造的な境界として機能します。
  • infra-builder は Light プラン以上で .devcontainer/devcontainer.jsondocker-compose.dev.yml を生成します。
  • ランタイム時に Docker が利用できない場合(Standard/Full プラン)、sandbox-runnerplatform_permission に緩やかにフォールバックし、AGENT_RESULTFALLBACK_REASON を記録します。

優先順位: container > platform_permission > advisory_only > blocked

完全なポリシーは .claude/rules/sandbox-policy.md §3–§5 を参照してください。 実行経路選択ロジックは .claude/agents/sandbox-runner.md §Workflow Step 2 を参照してください。

Claude Code パーミッションモード

Section titled “Claude Code パーミッションモード”

Claude CodeはBashコマンドに対して3段階のパーミッションレベルを提供します。

モード動作
allow確認なしで自動実行
ask実行前にユーザー確認のため一時停止
deny実行を完全に拒否

設定の永続化:

  • 永続的.claude/settings.jsonに保存(リポジトリにコミット可能でチーム共有可)
  • セッション / ローカル.claude/settings.local.jsonに保存(デフォルトでgitignore対象;個人または環境別オーバーライド用)

優先順位: セッションローカル設定が永続設定より優先されます。

sandbox-runner との関係: sandbox-runnerは有効なパーミッションモードを尊重します。Claude Codeのパーミッションシステムを置き換えたりバイパスしたりしません。Aphelionは.claude/settings.json.claude/settings.local.jsonを直接変更しません。ユーザーがこれらのファイルを自分で設定します。

推奨パーミッションプロファイル

Section titled “推奨パーミッションプロファイル”

以下のプロファイルは推奨事項です。環境に合わせて.claude/settings.jsonまたは.claude/settings.local.jsonで設定してください。

環境destructive_fsprod_dbexternal_netprivilege_escalationsecret_access備考
dev(開発者ローカル)askdenyaskaskaskrequiredカテゴリは確認が必要;外部ネットワークも確認
CIdenydenyallow(allowlist)denydeny既知のレジストリのみネットワーク許可;破壊的操作は全面拒否
near-productiondenydenydenydenydeny全面拒否;例外はhuman-in-the-loop必須
  1. トリアージが有効化レベルを決定 — Minimalプラン:advisory警告のみ。Light:明示委譲。Standard/Full:requiredティアコマンドの前にオーケストレーターがsandbox-runnerを自動挿入。
  2. sandbox-runner が再分類 — エージェントがrisk_hintを提供した場合でも、sandbox-runnersandbox-policy.mdに照らして独立して再分類します。
  3. プラットフォームモードを適用 — Claude Codeでは適切なパーミッションモードを呼び出します。Copilot/Codexでは警告を表示します。
  4. 監査証跡を返却sandbox-runnerAGENT_RESULTには実行が許可されたか拒否されたかに関わらず常にDETECTED_RISKSDECISIONが含まれます。

プラットフォームファイルの生成

Section titled “プラットフォームファイルの生成”

プラットフォームファイルはscripts/generate.mjsを使用してClaude Codeの正規ソースから生成されます。

使用方法:

Terminal window
# 全プラットフォームを生成
node scripts/generate.mjs
# Copilotのみ
node scripts/generate.mjs --platform copilot
# Codexのみ
node scripts/generate.mjs --platform codex
# 生成ファイルを削除
node scripts/generate.mjs --clean

各プラットフォームでジェネレーターが行うこと:

Copilotの場合:

  1. .claude/agents/{name}.mdファイルを読み込む
  2. YAMLフロントマターを変換(ツール名、modelフィールドを削除)
  3. オーケストレーターエージェント(discovery-flow、delivery-flow、operations-flow)にorchestrator-rules.mdの内容をインライン化
  4. platforms/copilot/agents/{name}.agent.mdに出力を書き込む
  5. .claude/CLAUDE.mdplatforms/copilot/copilot-instructions.mdにコピー

Codexの場合:

  1. .claude/CLAUDE.mdと全.claude/rules/*.mdファイルをAGENTS.mdにマージ
  2. orchestrator-rules.mdの全内容を追加
  3. 必要に応じて32 KBに切り詰める
  4. .claude/commands/vuln-scan.mdsecrets-scan.mdplatforms/codex/skills/フォーマットに変換

再実行のタイミング:

.claude/agents/.claude/rules/、または.claude/orchestrator-rules.mdが変更された場合はnode scripts/generate.mjsを実行してください。platforms/内のプラットフォームファイルは直接編集してはいけません — それらは生成された成果物です。


機能Claude CodeGitHub CopilotOpenAI Codex
フル3ドメインフローありありなし
Discoveryフローありありなし
Deliveryフローありありなし
Operationsフローありありなし
個別エージェント(スタンドアロン)ありあり一部(スキルのみ)
トリアージシステムありありなし
セッション再開(TASK.md)ありありなし
脆弱性スキャンあり(security-auditorあり(security-auditorあり(/vuln-scanスキル)
シークレットスキャンあり(security-auditorあり(security-auditorあり(/secrets-scanスキル)
スラッシュコマンドありエージェントモード経由なし

新しいプラットフォームへの移植

Section titled “新しいプラットフォームへの移植”

新しいAIコーディングプラットフォームのサポートを追加するには:

  1. プラットフォームのエージェントモデルを理解する: サブエージェントの呼び出しをサポートしているか?指示ファイルのフォーマットは何か?サイズ制限はあるか?

  2. scripts/generate.mjsにジェネレーター関数を追加する: generateCopilot()またはgenerateCodex()のパターンに従います。ジェネレーターは以下を行う必要があります:

    • .claude/agents/.claude/rules/から読み込む
    • プラットフォーム固有の変換を適用する(フロントマター、ツール名など)
    • platforms/{platform-name}/に書き込む
  3. platforms/{platform-name}/にプラットフォームディレクトリ構造を作成する。

  4. CLIサポートを追加する: generate.mjsの引数パーサーに--platform {name}を追加します。

  5. プラットフォームをドキュメント化する: このwikiページ(Platform-Guide)にClaude Code / Copilot / Codexのパターンに従って新しいセクションを追加します。

  6. 上記の機能マトリクスを更新する。

プラットフォームがサブエージェントオーケストレーションをサポートしていない場合、最低限Codexスキルパターンに合わせてvuln-scansecrets-scanのスキル/ユーティリティを実装してください。