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
| Environnement | Nom d'installation | Portée | Format | Cibles | MCP | Épinglage de convention |
|---|---|---|---|---|---|---|
| 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 natifs ; ~/.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 natifs ; ~/.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 natifs ; ~/.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 |
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 :
| Valeur | Signification |
|---|---|
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. |
filename | Le nom du fichier ou du dossier le porte. |
inlined | Il passe dans le texte du prompt ou du corps. |
ignored | Il reste dans le fichier, mais l'environnement ne le lit pas. |
dropped | Il est omis. |
Un test rend chaque fichier converti et vérifie les mappages par rapport à la sortie.
| Environnement | Charges utiles natives ou converties | Charges utiles en sous-arborescence de support | Avertissements non pris en charge ou en attente |
|---|---|---|---|
| Antigravity | commandes, agents et règles convertis ; skills, répartition de sous-agents et modèles de prompt système natifs | hooks, templates | barres d'état, output-styles ; découverte de MCP et de mémoire en attente |
| Claude Code | commandes converties ; skills, hooks, agents, règles, barres d'état, output-styles et répartition de sous-agents natifs | templates | CLAUDE.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 |
| CodeBuddy | commandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifs | templates | barres d'état, output-styles ; découverte de MCP en attente |
| Codex | commandes et agents convertis ; skills, hooks, répartition de sous-agents et modèles de prompt système natifs | règles, templates | barres d'état, output-styles ; découverte de MCP en attente, car Apothem n'écrase pas config.toml |
| Cursor | commandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifs | templates | barres d'état, output-styles, mémoire ; découverte de MCP en attente |
| Gemini CLI | commandes et agents convertis ; skills, répartition de sous-agents, modèles de prompt système et mémoire natifs | hooks, règles, templates | barres d'état, output-styles ; découverte de MCP en attente |
| GitHub Copilot | commandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifs | templates | barres d'état, output-styles, MCP, mémoire |
| GLM (Z.ai) | aucune | aucune | commandes, 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 |
| Hermes | commandes converties ; modèles de prompt système, MCP et répartition de sous-agents natifs | skills, hooks, agents, règles, templates | barres d'état, output-styles |
| Kimi Code | commandes et agents convertis ; skills, répartition de sous-agents, modèles de prompt système et mémoire natifs | hooks, règles, templates | barres d'état, output-styles ; découverte de MCP et des restrictions d'outils en attente |
| Kiro | commandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifs | templates | barres d'état, output-styles ; découverte de MCP en attente |
| Open-Claw | commandes converties ; modèles de prompt système et répartition de sous-agents natifs | skills, hooks, agents, règles, templates | barres d'état, output-styles, MCP |
| OpenCode | commandes et agents convertis ; skills, MCP, répartition de sous-agents et modèles de prompt système natifs | hooks, règles, templates | barres d'état, output-styles |
| Qwen Code | commandes et agents convertis ; skills, hooks, MCP, répartition de sous-agents et modèles de prompt système natifs | règles, templates | barres d'état, output-styles |
| Trae | commandes et agents convertis ; skills, règles, répartition de sous-agents et modèles de prompt système natifs | templates | hooks, barres d'état, output-styles, mémoire ; découverte de MCP en attente |
| Windsurf | commandes et agents convertis ; skills, hooks, règles, répartition de sous-agents et modèles de prompt système natifs | templates | barres d'état, output-styles, mémoire ; découverte de MCP en attente |
| Zed | commandes converties ; skills, règles et modèles de prompt système natifs | templates | hooks, 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.
| Chemin | Propriétaire | Co-installateurs | Lecteurs |
|---|---|---|---|
~/.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 | aucun |
~/.config/apothem/templates/ | Codex | CodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zed | aucun |
~/.claude/skills/ | Claude Code | aucun | Cursor, OpenCode |
~/.claude/agents/ | Claude Code | aucun | Cursor |
~/.codex/agents/ | Codex | aucun | Cursor |
~/.claude/CLAUDE.md | Claude Code | aucun | OpenCode |
<project>/AGENTS.md | Kimi Code | aucun | Antigravity, CodeBuddy, Codex, Cursor, GitHub Copilot, Hermes, Kiro, OpenCode, Windsurf, Zed |
<project>/GEMINI.md | Gemini CLI | aucun | Antigravity, GitHub Copilot, Zed |
~/.gemini/GEMINI.md | Antigravity | aucun | Gemini CLI |
<project>/.github/copilot-instructions.md | GitHub Copilot | aucun | Zed |
~/.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érification | Objectif |
|---|---|
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DD | Confirme 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.py | Ré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 pytest | Exé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
| 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}/ |
Champs du profil
Référence générée depuis la source pour chaque champ du schéma du profil partagé d'Apothem.
Règles
Règles comportementales toujours actives et filtrées par chemin régissant la résolution de problèmes, l'artisanat du code, l'architecture propre, la planification et la qualité à travers l'ensemble des règles comportementales.