¿Qué hace docmd — Habilidad para Agente (Desarrollador)?
Usa esta habilidad cuando el usuario quiera modificar el framework docmd en sí mismo, no un sitio que lo consuma. Esta habilidad se carga con npx docmd-skills dev <dir> y agrega docmd-dev/ junto a una instalación existente de docmd-skills/.
Cuándo usar esta habilidad
Úsala cuando cualquiera de estas señales sea verdadera:
- El directorio de trabajo actual del usuario es un clon del monorepo de docmd. El directorio local del clon se llama simplemente
docmd/(la ruta de GitHub esdocmd-io/docmd/). Indicadores típicos:pnpm-lock.yaml,packages/core/src/,packages/ui/src/,packages/api/src/,packages/plugins/<name>/,packages/engines/. Para clonarlo:git clone https://github.com/docmd-io/docmd.git docmd && cd docmd. - El usuario dice explícitamente que quiere "escribir un plugin", "escribir una plantilla", "extender el motor", "modificar el núcleo", "agregar un hook" o similar.
- El usuario está editando archivos dentro de
packages/core/src/,packages/api/src/,packages/ui/src/,packages/plugins/*/src/opackages/engines/*/del monorepo de docmd.
Si el usuario necesita ayuda con el framework pero no existe un clon de docmd/ en el directorio de trabajo, pregunta antes de hacer nada: ¿le gustaría clonar el monorepo (git clone https://github.com/docmd-io/docmd.git docmd) o actualizar uno existente (git -C docmd pull)? No empieces a editar el código fuente del framework sin un clon local actualizado.
No lo uses para: configuración u operaciones a nivel de sitio (usa docmd-skills), o para calidad de prosa en páginas (usa docmd-writer).
Reglas de carga
- Solo carga esta habilidad cuando el usuario esté trabajando activamente dentro del monorepo de docmd o pregunte explícitamente sobre los internos del framework.
- En caso de duda, usa por defecto docmd-skills (usuario). Cambiar a esta habilidad implica que el usuario se siente cómodo ejecutando comandos
pnpmcontra el monorepo.
Índice de referencias
Cada fila es un archivo de referencia. La columna CLI muestra qué subcomando de instalación agrega este archivo.
| Referencia | Subcomando CLI de instalación | Úsalo para |
|---|---|---|
references/api-dev.md | docmd-skills dev | API pública de Node para autores del framework: EngineLoader, utilidades de URL, createActionDispatcher, TemplateSlot, contratos de hooks/acciones |
references/plugin-development.md | docmd-skills dev | Crear un plugin de docmd: estructura del paquete, manifiesto, ciclo de vida apply(), capacidad de template, hooks, pruebas |
references/template-development.md | docmd-skills dev | Crear un tema/plantilla de docmd: 12 slots de plantilla, pipeline de assets, manifest.json, plugins de plantilla |
references/engines.md | docmd-skills dev | Motores de construcción JS vs Rust, intercambio de motores, configuración específica por motor, compensaciones de rendimiento |
Flujos de trabajo
1. Clonar o actualizar el monorepo
Sin clon todavía — clona e instala:
git clone https://github.com/docmd-io/docmd.git docmd
cd docmd
pnpm install
Clon existente — actualiza y reinstala dependencias si es necesario:
git -C docmd pull
pnpm install
Para verificar si un clon está desactualizado antes de decidir, ejecuta git -C docmd status (busca "Your branch is behind") o git -C docmd log -1 --oneline y compáralo con https://github.com/docmd-io/docmd/commits/main.
El directorio local del clon es docmd/ (no docmd-io/docmd/). Dentro encontrarás la estructura de paquetes canónica referenciada en toda esta habilidad.
2. Escribir un plugin
- Lee
references/plugin-development.mdde principio a fin antes de esbozar. - Elige el plugin existente más cercano en
packages/plugins/<name>/y copia su estructura. - Verifica en
references/api-dev.mdel tipoPlugin, los nombres de hooks y la capacidad detemplateintroducida en 0.8.7. - Agrega pruebas en el directorio
tests/del plugin; el comandopnpm prepdel monorepo ejecuta el sistema de seguridad universal.
3. Escribir una plantilla
- Lee
references/template-development.mdpara conocer los 12 slots de plantilla y el pipeline de assets. - Haz coincidir la estructura del manifiesto utilizada por una plantilla existente (
packages/templates/summer/es la referencia). - Valida contra
references/api-dev.mdpara la uniónTemplateSlot(no hay slotheader— hay 12).
4. Trabajo con motores
- Lee
references/engines.mdprimero — confirma a qué motor te diriges y sus claves de configuración. - Para cambios a nivel de Node en el cargador de motores, consulta
references/api-dev.md§ "API del Cargador de Motores".
Navegación entre habilidades
- docmd-skills — para trabajo a nivel de sitio; cárgala como predeterminada primero.
- docmd-writer — cárgala cuando la tarea derive en calidad de prosa dentro de demos de plantillas o documentos de ejemplo.