ハーネスレジストリ
The English page has changed since this translation was made. Read the English page.
組み込みの Apothem ハーネスアダプターに関する技術的なレジストリリファレンス。
ハーネスレジストリは、CLI、ドキュメント、フィクスチャテスト、規約ピンの検証が使用する、
信頼できる情報源としてのアダプターインベントリです。ランタイムのソースは
src/apothem/lib/harness_registry.py であり、以下のすべての行は、そのレジストリ、
アダプターごとの capabilities.yml、そして各アダプターの
STANDARD-CONVENTION-PIN.md まで追跡できます。
レジストリマトリクス
| ハーネス | インストール名 | スコープ | フォーマット | ターゲット | MCP | 規約ピン |
|---|---|---|---|---|---|---|
| Antigravity | antigravity | user | markdown | ~/.gemini/GEMINI.md; ~/.gemini/antigravity-cli/plugins/apothem/ | discovery-pending | src/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md |
| Claude Code | claude-code | user | json | ~/.claude/settings.json; ~/.claude/CLAUDE.md; ネイティブの agents、rules、skills、statuslines、output-styles; ~/.claude/.apothem/support/ | discovery-pending | src/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md |
| CodeBuddy | codebuddy | project | markdown | <project>/.codebuddy/rules/apothem-rules.md; <project>/.codebuddy/agents/; <project>/.codebuddy/settings.local.json; <project>/.apothem/support/hooks/; ~/.codebuddy/skills/; ~/.config/apothem/{rules,templates}/ | discovery-pending | src/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md |
| Codex | codex | user | markdown | ~/.codex/AGENTS.md; hooks.json; hooks/; agents/*.toml; ~/.agents/skills/; ~/.config/apothem/ | discovery-pending | src/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md |
| Cursor | cursor | project | mdc | <project>/.cursor/rules/apothem-rules.mdc; <project>/.cursor/agents/; <project>/.cursor/hooks.json; <project>/.apothem/support/cursor/hooks/; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/ | discovery-pending | src/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md |
| Gemini CLI | gemini-cli | project | markdown | <project>/GEMINI.md; <project>/.gemini/{commands,skills,agents}/; <project>/.gemini/.apothem/support/ | discovery-pending | src/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md |
| GitHub Copilot | github-copilot | project | markdown | <project>/.github/copilot-instructions.md; <project>/.github/agents/; <project>/.github/hooks/apothem.json; <project>/.apothem/support/github-copilot/hooks/; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/ | unsupported | src/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md |
| GLM (Z.ai) | glm | project | toml | <project>/.apothem/providers/glm.toml | unsupported | src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md |
| Hermes | hermes | user | yaml | ~/.hermes/config.yaml; ~/.hermes/.apothem/support/ | native | src/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md |
| Kimi Code | kimi-code | project | markdown | <project>/AGENTS.md; <project>/.kimi-code/skills/; <project>/.kimi-code/agents/; <project>/.kimi-code/.apothem/support/ | discovery-pending | src/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md |
| Kiro | kiro | project | markdown | <project>/.kiro/steering/apothem-rules.md; <project>/.kiro/agents/; <project>/.kiro/hooks/apothem.json; <project>/.apothem/support/kiro/hooks/; ~/.kiro/skills/; ~/.config/apothem/{rules,templates}/ | discovery-pending | src/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md |
| Open-Claw | open-claw | user | json | ~/.openclaw/openclaw.json; ~/.openclaw/.apothem/support/ | unsupported | src/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md |
| OpenCode | opencode | user | json | ~/.config/opencode/opencode.json; ネイティブの commands、skills、agents; ~/.config/opencode/.apothem/support/ | native | src/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md |
| Qwen Code | qwen-code | user | json | ~/.qwen/settings.json; ~/.qwen/QWEN.md; ネイティブの commands、skills、agents; ~/.qwen/.apothem/support/ | native | src/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md |
| Trae | trae | project | markdown | <project>/.trae/rules/apothem-rules.md; <project>/.trae/agents/; ~/.trae/skills/; ~/.config/apothem/{rules,templates}/ | discovery-pending | src/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md |
| Windsurf | windsurf | project | markdown | <project>/.devin/rules/apothem-rules.md; <project>/.devin/agents/; <project>/.devin/config.local.json; <project>/.apothem/support/windsurf/hooks/; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/ | discovery-pending | src/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md |
| Zed | zed | project | markdown | <project>/.rules; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/ | discovery-pending | src/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md |
ペイロードコホートのサポート
ステータス値は native、converted、support-tree、
profile-projected、unsupported、not-applicable、
discovery-pending です。
converted のコホートはハーネス独自のフォーマットに書き換えられ、ソースのフィールドの一部は
そこに収まる場所がありません。変換されるコマンド、エージェント、ルールの各コホートについて、
アダプターの capabilities.yml は、ソースの各 frontmatter フィールドがどうなるかを示す
conversion_losses マップを持ちます。
| 値 | 意味 |
|---|---|
native:<field> | ハーネスはそのフィールドの下でそれを読み取ります。 |
sidecar:<path> | 変換後のファイルの隣にある別のファイルに書き込まれます。たとえば Codex の agents/openai.yaml です。 |
filename | ファイル名またはフォルダー名がそれを担います。 |
inlined | プロンプトまたは本文のテキストに移されます。 |
ignored | ファイルには残りますが、ハーネスはそれを読み取りません。 |
dropped | 除外されます。 |
テストが変換後のすべてのファイルをレンダリングし、マップを出力と照合します。
| ハーネス | ネイティブまたは変換済みのペイロード | サポートツリーのペイロード | 未サポートまたは保留中の警告 |
|---|---|---|---|
| Antigravity | 変換済みのコマンド、エージェント、ルール;ネイティブのスキル、サブエージェントのディスパッチ、システムプロンプトテンプレート | フック、テンプレート | ステータスライン、出力スタイル;MCP とメモリのディスカバリーは保留中 |
| Claude Code | 変換済みのコマンド;ネイティブのスキル、フック、エージェント、ルール、ステータスライン、出力スタイル、サブエージェントのディスパッチ | テンプレート | CLAUDE.md は 1 つの Apothem ブロックを除いて引き続きオペレーターの所有;アダプターが書き込むシステムプロンプトテンプレートはなし;MCP のディスカバリーは保留中 |
| CodeBuddy | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、ルール、サブエージェントのディスパッチ、システムプロンプトテンプレート | テンプレート | ステータスライン、出力スタイル;MCP のディスカバリーは保留中 |
| Codex | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、サブエージェントのディスパッチ、システムプロンプトテンプレート | ルール、テンプレート | ステータスライン、出力スタイル;Apothem は config.toml を上書きしないため、MCP のディスカバリーは保留中 |
| Cursor | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、ルール、サブエージェントのディスパッチ、システムプロンプトテンプレート | テンプレート | ステータスライン、出力スタイル、メモリ;MCP のディスカバリーは保留中 |
| Gemini CLI | 変換済みのコマンドとエージェント;ネイティブのスキル、サブエージェントのディスパッチ、システムプロンプトテンプレート、メモリ | フック、ルール、テンプレート | ステータスライン、出力スタイル;MCP のディスカバリーは保留中 |
| GitHub Copilot | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、ルール、サブエージェントのディスパッチ、システムプロンプトテンプレート | テンプレート | ステータスライン、出力スタイル、MCP、メモリ |
| GLM (Z.ai) | なし | なし | コマンド、スキル、フック、エージェント、ルール、テンプレート、ステータスライン、出力スタイル、MCP、サブエージェントのディスパッチ、ツール制限、システムプロンプトテンプレート、メモリ — GLM はネイティブな設定面を持たないモデルバックエンドです |
| Hermes | 変換済みのコマンド;ネイティブのシステムプロンプトテンプレート、MCP、サブエージェントのディスパッチ | スキル、フック、エージェント、ルール、テンプレート | ステータスライン、出力スタイル |
| Kimi Code | 変換済みのコマンドとエージェント;ネイティブのスキル、サブエージェントのディスパッチ、システムプロンプトテンプレート、メモリ | フック、ルール、テンプレート | ステータスライン、出力スタイル;MCP とツール制限のディスカバリーは保留中 |
| Kiro | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、ルール、サブエージェントのディスパッチ、システムプロンプトテンプレート | テンプレート | ステータスライン、出力スタイル;MCP のディスカバリーは保留中 |
| Open-Claw | 変換済みのコマンド;ネイティブのシステムプロンプトテンプレート、サブエージェントのディスパッチ | スキル、フック、エージェント、ルール、テンプレート | ステータスライン、出力スタイル、MCP |
| OpenCode | 変換済みのコマンドとエージェント;ネイティブのスキル、MCP、サブエージェントのディスパッチ、システムプロンプトテンプレート | フック、ルール、テンプレート | ステータスライン、出力スタイル |
| Qwen Code | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、MCP、サブエージェントのディスパッチ、システムプロンプトテンプレート | ルール、テンプレート | ステータスライン、出力スタイル |
| Trae | 変換済みのコマンドとエージェント;ネイティブのスキル、ルール、サブエージェントのディスパッチ、システムプロンプトテンプレート | テンプレート | フック、ステータスライン、出力スタイル、メモリ;MCP のディスカバリーは保留中 |
| Windsurf | 変換済みのコマンドとエージェント;ネイティブのスキル、フック、ルール、サブエージェントのディスパッチ、システムプロンプトテンプレート | テンプレート | ステータスライン、出力スタイル、メモリ;MCP のディスカバリーは保留中 |
| Zed | 変換済みのコマンド;ネイティブのスキル、ルール、システムプロンプトテンプレート | テンプレート | フック、エージェント、ステータスライン、出力スタイル、サブエージェントのディスパッチ、メモリ;MCP のディスカバリーは保留中 |
この表は、レジストリが not-applicable とするセルを省いています。それは、Kimi Code
(discovery-pending)と GLM (Z.ai)(unsupported)を除くすべてのハーネスのツール制限と、
Claude Code、CodeBuddy、Codex、Hermes、Kiro、Open-Claw、OpenCode、Qwen Code の
メモリです。
共有ルート
一部のインストールターゲットは、それを書き込むハーネス以外のハーネスによって読み込まれます。
レジストリは、そのような各パスを SHARED_ROOTS に記録します。記録には、1 つの登録済みオーナー
(ベンダーがそのパスを文書化している対象のアダプター)、同じファイルをそこに書き込む共同インストーラー、
ベンダーのドキュメントがデフォルトでそれを読み込むとしているリーダー、さらにそれを示すベンダーの
ページと、それらを取得した日付が含まれます。
共同インストーラーを持つパスは、複数のインストールが同じバイト列で書き込む、ホームディレクトリ内の
ユーザーレベルのフォルダーです。Cursor だけがインストールされたマシンには ~/.agents/skills/ を
書き込む Codex がないため、そのフォルダーを挙げる各インストールがそれを書き込み、インストール台帳が
そのフォルダーを使うインストールの数を数えます。記録上のオーナーは、登録済みオーナーがそのフォルダーを
使っている間はそのオーナーであり、そうでなければフォルダーを使うインストールのうち最も古いものです。
登録済みオーナーがアンインストールされても、何も移動しません。アンインストールがフォルダーを削除するのは、
それをまだ使っている他のインストールがない場合だけです(uninstall を参照)。
リーダーをインストールしてもフォルダーにファイルは置かれません。オーナーまたは共同インストーラーを
インストールすると、Apothem のコンテンツがすべてのリーダーの前に置かれます。
| パス | オーナー | 共同インストーラー | リーダー |
|---|---|---|---|
~/.agents/skills/ | Codex | Cursor、GitHub Copilot、Windsurf、Zed | Gemini CLI、Kimi Code、Open-Claw、OpenCode、Qwen Code |
~/.config/apothem/rules/ | Codex | CodeBuddy、Cursor、GitHub Copilot、Kiro、Trae、Windsurf、Zed | なし |
~/.config/apothem/templates/ | Codex | CodeBuddy、Cursor、GitHub Copilot、Kiro、Trae、Windsurf、Zed | なし |
~/.claude/skills/ | Claude Code | なし | Cursor、OpenCode |
~/.claude/agents/ | Claude Code | なし | Cursor |
~/.codex/agents/ | Codex | なし | Cursor |
~/.claude/CLAUDE.md | Claude Code | なし | OpenCode |
<project>/AGENTS.md | Kimi Code | なし | Antigravity、CodeBuddy、Codex、Cursor、GitHub Copilot、Hermes、Kiro、OpenCode、Windsurf、Zed |
<project>/GEMINI.md | Gemini CLI | なし | Antigravity、GitHub Copilot、Zed |
~/.gemini/GEMINI.md | Antigravity | なし | Gemini CLI |
<project>/.github/copilot-instructions.md | GitHub Copilot | なし | Zed |
~/.config/apothem/rules/ と ~/.config/apothem/templates/ は、Apothem 自身のスキルと命令ファイルが
引用するファイルを保持します。他のツールはこれらを読み込まないため、リーダーもベンダーのページも
ありません。CodeBuddy、Kiro、Trae は、それぞれ独自のスキルフォルダー(~/.codebuddy/skills/、
~/.kiro/skills/、~/.trae/skills/)も書き込みます。それを読み込むのはそのツールだけなので、
共有ルートではありません。
リーダーが列挙されるのは、そのベンダーのドキュメントがまさにそのパスのデフォルトでの読み込みを
示している場合だけです。1 つのリーダーには条件があり、インストールの注記がそれを繰り返します:
Open-Claw は、デフォルトの状態ディレクトリのもとでのみ ~/.agents/skills/ をインデックスします
(OPENCLAW_STATE_DIR が別の場所を指している場合はそのフォルダーをスキップします)。Cursor の
ドキュメントは ~/.codex/agents/ を Codex 互換フォルダーとして挙げていますが、Cursor がそこで
どのファイル形式を解析するかは述べておらず、Codex のインストールは TOML ファイルを書き込むため、
Cursor がそれらのヘルパーを読むかどうかは確認されていません。Cursor のインストールは、ヘルパーの
独自のコピーを <project>/.cursor/agents/ にも書き込み、ベンダーの優先順位ではそれがインポートする
フォルダーより上位に置かれるため、インストール済みのプロジェクトでは、ネイティブのコピーが
~/.claude/agents/ からのコピーに優先します。
一部のツールは、意図的に ~/.agents/skills/ のリーダーになっていません。Antigravity、CodeBuddy、
Kiro、Trae のドキュメントは、それをデフォルトで読み込むとは述べていません(Trae は、設定を
有効にした後でのみプロジェクトの .agents/skills/ フォルダーを読み込みます)。これが、CodeBuddy、
Kiro、Trae が独自のスキルフォルダーを持つ理由です。Hermes のドキュメントは、それを
skills.external_dirs の値の例としてのみ挙げています。GitHub Copilot は ~/.claude/agents/ の
リーダーではありません。VS Code のドキュメントはそのフォルダーを Anthropic の Claude エージェント向けに
挙げており、GitHub Copilot が実行するエージェント向けではありません。
オーナーが共有の命令ファイルに書き込む Apothem ブロックは、特定の 1 つのツールをリーダーとして
名指ししません。tests/unit/test_shared_roots.py は、レジストリターゲットを書き込むアダプターが
そのオーナーと共同インストーラーにちょうど一致しない場合、およびツール横断の命令ファイル(AGENTS.md、CLAUDE.md、
GEMINI.md、copilot-instructions.md)のような名前を持つレジストリターゲットに宣言された
オーナーがない場合に失敗します。唯一の例外は ~/.codex/AGENTS.md で、これを読み込むと
文書化している登録済みのハーネスは他にありません。
検証フック
レジストリは、次のチェックによって同期が保たれます。
| チェック | 目的 |
|---|---|
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DD | 各アダプターが、経過日数が 90 日以内の規約ピンを持ち、そのピンが少なくとも 1 つのベンダー URL を引用し、期限切れのディスカバリーターゲットを持たないことを確認します。CI は、すべてのプルリクエストで、毎週、そしてリリースの前にこれを実行します。 |
python scripts/dev/check_vendor_urls.py | ピンとハーネステンプレートが引用するすべてのベンダー URL を取得し、移動したページやリンク切れのページがあれば失敗します。これには、もはや名前解決できないホスト名や、検証に失敗する証明書も含まれます。タイムアウト、拒否またはリセットされた接続、5xx サーバーエラーは到達不能として報告され、失敗にはなりません。週次の規約モニターがこれを実行します。 |
python -m apothem.conformity.gate --all . | ドキュメントと実装のコンフォーミティチェックを実行します。 |
python -m pytest | レジストリのフィクスチャテストとアダプターの契約テストを実行します。 |
生成されたハーネスアダプターリファレンス
| Harness | Scope | Format | Target paths |
|---|---|---|---|
Antigravity (antigravity) | user | markdown | ~/.gemini/GEMINI.md~/.gemini/antigravity-cli/plugins/apothem/ |
Claude Code (claude-code) | user | json | ~/.claude/.apothem/support/{templates,hooks,conformity,schemas}/~/.claude/CLAUDE.md~/.claude/settings.json~/.claude/{agents,rules,skills,statuslines,output-styles}/ |
CodeBuddy (codebuddy) | project | markdown | <project>/.apothem/support/hooks/<project>/.codebuddy/agents/<project>/.codebuddy/rules/apothem-rules.md<project>/.codebuddy/settings.local.json~/.codebuddy/skills/~/.config/apothem/{rules,templates}/ |
Codex (codex) | user | markdown | ~/.agents/skills/~/.codex/AGENTS.md~/.codex/agents/*.toml~/.codex/hooks.json~/.codex/hooks/~/.config/apothem/{rules,templates}/ |
Cursor (cursor) | project | mdc | <project>/.apothem/support/cursor/hooks/<project>/.cursor/agents/<project>/.cursor/hooks.json<project>/.cursor/rules/apothem-rules.mdc~/.agents/skills/~/.config/apothem/{rules,templates}/ |
Gemini CLI (gemini-cli) | project | markdown | <project>/.gemini/.apothem/support/<project>/.gemini/{commands,skills,agents}/<project>/GEMINI.md |
GitHub Copilot (github-copilot) | project | markdown | <project>/.apothem/support/github-copilot/hooks/<project>/.github/agents/<project>/.github/copilot-instructions.md<project>/.github/hooks/apothem.json~/.agents/skills/~/.config/apothem/{rules,templates}/ |
GLM (Z.ai) (glm) | project | toml | <project>/.apothem/providers/glm.toml |
Hermes (hermes) | user | yaml | ~/.hermes/.apothem/support/~/.hermes/config.yaml |
Kimi Code (kimi-code) | project | markdown | <project>/.kimi-code/.apothem/support/<project>/.kimi-code/agents/<project>/.kimi-code/skills/<project>/AGENTS.md |
Kiro (kiro) | project | markdown | <project>/.apothem/support/kiro/hooks/<project>/.kiro/agents/<project>/.kiro/hooks/apothem.json<project>/.kiro/steering/apothem-rules.md~/.config/apothem/{rules,templates}/~/.kiro/skills/ |
Open-Claw (open-claw) | user | json | ~/.openclaw/.apothem/support/~/.openclaw/openclaw.json |
OpenCode (opencode) | user | json | ~/.config/opencode/.apothem/support/~/.config/opencode/opencode.json~/.config/opencode/{commands,skills,agents}/ |
Qwen Code (qwen-code) | user | json | ~/.qwen/.apothem/support/~/.qwen/QWEN.md~/.qwen/settings.json~/.qwen/{commands,skills,agents}/ |
Trae (trae) | project | markdown | <project>/.trae/agents/<project>/.trae/rules/apothem-rules.md~/.config/apothem/{rules,templates}/~/.trae/skills/ |
Windsurf (windsurf) | project | markdown | <project>/.apothem/support/windsurf/hooks/<project>/.devin/agents/<project>/.devin/config.local.json<project>/.devin/rules/apothem-rules.md~/.agents/skills/~/.config/apothem/{rules,templates}/ |
Zed (zed) | project | markdown | <project>/.rules~/.agents/skills/~/.config/apothem/{rules,templates}/ |