Skip to content
Apothem
Referenz

Harness-Registry

The English page has changed since this translation was made. Read the English page.

Technische Registry-Referenz für die integrierten Apothem-Harness-Adapter.

Die Harness-Registry ist das Adapter-Inventar, das als Quelle der Wahrheit dient und von der CLI, der Dokumentation, den Fixture-Tests und der Validierung der Konventions-Pins verwendet wird. Die Laufzeitquelle ist src/apothem/lib/harness_registry.py; jede Zeile unten ist auf diese Registry, die adapterspezifische capabilities.yml und die STANDARD-CONVENTION-PIN.md jedes Adapters rückführbar.

Registry-Matrix

HarnessInstallationsnameGeltungsbereichFormatZieleMCPKonventions-Pin
Antigravityantigravityusermarkdown~/.gemini/GEMINI.md; ~/.gemini/antigravity-cli/plugins/apothem/discovery-pendingsrc/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md
Claude Codeclaude-codeuserjson~/.claude/settings.json; ~/.claude/CLAUDE.md; native agents, rules, skills, statuslines, output-styles; ~/.claude/.apothem/support/discovery-pendingsrc/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md
CodeBuddycodebuddyprojectmarkdown<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-pendingsrc/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md
Codexcodexusermarkdown~/.codex/AGENTS.md; hooks.json; hooks/; agents/*.toml; ~/.agents/skills/; ~/.config/apothem/discovery-pendingsrc/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md
Cursorcursorprojectmdc<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-pendingsrc/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md
Gemini CLIgemini-cliprojectmarkdown<project>/GEMINI.md; <project>/.gemini/{commands,skills,agents}/; <project>/.gemini/.apothem/support/discovery-pendingsrc/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md
GitHub Copilotgithub-copilotprojectmarkdown<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}/unsupportedsrc/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md
GLM (Z.ai)glmprojecttoml<project>/.apothem/providers/glm.tomlunsupportedsrc/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md
Hermeshermesuseryaml~/.hermes/config.yaml; ~/.hermes/.apothem/support/nativesrc/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md
Kimi Codekimi-codeprojectmarkdown<project>/AGENTS.md; <project>/.kimi-code/skills/; <project>/.kimi-code/agents/; <project>/.kimi-code/.apothem/support/discovery-pendingsrc/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md
Kirokiroprojectmarkdown<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-pendingsrc/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md
Open-Clawopen-clawuserjson~/.openclaw/openclaw.json; ~/.openclaw/.apothem/support/unsupportedsrc/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md
OpenCodeopencodeuserjson~/.config/opencode/opencode.json; native commands, skills, agents; ~/.config/opencode/.apothem/support/nativesrc/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md
Qwen Codeqwen-codeuserjson~/.qwen/settings.json; ~/.qwen/QWEN.md; native commands, skills, agents; ~/.qwen/.apothem/support/nativesrc/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md
Traetraeprojectmarkdown<project>/.trae/rules/apothem-rules.md; <project>/.trae/agents/; ~/.trae/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md
Windsurfwindsurfprojectmarkdown<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-pendingsrc/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md
Zedzedprojectmarkdown<project>/.rules; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md

Unterstützung der Payload-Kohorten

Die Statuswerte sind native, converted, support-tree, profile-projected, unsupported, not-applicable und discovery-pending.

Eine converted-Kohorte wird in das eigene Format des Harness umgeschrieben, und manche Quellfelder haben darin keinen Platz. Für jede konvertierte Kohorte aus Commands, Agenten oder Regeln trägt die capabilities.yml des Adapters eine conversion_losses-Map, die angibt, was mit jedem Frontmatter-Feld der Quelle geschieht:

WertBedeutung
native:<field>Der Harness liest es unter diesem Feld.
sidecar:<path>Es wird in eine separate Datei neben der konvertierten geschrieben, etwa agents/openai.yaml von Codex.
filenameDer Datei- oder Ordnername trägt es.
inlinedEs wandert in den Prompt- oder Body-Text.
ignoredEs bleibt in der Datei, aber der Harness liest es nicht.
droppedEs wird weggelassen.

Ein Test rendert jede konvertierte Datei und prüft die Maps gegen die Ausgabe.

HarnessNative oder konvertierte PayloadsPayloads im Unterstützungs-TeilbaumWarnungen: nicht unterstützt oder ausstehend
Antigravitykonvertierte Commands, Agenten und Regeln; native Skills, Subagenten-Dispatch, System-Prompt-TemplatesHooks, TemplatesStatuslines, Output-Styles; MCP- und Memory-Discovery ausstehend
Claude Codekonvertierte Commands; native Skills, Hooks, Agenten, Regeln, Statuslines, Output-Styles, Subagenten-DispatchTemplatesCLAUDE.md bleibt bis auf den einen Apothem-Block im Besitz des Operators; kein vom Adapter geschriebenes System-Prompt-Template; MCP-Discovery ausstehend
CodeBuddykonvertierte Commands und Agenten; native Skills, Hooks, Regeln, Subagenten-Dispatch, System-Prompt-TemplatesTemplatesStatuslines, Output-Styles; MCP-Discovery ausstehend
Codexkonvertierte Commands und Agenten; native Skills, Hooks, Subagenten-Dispatch, System-Prompt-TemplatesRegeln, TemplatesStatuslines, Output-Styles; MCP-Discovery ausstehend, weil Apothem config.toml nicht überschreibt
Cursorkonvertierte Commands und Agenten; native Skills, Hooks, Regeln, Subagenten-Dispatch, System-Prompt-TemplatesTemplatesStatuslines, Output-Styles, Memory; MCP-Discovery ausstehend
Gemini CLIkonvertierte Commands und Agenten; native Skills, Subagenten-Dispatch, System-Prompt-Templates, MemoryHooks, Regeln, TemplatesStatuslines, Output-Styles; MCP-Discovery ausstehend
GitHub Copilotkonvertierte Commands und Agenten; native Skills, Hooks, Regeln, Subagenten-Dispatch, System-Prompt-TemplatesTemplatesStatuslines, Output-Styles, MCP, Memory
GLM (Z.ai)keinekeineCommands, Skills, Hooks, Agenten, Regeln, Templates, Statuslines, Output-Styles, MCP, Subagenten-Dispatch, Tool-Einschränkungen, System-Prompt-Templates, Memory — GLM ist ein Modell-Backend ohne native Konfigurationsoberfläche
Hermeskonvertierte Commands; native System-Prompt-Templates, MCP, Subagenten-DispatchSkills, Hooks, Agenten, Regeln, TemplatesStatuslines, Output-Styles
Kimi Codekonvertierte Commands und Agenten; native Skills, Subagenten-Dispatch, System-Prompt-Templates, MemoryHooks, Regeln, TemplatesStatuslines, Output-Styles; Discovery für MCP und Tool-Einschränkungen ausstehend
Kirokonvertierte Commands und Agenten; native Skills, Hooks, Regeln, Subagenten-Dispatch, System-Prompt-TemplatesTemplatesStatuslines, Output-Styles; MCP-Discovery ausstehend
Open-Clawkonvertierte Commands; native System-Prompt-Templates, Subagenten-DispatchSkills, Hooks, Agenten, Regeln, TemplatesStatuslines, Output-Styles, MCP
OpenCodekonvertierte Commands und Agenten; native Skills, MCP, Subagenten-Dispatch, System-Prompt-TemplatesHooks, Regeln, TemplatesStatuslines, Output-Styles
Qwen Codekonvertierte Commands und Agenten; native Skills, Hooks, MCP, Subagenten-Dispatch, System-Prompt-TemplatesRegeln, TemplatesStatuslines, Output-Styles
Traekonvertierte Commands und Agenten; native Skills, Regeln, Subagenten-Dispatch, System-Prompt-TemplatesTemplatesHooks, Statuslines, Output-Styles, Memory; MCP-Discovery ausstehend
Windsurfkonvertierte Commands und Agenten; native Skills, Hooks, Regeln, Subagenten-Dispatch, System-Prompt-TemplatesTemplatesStatuslines, Output-Styles, Memory; MCP-Discovery ausstehend
Zedkonvertierte Commands; native Skills, Regeln, System-Prompt-TemplatesTemplatesHooks, Agenten, Statuslines, Output-Styles, Subagenten-Dispatch, Memory; MCP-Discovery ausstehend

Die Tabelle lässt die Zellen weg, die die Registry als not-applicable markiert: Tool-Einschränkungen bei jedem Harness außer Kimi Code (discovery-pending) und GLM (Z.ai) (unsupported) sowie Memory bei Claude Code, CodeBuddy, Codex, Hermes, Kiro, Open-Claw, OpenCode und Qwen Code.

Gemeinsame Wurzelverzeichnisse

Manche Installationsziele werden von anderen Harnesses geladen als von dem, der sie schreibt. Die Registry erfasst jeden solchen Pfad in SHARED_ROOTS mit einem registrierten Eigentümer (dem Adapter, für den der Vendor den Pfad dokumentiert), den Mitinstallierern, die dieselben Dateien dorthin schreiben, und den Lesern, deren Vendor-Dokumentation ihn standardmäßig lädt, dazu die Vendor-Seiten, die das belegen, und das Datum, an dem sie abgerufen wurden.

Ein Pfad mit Mitinstallierern ist ein Ordner auf Benutzerebene im Home-Verzeichnis, den mehrere Installationen mit denselben Bytes schreiben. Eine Maschine, auf der nur Cursor installiert ist, hat kein Codex, das ~/.agents/skills/ schreibt, daher schreibt jede Installation, die den Ordner nennt, ihn, und das Installations-Ledger zählt die Installationen, die ihn nutzen. Eigentümer laut Eintrag ist der registrierte Eigentümer, solange er den Ordner nutzt, und andernfalls die älteste Installation, die ihn nutzt; nichts wird verschoben, wenn der registrierte Eigentümer deinstalliert wird. Eine Deinstallation entfernt den Ordner nur, wenn keine andere Installation ihn noch nutzt (siehe uninstall). Die Installation eines Lesers legt keine Dateien in dem Ordner ab; die Installation des Eigentümers oder eines Mitinstallierers stellt Apothem-Inhalte jedem Leser bereit.

PfadEigentümerMitinstalliererLeser
~/.agents/skills/CodexCursor, GitHub Copilot, Windsurf, ZedGemini CLI, Kimi Code, Open-Claw, OpenCode, Qwen Code
~/.config/apothem/rules/CodexCodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zedkeine
~/.config/apothem/templates/CodexCodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zedkeine
~/.claude/skills/Claude CodekeineCursor, OpenCode
~/.claude/agents/Claude CodekeineCursor
~/.codex/agents/CodexkeineCursor
~/.claude/CLAUDE.mdClaude CodekeineOpenCode
<project>/AGENTS.mdKimi CodekeineAntigravity, CodeBuddy, Codex, Cursor, GitHub Copilot, Hermes, Kiro, OpenCode, Windsurf, Zed
<project>/GEMINI.mdGemini CLIkeineAntigravity, GitHub Copilot, Zed
~/.gemini/GEMINI.mdAntigravitykeineGemini CLI
<project>/.github/copilot-instructions.mdGitHub CopilotkeineZed

~/.config/apothem/rules/ und ~/.config/apothem/templates/ enthalten die Dateien, die Apothems eigene Skills und Anweisungsdateien zitieren. Kein anderes Werkzeug lädt sie, daher haben sie keine Leser und keine Vendor-Seiten. CodeBuddy, Kiro und Trae schreiben außerdem einen eigenen Skills-Ordner (~/.codebuddy/skills/, ~/.kiro/skills/ und ~/.trae/skills/); nur das jeweilige Werkzeug lädt ihn, daher ist er kein gemeinsames Wurzelverzeichnis.

Ein Leser wird nur dort aufgeführt, wo seine Vendor-Dokumentation ein standardmäßiges Laden genau dieses Pfads zeigt. Ein Leser ist an eine Bedingung geknüpft, und der Installationshinweis wiederholt sie: Open-Claw indiziert ~/.agents/skills/ nur unter seinem Standard-Zustandsverzeichnis (es überspringt den Ordner, wenn OPENCLAW_STATE_DIR woandershin zeigt). Die Cursor-Dokumentation führt ~/.codex/agents/ als Codex-Kompatibilitätsordner auf, sagt aber nicht, welche Dateiformate Cursor dort parst, und eine Codex-Installation schreibt TOML-Dateien, daher ist nicht bestätigt, ob Cursor diese Helfer liest. Die Cursor-Installation schreibt außerdem eine eigene Kopie der Helfer nach <project>/.cursor/agents/, die die Rangfolge des Vendors über die importierten Ordner stellt, sodass in einem installierten Projekt die native Kopie die aus ~/.claude/agents/ ablöst.

Manche Werkzeuge sind bewusst keine Leser von ~/.agents/skills/: Die Dokumentation von Antigravity, CodeBuddy, Kiro und Trae sagt nicht, dass sie ihn standardmäßig laden (Trae lädt den Projektordner .agents/skills/ erst, nachdem eine Einstellung aktiviert wurde), weshalb CodeBuddy, Kiro und Trae einen eigenen Skills-Ordner erhalten. Die Hermes-Dokumentation nennt ihn nur als Beispielwert für skills.external_dirs. GitHub Copilot ist kein Leser von ~/.claude/agents/: Die VS Code-Dokumentation führt diesen Ordner für den Anthropic-Claude-Agenten auf, nicht für den Agenten, den GitHub Copilot ausführt.

Der Apothem-Block, den ein Eigentümer in eine gemeinsame Anweisungsdatei schreibt, nennt kein einzelnes Werkzeug als seinen Leser. tests/unit/test_shared_roots.py schlägt fehl, wenn die Adapter, die ein Registry-Ziel schreiben, nicht genau sein Eigentümer und seine Mitinstallierer sind, und wenn ein Registry-Ziel, das wie eine werkzeugübergreifende Anweisungsdatei benannt ist (AGENTS.md, CLAUDE.md, GEMINI.md, copilot-instructions.md), keinen deklarierten Eigentümer hat. Die einzige Ausnahme ist ~/.codex/AGENTS.md; kein anderer registrierter Harness dokumentiert, dass er diese Datei lädt.

Validierungs-Hooks

Die Registry bleibt durch diese Prüfungen synchron:

PrüfungZweck
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DDBestätigt, dass jeder Adapter einen Konventions-Pin hat, der höchstens 90 Tage alt ist, mindestens eine Vendor-URL zitiert und kein überfälliges Discovery-Ziel hat. Die CI führt die Prüfung bei jedem Pull Request, wöchentlich und vor einem Release aus.
python scripts/dev/check_vendor_urls.pyRuft jede Vendor-URL ab, die die Pins und Harness-Templates zitieren, und schlägt bei einer verschobenen oder toten Seite fehl, einschließlich eines Hostnamens, der nicht mehr auflöst, oder eines Zertifikats, dessen Verifizierung fehlschlägt; ein Timeout, eine abgelehnte oder zurückgesetzte Verbindung oder ein 5xx-Serverfehler wird als nicht erreichbar gemeldet und lässt die Prüfung nicht fehlschlagen. Der wöchentliche Konventionsmonitor führt sie aus.
python -m apothem.conformity.gate --all .Führt die Konformitätsprüfungen für Dokumentation und Implementierung aus.
python -m pytestFührt die Registry-Fixture-Tests und die Adapter-Vertragstests aus.

Generierte Harness-Adapter-Referenz

HarnessScopeFormatTarget paths
Antigravity (antigravity)usermarkdown~/.gemini/GEMINI.md
~/.gemini/antigravity-cli/plugins/apothem/
Claude Code (claude-code)userjson~/.claude/.apothem/support/{templates,hooks,conformity,schemas}/
~/.claude/CLAUDE.md
~/.claude/settings.json
~/.claude/{agents,rules,skills,statuslines,output-styles}/
CodeBuddy (codebuddy)projectmarkdown<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)usermarkdown~/.agents/skills/
~/.codex/AGENTS.md
~/.codex/agents/*.toml
~/.codex/hooks.json
~/.codex/hooks/
~/.config/apothem/{rules,templates}/
Cursor (cursor)projectmdc<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)projectmarkdown<project>/.gemini/.apothem/support/
<project>/.gemini/{commands,skills,agents}/
<project>/GEMINI.md
GitHub Copilot (github-copilot)projectmarkdown<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)projecttoml<project>/.apothem/providers/glm.toml
Hermes (hermes)useryaml~/.hermes/.apothem/support/
~/.hermes/config.yaml
Kimi Code (kimi-code)projectmarkdown<project>/.kimi-code/.apothem/support/
<project>/.kimi-code/agents/
<project>/.kimi-code/skills/
<project>/AGENTS.md
Kiro (kiro)projectmarkdown<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)userjson~/.openclaw/.apothem/support/
~/.openclaw/openclaw.json
OpenCode (opencode)userjson~/.config/opencode/.apothem/support/
~/.config/opencode/opencode.json
~/.config/opencode/{commands,skills,agents}/
Qwen Code (qwen-code)userjson~/.qwen/.apothem/support/
~/.qwen/QWEN.md
~/.qwen/settings.json
~/.qwen/{commands,skills,agents}/
Trae (trae)projectmarkdown<project>/.trae/agents/
<project>/.trae/rules/apothem-rules.md
~/.config/apothem/{rules,templates}/
~/.trae/skills/
Windsurf (windsurf)projectmarkdown<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)projectmarkdown<project>/.rules
~/.agents/skills/
~/.config/apothem/{rules,templates}/

On this page