Communitygithub.com

docmd — Habilidade para Agente (Desenvolvedor)

Um conjunto modular de habilidades para agentes de IA entenderem e trabalharem com projetos de documentação docmd.

O que é docmd — Habilidade para Agente (Desenvolvedor)?

Esta habilidade é projetada para agentes de IA que precisam modificar o framework docmd em si, não um site que o consome. Ela é carregada através do comando `npx docmd-skills dev <dir>` e adiciona a pasta `docmd-dev/` junto a uma instalação existente de `docmd-skills/`. A habilidade detecta automaticamente quando o usuário está trabalhando dentro do monorepo docmd (identificado por marcadores como `pnpm-lock.yaml` e pastas `packages/core/src/`), ou quando o usuário menciona explicitamente tarefas como escrever plugins, templates ou modificar o core. Caso nenhum clone do monorepo exista, o agente primeiro pergunta se o usuário deseja cloná-lo (`git clone https://github.com/docmd-io/docmd.git docmd`) ou atualizar um existente (`git -C docmd pull`), evitando edições no código fonte sem uma cópia local atualizada. A habilidade fornece referências detalhadas em quatro áreas principais: API Node pública para autores do framework, desenvolvimento de plugins, desenvolvimento de templates e mecanismos de engine (JS vs Rust). Ela também inclui fluxos de trabalho práticos para clonagem/atualização do repositório, escrita de plugins e templates, e trabalho com engines, garantindo que o agente siga as convenções e estrutura do monorepo corretamente. Importante: esta habilidade não deve ser usada para configuração de sites (use docmd-skills) ou para melhoria de prosa (use docmd-writer); ela é estritamente para modificações no framework.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add docmd-io/docmd-skills

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que docmd — Habilidade para Agente (Desenvolvedor) faz?

Use esta habilidade quando o usuário desejar modificar o framework docmd em si, e não um site que o consome. Esta habilidade é carregada por npx docmd-skills dev <dir> e adiciona docmd-dev/ junto a uma instalação existente de docmd-skills/.

Quando usar esta habilidade

Use-a quando qualquer um destes sinais for verdadeiro:

  1. O diretório de trabalho atual do usuário é um clone do monorepo docmd. O diretório do clone local é nomeado apenas docmd/ (o caminho no GitHub é docmd-io/docmd/). Marcadores típicos: pnpm-lock.yaml, packages/core/src/, packages/ui/src/, packages/api/src/, packages/plugins/<nome>/, packages/engines/. Para cloná-lo: git clone https://github.com/docmd-io/docmd.git docmd && cd docmd.
  2. O usuário diz explicitamente que quer "escrever um plugin", "escrever um template", "estender o engine", "modificar o core", "adicionar um hook" ou similar.
  3. O usuário está editando arquivos dentro de packages/core/src/, packages/api/src/, packages/ui/src/, packages/plugins/*/src/ ou packages/engines/*/ do monorepo docmd.

Se o usuário quer ajuda com o framework, mas não existe um clone docmd/ no diretório de trabalho, pergunte antes de fazer qualquer coisa: ele gostaria que você clonasse o monorepo (git clone https://github.com/docmd-io/docmd.git docmd) ou atualizasse um existente (git -C docmd pull)? Não comece a editar o código fonte do framework sem um clone local atualizado.

Não use para: configuração de site ou operações (use docmd-skills), ou para qualidade de prosa em páginas (use docmd-writer).

Regras de carregamento

  • Carregue esta habilidade apenas quando o usuário estiver ativamente trabalhando dentro do monorepo docmd ou perguntar explicitamente sobre componentes internos do framework.
  • Em caso de dúvida, prefira docmd-skills (usuário). Mudar para esta habilidade implica que o usuário está confortável em executar comandos pnpm contra o monorepo.

Índice de referências

Cada linha é um arquivo de referência. A coluna CLI mostra qual subcomando de instalação adiciona este arquivo.

ReferênciaSubcomando CLI de instalaçãoUse para
references/api-dev.mddocmd-skills devAPI Node pública para autores do framework: EngineLoader, utilitários de URL, createActionDispatcher, TemplateSlot, contratos de hook/action
references/plugin-development.mddocmd-skills devCriação de um plugin docmd: estrutura do pacote, manifesto, ciclo de vida apply(), capacidade template, hooks, teste
references/template-development.mddocmd-skills devCriação de um tema/template docmd: 12 slots de template, pipeline de assets, manifest.json, plugins de template
references/engines.mddocmd-skills devEngines de build JS vs Rust, troca de engines, configuração específica de engine, trade-offs de desempenho

Fluxos de trabalho

1. Clonando ou atualizando o monorepo

Ainda sem clone — clone e instale:

git clone https://github.com/docmd-io/docmd.git docmd
cd docmd
pnpm install

Clone existente — atualize e reinstale dependências se necessário:

git -C docmd pull
pnpm install

Para verificar se um clone está desatualizado antes de decidir, execute git -C docmd status (procure por "Your branch is behind") ou git -C docmd log -1 --oneline e compare com https://github.com/docmd-io/docmd/commits/main.

O diretório do clone local é docmd/ (não docmd-io/docmd/). Dentro dele você encontrará a estrutura de pacotes canônica referenciada ao longo desta habilidade.

2. Escrevendo um plugin

  1. Leia references/plugin-development.md do início ao fim antes de criar a estrutura.
  2. Escolha o plugin existente mais próximo em packages/plugins/<nome>/ e copie sua estrutura.
  3. Verifique references/api-dev.md para o tipo Plugin, nomes de hooks e a capacidade template introduzida na versão 0.8.7.
  4. Adicione testes no próprio diretório tests/ do plugin; o pnpm prep do monorepo executa o failsafe universal.

3. Escrevendo um template

  1. Leia references/template-development.md para os 12 slots de template e o pipeline de assets.
  2. Corresponda a estrutura do manifesto usada por um template existente (packages/templates/summer/ é a referência).
  3. Valide contra references/api-dev.md para a união TemplateSlot (não há slot header — existem 12).

4. Trabalho com engines

  1. references/engines.md primeiro — confirma qual engine você está segmentando e suas chaves de configuração.
  2. Para alterações no nível Node do carregador de engine, veja references/api-dev.md § "Engine Loader API".

Navegação entre habilidades

  • docmd-skills — para trabalho em nível de site; carregue como padrão primeiro.
  • docmd-writer — carregue quando a tarefa migrar para qualidade de prosa dentro de demos de template ou documentos de exemplo.

Habilidades Relacionadas