Skip to content
Apothem
Referencia

Registro de entornos

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

Referencia técnica del registro de los adaptadores de entorno integrados de Apothem.

El registro de entornos es el inventario de adaptadores que sirve como fuente de verdad para la CLI, la documentación, las pruebas de fixtures y la validación de los anclajes de convención. La fuente en tiempo de ejecución es src/apothem/lib/harness_registry.py; cada fila de abajo es rastreable hasta ese registro, hasta el capabilities.yml de cada adaptador y hasta el STANDARD-CONVENTION-PIN.md de cada adaptador.

Matriz del registro

EntornoNombre de instalaciónAlcanceFormatoDestinosMCPAnclaje de convención
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 nativos; ~/.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 nativos; ~/.config/opencode/.apothem/support/nativesrc/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md
Qwen Codeqwen-codeuserjson~/.qwen/settings.json; ~/.qwen/QWEN.md; commands, skills, agents nativos; ~/.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

Soporte de cohortes de carga útil

Los valores de estado son native, converted, support-tree, profile-projected, unsupported, not-applicable y discovery-pending.

Una cohorte converted se reescribe en el formato propio del entorno, y algunos campos de origen no tienen cabida en él. Para cada cohorte convertida de comandos, agentes o reglas, el capabilities.yml del adaptador lleva un mapa conversion_losses que indica qué ocurre con cada campo de frontmatter de origen:

ValorSignificado
native:<field>El entorno lo lee bajo ese campo.
sidecar:<path>Se escribe en un archivo separado junto al convertido, como agents/openai.yaml de Codex.
filenameLo lleva el nombre del archivo o de la carpeta.
inlinedPasa al texto del prompt o del cuerpo.
ignoredPermanece en el archivo, pero el entorno no lo lee.
droppedSe omite.

Una prueba renderiza cada archivo convertido y comprueba los mapas contra la salida.

EntornoCargas útiles nativas o convertidasCargas útiles en el subárbol de soporteAdvertencias de no admitido o pendiente
Antigravitycomandos, agentes y reglas convertidos; skills, despacho de subagentes y plantillas de prompt de sistema nativoshooks, plantillaslíneas de estado, output-styles; descubrimiento de MCP y de memoria pendiente
Claude Codecomandos convertidos; skills, hooks, agentes, reglas, líneas de estado, output-styles y despacho de subagentes nativosplantillasCLAUDE.md sigue siendo propiedad del operador salvo por el único bloque de Apothem; ninguna plantilla de prompt de sistema escrita por el adaptador; descubrimiento de MCP pendiente
CodeBuddycomandos y agentes convertidos; skills, hooks, reglas, despacho de subagentes y plantillas de prompt de sistema nativosplantillaslíneas de estado, output-styles; descubrimiento de MCP pendiente
Codexcomandos y agentes convertidos; skills, hooks, despacho de subagentes y plantillas de prompt de sistema nativosreglas, plantillaslíneas de estado, output-styles; descubrimiento de MCP pendiente porque Apothem no sobrescribe config.toml
Cursorcomandos y agentes convertidos; skills, hooks, reglas, despacho de subagentes y plantillas de prompt de sistema nativosplantillaslíneas de estado, output-styles, memoria; descubrimiento de MCP pendiente
Gemini CLIcomandos y agentes convertidos; skills, despacho de subagentes, plantillas de prompt de sistema y memoria nativoshooks, reglas, plantillaslíneas de estado, output-styles; descubrimiento de MCP pendiente
GitHub Copilotcomandos y agentes convertidos; skills, hooks, reglas, despacho de subagentes y plantillas de prompt de sistema nativosplantillaslíneas de estado, output-styles, MCP, memoria
GLM (Z.ai)ningunaningunacomandos, skills, hooks, agentes, reglas, plantillas, líneas de estado, output-styles, MCP, despacho de subagentes, restricciones de herramientas, plantillas de prompt de sistema, memoria — GLM es un backend de modelo sin superficie de configuración nativa
Hermescomandos convertidos; plantillas de prompt de sistema, MCP y despacho de subagentes nativosskills, hooks, agentes, reglas, plantillaslíneas de estado, output-styles
Kimi Codecomandos y agentes convertidos; skills, despacho de subagentes, plantillas de prompt de sistema y memoria nativoshooks, reglas, plantillaslíneas de estado, output-styles; descubrimiento de MCP y de restricciones de herramientas pendiente
Kirocomandos y agentes convertidos; skills, hooks, reglas, despacho de subagentes y plantillas de prompt de sistema nativosplantillaslíneas de estado, output-styles; descubrimiento de MCP pendiente
Open-Clawcomandos convertidos; plantillas de prompt de sistema y despacho de subagentes nativosskills, hooks, agentes, reglas, plantillaslíneas de estado, output-styles, MCP
OpenCodecomandos y agentes convertidos; skills, MCP, despacho de subagentes y plantillas de prompt de sistema nativoshooks, reglas, plantillaslíneas de estado, output-styles
Qwen Codecomandos y agentes convertidos; skills, hooks, MCP, despacho de subagentes y plantillas de prompt de sistema nativosreglas, plantillaslíneas de estado, output-styles
Traecomandos y agentes convertidos; skills, reglas, despacho de subagentes y plantillas de prompt de sistema nativosplantillashooks, líneas de estado, output-styles, memoria; descubrimiento de MCP pendiente
Windsurfcomandos y agentes convertidos; skills, hooks, reglas, despacho de subagentes y plantillas de prompt de sistema nativosplantillaslíneas de estado, output-styles, memoria; descubrimiento de MCP pendiente
Zedcomandos convertidos; skills, reglas y plantillas de prompt de sistema nativosplantillashooks, agentes, líneas de estado, output-styles, despacho de subagentes, memoria; descubrimiento de MCP pendiente

La tabla omite las celdas que el registro marca como not-applicable: las restricciones de herramientas en todos los entornos excepto Kimi Code (discovery-pending) y GLM (Z.ai) (unsupported), y la memoria en Claude Code, CodeBuddy, Codex, Hermes, Kiro, Open-Claw, OpenCode y Qwen Code.

Raíces compartidas

Algunos destinos de instalación los cargan entornos distintos del que los escribe. El registro anota cada una de esas rutas en SHARED_ROOTS con un único propietario registrado (el adaptador para el que el proveedor documenta la ruta), los coinstaladores que escriben en ella los mismos archivos y los lectores cuya documentación de proveedor la carga por defecto, además de las páginas del proveedor que lo muestran y la fecha en que se consultaron.

Una ruta con coinstaladores es una carpeta de nivel de usuario en el directorio personal que varias instalaciones escriben con los mismos bytes. Una máquina con solo Cursor instalado no tiene ningún Codex que escriba ~/.agents/skills/, así que cada instalación que nombra la carpeta la escribe, y el registro de instalación cuenta las instalaciones que la usan. El propietario de referencia es el propietario registrado mientras use la carpeta y, si no, la instalación más antigua que la use; nada se mueve cuando se desinstala el propietario registrado. Una desinstalación elimina la carpeta solo cuando ninguna otra instalación la sigue usando (consulta uninstall). Instalar un lector no pone ningún archivo en la carpeta; instalar el propietario o un coinstalador pone el contenido de Apothem delante de cada lector.

RutaPropietarioCoinstaladoresLectores
~/.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, Zedninguno
~/.config/apothem/templates/CodexCodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zedninguno
~/.claude/skills/Claude CodeningunoCursor, OpenCode
~/.claude/agents/Claude CodeningunoCursor
~/.codex/agents/CodexningunoCursor
~/.claude/CLAUDE.mdClaude CodeningunoOpenCode
<project>/AGENTS.mdKimi CodeningunoAntigravity, CodeBuddy, Codex, Cursor, GitHub Copilot, Hermes, Kiro, OpenCode, Windsurf, Zed
<project>/GEMINI.mdGemini CLIningunoAntigravity, GitHub Copilot, Zed
~/.gemini/GEMINI.mdAntigravityningunoGemini CLI
<project>/.github/copilot-instructions.mdGitHub CopilotningunoZed

~/.config/apothem/rules/ y ~/.config/apothem/templates/ contienen los archivos que citan las propias skills y archivos de instrucciones de Apothem. Ninguna otra herramienta los carga, así que no tienen lectores ni páginas de proveedor. CodeBuddy, Kiro y Trae también escriben una carpeta de skills propia (~/.codebuddy/skills/, ~/.kiro/skills/ y ~/.trae/skills/); solo esa herramienta la carga, así que no es una raíz compartida.

Un lector solo figura donde la documentación de su proveedor muestra una carga por defecto de esa ruta exacta. Un lector lleva una condición, y la nota de instalación la repite: Open-Claw indexa ~/.agents/skills/ solo bajo su directorio de estado predeterminado (omite la carpeta cuando OPENCLAW_STATE_DIR apunta a otro lugar). La documentación de Cursor enumera ~/.codex/agents/ como carpeta de compatibilidad con Codex, pero no dice qué formatos de archivo analiza Cursor allí, y una instalación de Codex escribe archivos TOML, así que no está confirmado si Cursor lee esos asistentes. La instalación de Cursor también escribe su propia copia de los asistentes en <project>/.cursor/agents/, que la precedencia del proveedor sitúa por encima de las carpetas que importa, así que en un proyecto instalado la copia nativa sustituye a la de ~/.claude/agents/.

Algunas herramientas no son lectoras de ~/.agents/skills/ de forma deliberada: la documentación de Antigravity, CodeBuddy, Kiro y Trae no dice que la carguen por defecto (Trae carga la carpeta .agents/skills/ del proyecto solo después de activar un ajuste), y por eso CodeBuddy, Kiro y Trae reciben una carpeta de skills propia. La documentación de Hermes la nombra solo como valor de ejemplo de skills.external_dirs. GitHub Copilot no es lector de ~/.claude/agents/: la documentación de VS Code enumera esa carpeta para el agente Claude de Anthropic, no para el agente que ejecuta GitHub Copilot.

El bloque de Apothem que un propietario escribe en un archivo de instrucciones compartido no nombra ninguna herramienta concreta como su lectora. tests/unit/test_shared_roots.py falla cuando los adaptadores que escriben un destino del registro no son exactamente su propietario y sus coinstaladores, y cuando un destino del registro con nombre de archivo de instrucciones entre herramientas (AGENTS.md, CLAUDE.md, GEMINI.md, copilot-instructions.md) no tiene un propietario declarado. La única excepción es ~/.codex/AGENTS.md, cuya carga no documenta ningún otro entorno registrado.

Hooks de validación

El registro se mantiene sincronizado mediante estas comprobaciones:

ComprobaciónPropósito
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DDConfirma que cada adaptador tiene un anclaje de convención de 90 días de antigüedad como máximo, que cita al menos una URL del proveedor y que no tiene ningún destino de descubrimiento vencido. La CI lo ejecuta en cada pull request, cada semana y antes de un lanzamiento.
python scripts/dev/check_vendor_urls.pyDescarga cada URL de proveedor que citan los anclajes y las plantillas de los entornos, y falla ante una página movida o inexistente, incluido un nombre de host que ya no se resuelve o un certificado que no supera la verificación; un tiempo de espera agotado, una conexión rechazada o restablecida, o un error de servidor 5xx se informa como inaccesible y no lo hace fallar. El monitor semanal de convenciones lo ejecuta.
python -m apothem.conformity.gate --all .Ejecuta las comprobaciones de conformidad de la documentación y de la implementación.
python -m pytestEjercita las pruebas de fixtures del registro y las pruebas de contrato de los adaptadores.

Referencia generada de adaptadores de entorno

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