Skip to content
Apothem
Référence

Registre des environnements

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

Référence technique du registre des adaptateurs d'environnement intégrés d'Apothem.

Le registre des environnements est l'inventaire des adaptateurs qui fait foi, utilisé par la CLI, la documentation, les tests de fixtures et la validation des épinglages de convention. La source d'exécution est src/apothem/lib/harness_registry.py ; chaque ligne ci-dessous est traçable jusqu'à ce registre, jusqu'au capabilities.yml propre à chaque adaptateur et jusqu'au STANDARD-CONVENTION-PIN.md de chaque adaptateur.

Matrice du registre

EnvironnementNom d'installationPortéeFormatCiblesMCPÉpinglage de convention
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 ; agents, rules, skills, statuslines, output-styles natifs ; ~/.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 ; commands, skills, agents natifs ; ~/.config/opencode/.apothem/support/nativesrc/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md
Qwen Codeqwen-codeuserjson~/.qwen/settings.json ; ~/.qwen/QWEN.md ; commands, skills, agents natifs ; ~/.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

Prise en charge des cohortes de charge utile

Les valeurs d'état sont native, converted, support-tree, profile-projected, unsupported, not-applicable et discovery-pending.

Une cohorte converted est réécrite dans le format propre à l'environnement, et certains champs source n'y ont pas leur place. Pour chaque cohorte convertie de commandes, d'agents ou de règles, le capabilities.yml de l'adaptateur porte un mappage conversion_losses qui indique ce qu'il advient de chaque champ de frontmatter source :

ValeurSignification
native:<field>L'environnement le lit sous ce champ.
sidecar:<path>Il est écrit dans un fichier distinct, à côté du fichier converti, tel que agents/openai.yaml de Codex.
filenameLe nom du fichier ou du dossier le porte.
inlinedIl passe dans le texte du prompt ou du corps.
ignoredIl reste dans le fichier, mais l'environnement ne le lit pas.
droppedIl est omis.

Un test rend chaque fichier converti et vérifie les mappages par rapport à la sortie.

EnvironnementCharges utiles natives ou convertiesCharges utiles en sous-arborescence de supportAvertissements non pris en charge ou en attente
Antigravitycommandes, agents et règles convertis ; skills, répartition de sous-agents et modèles de prompt système natifshooks, templatesbarres d'état, output-styles ; découverte de MCP et de mémoire en attente
Claude Codecommandes converties ; skills, hooks, agents, règles, barres d'état, output-styles et répartition de sous-agents natifstemplatesCLAUDE.md reste détenu par l'opérateur, à l'exception de l'unique bloc Apothem ; aucun modèle de prompt système écrit par l'adaptateur ; découverte de MCP en attente
CodeBuddycommandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifstemplatesbarres d'état, output-styles ; découverte de MCP en attente
Codexcommandes et agents convertis ; skills, hooks, répartition de sous-agents et modèles de prompt système natifsrègles, templatesbarres d'état, output-styles ; découverte de MCP en attente, car Apothem n'écrase pas config.toml
Cursorcommandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifstemplatesbarres d'état, output-styles, mémoire ; découverte de MCP en attente
Gemini CLIcommandes et agents convertis ; skills, répartition de sous-agents, modèles de prompt système et mémoire natifshooks, règles, templatesbarres d'état, output-styles ; découverte de MCP en attente
GitHub Copilotcommandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifstemplatesbarres d'état, output-styles, MCP, mémoire
GLM (Z.ai)aucuneaucunecommandes, skills, hooks, agents, règles, templates, barres d'état, output-styles, MCP, répartition de sous-agents, restrictions d'outils, modèles de prompt système, mémoire — GLM est un backend de modèle sans surface de configuration native
Hermescommandes converties ; modèles de prompt système, MCP et répartition de sous-agents natifsskills, hooks, agents, règles, templatesbarres d'état, output-styles
Kimi Codecommandes et agents convertis ; skills, répartition de sous-agents, modèles de prompt système et mémoire natifshooks, règles, templatesbarres d'état, output-styles ; découverte de MCP et des restrictions d'outils en attente
Kirocommandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifstemplatesbarres d'état, output-styles ; découverte de MCP en attente
Open-Clawcommandes converties ; modèles de prompt système et répartition de sous-agents natifsskills, hooks, agents, règles, templatesbarres d'état, output-styles, MCP
OpenCodecommandes et agents convertis ; skills, MCP, répartition de sous-agents et modèles de prompt système natifshooks, règles, templatesbarres d'état, output-styles
Qwen Codecommandes et agents convertis ; skills, hooks, MCP, répartition de sous-agents et modèles de prompt système natifsrègles, templatesbarres d'état, output-styles
Traecommandes et agents convertis ; skills, règles, répartition de sous-agents et modèles de prompt système natifstemplateshooks, barres d'état, output-styles, mémoire ; découverte de MCP en attente
Windsurfcommandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifstemplatesbarres d'état, output-styles, mémoire ; découverte de MCP en attente
Zedcommandes converties ; skills, règles et modèles de prompt système natifstemplateshooks, agents, barres d'état, output-styles, répartition de sous-agents, mémoire ; découverte de MCP en attente

Le tableau omet les cellules que le registre marque not-applicable : les restrictions d'outils sur chaque environnement sauf Kimi Code (discovery-pending) et GLM (Z.ai) (unsupported), et la mémoire sur Claude Code, CodeBuddy, Codex, Hermes, Kiro, Open-Claw, OpenCode et Qwen Code.

Racines partagées

Certaines cibles d'installation sont chargées par d'autres environnements que celui qui les écrit. Le registre consigne chacun de ces chemins dans SHARED_ROOTS avec un unique propriétaire enregistré (l'adaptateur pour lequel l'éditeur documente le chemin), les co-installateurs qui y écrivent les mêmes fichiers et les lecteurs dont la documentation éditeur le charge par défaut, ainsi que les pages de l'éditeur qui le montrent et la date à laquelle elles ont été récupérées.

Un chemin avec des co-installateurs est un dossier de niveau utilisateur dans le répertoire personnel que plusieurs installations écrivent avec les mêmes octets. Une machine sur laquelle seul Cursor est installé n'a pas de Codex pour écrire ~/.agents/skills/, de sorte que chaque installation qui nomme le dossier l'écrit, et le journal d'installation compte les installations qui l'utilisent. Le propriétaire de référence est le propriétaire enregistré tant qu'il utilise le dossier, et sinon la plus ancienne installation qui l'utilise ; rien ne bouge lorsque le propriétaire enregistré est désinstallé. Une désinstallation ne supprime le dossier que lorsqu'aucune autre installation ne l'utilise encore (voir uninstall). Installer un lecteur ne place aucun fichier dans le dossier ; installer le propriétaire ou un co-installateur place le contenu d'Apothem devant chaque lecteur.

CheminPropriétaireCo-installateursLecteurs
~/.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, Zedaucun
~/.config/apothem/templates/CodexCodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zedaucun
~/.claude/skills/Claude CodeaucunCursor, OpenCode
~/.claude/agents/Claude CodeaucunCursor
~/.codex/agents/CodexaucunCursor
~/.claude/CLAUDE.mdClaude CodeaucunOpenCode
<project>/AGENTS.mdKimi CodeaucunAntigravity, CodeBuddy, Codex, Cursor, GitHub Copilot, Hermes, Kiro, OpenCode, Windsurf, Zed
<project>/GEMINI.mdGemini CLIaucunAntigravity, GitHub Copilot, Zed
~/.gemini/GEMINI.mdAntigravityaucunGemini CLI
<project>/.github/copilot-instructions.mdGitHub CopilotaucunZed

~/.config/apothem/rules/ et ~/.config/apothem/templates/ contiennent les fichiers que citent les skills et les fichiers d'instructions propres à Apothem. Aucun autre outil ne les charge, ils n'ont donc ni lecteurs ni pages d'éditeur. CodeBuddy, Kiro et Trae écrivent aussi un dossier de skills qui leur est propre (~/.codebuddy/skills/, ~/.kiro/skills/ et ~/.trae/skills/) ; seul cet outil le charge, ce n'est donc pas une racine partagée.

Un lecteur n'est listé que là où sa documentation éditeur montre un chargement par défaut de ce chemin exact. Un lecteur est soumis à une condition, que la note d'installation répète : Open-Claw n'indexe ~/.agents/skills/ que sous son répertoire d'état par défaut (il ignore le dossier lorsque OPENCLAW_STATE_DIR pointe ailleurs). La documentation de Cursor liste ~/.codex/agents/ comme dossier de compatibilité Codex mais ne dit pas quels formats de fichier Cursor y analyse, et une installation Codex écrit des fichiers TOML, de sorte qu'il n'est pas confirmé que Cursor lise ces auxiliaires. L'installation Cursor écrit aussi sa propre copie <project>/.cursor/agents/ des auxiliaires, que l'ordre de priorité de l'éditeur place au-dessus des dossiers qu'il importe, de sorte que dans un projet installé, la copie native l'emporte sur celle issue de ~/.claude/agents/.

Certains outils ne sont délibérément pas lecteurs de ~/.agents/skills/ : la documentation d'Antigravity, de CodeBuddy, de Kiro et de Trae ne dit pas qu'ils le chargent par défaut (Trae ne charge le dossier .agents/skills/ du projet qu'après l'activation d'un réglage), ce qui explique pourquoi CodeBuddy, Kiro et Trae reçoivent un dossier de skills qui leur est propre. La documentation d'Hermes ne le nomme que comme valeur d'exemple pour skills.external_dirs. GitHub Copilot n'est pas lecteur de ~/.claude/agents/ : la documentation de VS Code liste ce dossier pour l'agent Claude d'Anthropic, pas pour l'agent qu'exécute GitHub Copilot.

Le bloc Apothem qu'un propriétaire écrit dans un fichier d'instructions partagé ne désigne aucun outil unique comme son lecteur. tests/unit/test_shared_roots.py échoue lorsque les adaptateurs qui écrivent une cible du registre ne sont pas exactement son propriétaire et ses co-installateurs, et lorsqu'une cible du registre nommée comme un fichier d'instructions inter-outils (AGENTS.md, CLAUDE.md, GEMINI.md, copilot-instructions.md) n'a aucun propriétaire déclaré. La seule exception est ~/.codex/AGENTS.md, dont aucun autre environnement enregistré ne documente le chargement.

Hooks de validation

Le registre reste synchronisé grâce à ces vérifications :

VérificationObjectif
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DDConfirme que chaque adaptateur possède un épinglage de convention qui date d'au plus 90 jours, cite au moins une URL d'éditeur et n'a aucune cible de découverte en retard. La CI l'exécute à chaque pull request, chaque semaine et avant une publication.
python scripts/dev/check_vendor_urls.pyRécupère chaque URL d'éditeur citée par les épinglages et les templates d'environnement, et échoue sur une page déplacée ou morte, y compris un nom d'hôte qui ne se résout plus ou un certificat dont la vérification échoue ; un dépassement de délai, une connexion refusée ou réinitialisée, ou une erreur serveur 5xx est signalé comme injoignable et ne le fait pas échouer. Le moniteur hebdomadaire des conventions l'exécute.
python -m apothem.conformity.gate --all .Exécute les vérifications de conformité de la documentation et de l'implémentation.
python -m pytestExécute les tests de fixtures du registre et les tests de contrat des adaptateurs.

Référence générée des adaptateurs d'environnement

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