Ir para o conteúdo principal
Primeiro dia com o DOCOD Runtime

Instale. Leia o estado. Comece do ponto certo.

Esta página é o manual de operação. O argumento, a arquitetura e as garantias vivem na página do runtime.

Os nomes das actions pertencem à referência viva do runtime e podem evoluir entre versões. Esta página ensina as responsabilidades estáveis; a documentação técnica carrega o vocabulário exato de cada versão.

Duas opções, o mesmo runtime

Instale e leia o estado.

Opção 1 · instalação neutra de harness

git clone https://github.com/docod-ai/getdocod
./getdocod/install.sh /caminho/do/projeto

Depois:

node .docod/docod.mjs status

O runtime já consegue ler o projeto e derivar o estado sem depender de um adapter específico.

Opção 2 · Claude Code

/plugin marketplace add docod-ai/getdocod
/plugin install docod@docod
/docod:setup-docod

Depois:

/docod:start

O comando de início não presume que todo projeto começa do zero. Ele lê o estado atual e indica qual é a próxima entrada possível.

Requisito: Node 18 ou superior. O YAML vem vendorizado.

Duas portas. O mesmo método.

A entrada depende do que já está decidido.

Quando o investimento ainda precisa ser justificado

Business case → PRD → FRD → Design → Review → Tasks → Build → QA → Review

Quando a intenção do produto já está clara o suficiente

PRD → FRD → Design → Review → Tasks → Build → QA → Review

Designs especializados aparecem quando necessários: dados, APIs, segurança, infraestrutura, observabilidade.

ADRs, RFCs, trade-offs, impact analysis e counsel atravessam o ciclo. Eles entram quando existe uma decisão que precisa deles, não porque alguém chegou à etapa de ADR.

O runtime executa responsabilidades, não personas

Quatro palavras que você vai encontrar o tempo todo.

Agent
Um agent possui uma responsabilidade e entrega um artefato. Não é uma persona com um prompt elaborado: é um papel com contrato.
Action
Uma action é um verbo que aquele agente pode executar. Os nomes específicos podem evoluir entre versões; a responsabilidade que existe por trás deles é o que permanece.
Skill
Uma skill é uma prática reutilizável que vários agentes podem precisar. Não é documento e não é fase: é craft.
Adapter
Um adapter traduz o método para as capacidades de um harness. Num harness isso pode significar slash commands e subagents; outro pode materializar a mesma disciplina de outra forma.

O método permanece. O adapter muda.

Cada responsabilidade tem dono

Do design aprovado ao trabalho executável.

Quando o projeto chega ao ponto de construção, o runtime passa por responsabilidades especializadas.

rules-factory
Deriva as regras específicas daquele projeto a partir de decisões, design, configuração e código existente.
task-extraction
Transforma design aprovado em tarefas na ordem de construção, cada uma rastreável ao que precisa entregar.
task-executor
Implementa e coleta evidência dentro do escopo definido.
qa-executor
Verifica o comportamento contra o requisito, não contra a intenção declarada por quem escreveu o código.
code-review
Examina o diff contra a tarefa, o design e os padrões.
design-review
Faz o mesmo tipo de confronto uma fase antes, sobre o design.

Nenhuma delas recebe autoridade para declarar o processo inteiro correto.

O que cada um faz, e o que ele recusa fazer

Os comandos, e o limite de cada um.

Invocar um agente diretamente

/docod:run <agent> <action>

Quando você já sabe qual responsabilidade precisa ser exercida, chame o dono dela. O primeiro argumento é o agente; o segundo é o verbo que ele sabe executar.

Um exemplo aterrado:

/docod:run prd create_prd

Aciona o agente dono do PRD para criar o documento. O nome da action pertence à referência viva do runtime e pode evoluir; a responsabilidade por trás dela, não.

Uma tarefa. Um mandato.

/docod:loop <task>

Build → Verify → QA → Fix → Re-QA → Code review

Coordena uma única tarefa através do fluxo de construção e confirmação. Pode corrigir bugs encontrados dentro daquele mandato e, por padrão, segue até o code review.

O loop devolve controle quando:

  • existe uma pergunta para o usuário
  • a causa raiz está em um artefato upstream já aprovado
  • a mesma tarefa falhou repetidamente
  • uma dependência bloqueia a continuação
  • alguma decisão precisa de aprovação
  • a situação merece julgamento humano imediato

E há coisas que ele deliberadamente nunca faz:

não aprova, não faz deploy, não faz release, não executa um lote inteiro de tarefas, e não transforma insistência em evidência.

Retomar e fechar uma frente

Um projeto com várias frentes precisa de duas coisas que o estado sozinho não dá: voltar para uma delas e encerrar a que morreu.

/docod:continue <ws>

Retoma UMA frente: o estado dela e o próximo passo. Responde onde você parou e qual é o movimento seguinte.

/docod:ws list | done | abandon --reason <razão>

O ciclo de vida da frente: listar as que existem, registrar, encerrar e abandonar.

A razão é obrigatória ao abandonar, e isso não é burocracia: uma frente que some sem motivo registrado volta como pergunta seis meses depois.

Aprovação pertence a uma versão.

/docod:approve <file> --by <who>

Ao aprovar, o runtime sela aquela decisão contra o corpo do artefato: quem aprovou, quando, e o hash do conteúdo.

Edição → hash diferente → aprovação inválida.

Nenhum serviço precisa processar um evento para lembrar disso. A próxima derivação encontra a inconsistência.

Revalidando mudanças deliberadas

Quando as alterações são intencionais e vários artefatos precisam ser revalidados, o runtime tem o caminho de revalidação. Ele exige identidade, razão e escopo quando necessário, e mostra o plano antes de aplicar.

E se a origem de alguma relação for ambígua, ele para e diz que não consegue resolver. O runtime não escolhe uma interpretação apenas para conseguir continuar.

Verify

node .docod/docod.mjs verify <file>

O estado declarado por este artefato ainda é sustentado pelo que existe agora?

Ele pode falhar quando encontra, entre outras coisas:

  • frontmatter inválido
  • status fora do contrato
  • aprovação incompatível com o conteúdo
  • hash de input vencido
  • artefato não registrado
  • documento incompleto

E produz avisos para situações que merecem atenção sem necessariamente bloquear: hash em campo que não contém hash válido, hashes perdidos em prosa, âncoras frágeis, ADRs usados mas não declarados, cobertura incompleta no índice de tarefas e atribuições inconsistentes.

O objetivo não é produzir um check verde. É fazer o verde significar algo.

Status não mente.

/docod:status

Lê o estado derivado e mostra:

  • workstreams
  • estado declarado contra estado efetivo
  • avisos
  • perguntas externas abertas
  • ações possíveis
  • ações bloqueadas, e por que cada uma está bloqueada

Ele não mantém esse estado. Ele o calcula.

Report é outra visão da mesma verdade.

/docod:report

Produz um HTML estático, self-contained e offline. Sem servidor, sem CDN, sem tracking. Ele organiza artefatos, status declarado e efetivo, aprovações inválidas, relações vencidas, tarefas em cada estado, ações possíveis e bloqueadas, workstreams e o fluxo do projeto.

O report não é outro painel que precisa ficar sincronizado. Ele é uma projeção do mesmo estado derivado dos arquivos.

Pergunte ao projeto, não à memória do chat.

/docod:lead

O tech lead é o counsel residente do runtime. Ele lê o que o projeto realmente contém: decisões, documentos, código, workstreams, estado das tarefas, resultados de QA, inputs vencidos e perguntas abertas. Então devolve alternativas, custos, evidência relevante, recomendação e impacto.

Quando o conselho muda a direção do projeto, ele deixa uma entrada append-only no registro de counsel.

Mas a decisão continua humana. O tech lead não aprova, não invoca outros agentes por conta própria e não edita artefatos que pertencem a outro dono.

Você pode diagnosticar antes de adotar.

/docod:diagnose

Um sistema legado não precisa ser convertido inteiro antes que o runtime consiga ajudar. O modo diagnóstico faz um pre-read sem compromisso de adoção: observa o repositório e reconstrói apenas os artefatos aplicáveis.

Cada afirmação recebe proveniência:

evidence
observado diretamente, com referência à fonte
inferred
deduzido a partir do que foi encontrado
user-supplied
informação fornecida por alguém de fora do código

O diagnóstico também registra divergências entre uma afirmação e a realidade observada, riscos relevantes que a documentação não menciona, e questões que o repositório não consegue responder e precisam de um dono externo.

E nada disso vira aprovação: não cria pins, não cria gates, não congela baseline e não exige adoção.

Pre-read, not pre-approved.

Governe o que você vai mudar

O objetivo não é documentar anos de sistema antes de tocar a próxima feature.

O caminho recomendado é menor.

  1. Extraia as regras que o código já segue.
  2. Reconstrua o design da área que será alterada.
  3. Reconstrua modelo de dados ou contrato de API quando a mudança exigir.
  4. Faça o humano avaliar e aprovar esse baseline.
  5. Defina a feature ou workstream que será alterado.
  6. Extraia as tarefas.
  7. Construa e confirme.

A fronteira de adoção passa pela mudança real que você precisa fazer agora, não pela ambição de reconstruir o passado inteiro.

Alterações upstream têm consequências downstream

Quando uma decisão muda, o trabalho antigo não desaparece.

O runtime detecta mecanicamente o vencimento.

A análise do que deve mudar pertence à análise de impacto: ela identifica os consumidores afetados e delega cada correção ao dono daquele artefato.

Quando uma dependência é explicitamente dispensável, o caminho não é ignorá-la. É registrar a dispensa e sua razão.

Waiver é decisão registrada. Não silêncio.

Não depende de benchmark, case study nem de acreditar num slide

A demonstração mais importante cabe em quatro passos.

  1. Aprovar um artefato.
  2. Editar o conteúdo aprovado.
  3. Rodar verify.
  4. Ver a aprovação invalidar e o downstream re-bloquear.

Essa é a diferença entre documentação que diz que existe governança e um runtime que consegue mostrar quando ela deixou de existir.

A tabela que você vai consultar

Primeiro dia com DOCOD.

QueroUse
Começar/docod:start
Ver o estado/docod:status
Executar trabalho/docod:run <agent> <action>
Executar uma tarefa ponta a ponta/docod:loop <task>
Aprovar/docod:approve <file> --by <who>
Verificar um artefatonode .docod/docod.mjs verify <file>
Gerar relatório/docod:report
Diagnosticar legado/docod:diagnose
Consultar o tech lead/docod:lead

Os nomes das actions pertencem à referência viva do runtime e podem evoluir. Esta página ensina as responsabilidades estáveis.