Repository navigation
technical documenter workflow
Documentação técnica da automação de pós-push para documentação técnica no app-community.
Cópia operacional no repositório (
docs/technical/github-actions/). A wiki do app-community é a fonte primária de leitura humana. A fonte canônica do papel vive emagents-mcp.
Registrar como o repositório abre ou prepara automaticamente a trilha de documentação técnica sempre que houver push em master ou staging.
O fluxo existe para evitar publicação sem rastreabilidade documental:
- se o commit já mencionar uma issue, a issue existente recebe a trilha
technical-documenter; - se o commit não mencionar issue fonte, o workflow cria uma issue documental dedicada;
- em ambos os casos a automação deixa instruções explícitas para o Copilot atuar como
technical-documenter.
| Módulo / superfície | Papel no fluxo |
|---|---|
ControleOnline/app-community |
Repositório dono do workflow .github/workflows/technical-documenter.yml
|
ControleOnline/agents-mcp |
Fonte canônica do papel technical-documenter e das skills obrigatórias |
ControleOnline/app-community/wiki |
Destino primário da documentação técnica publicada para humanos |
| GitHub Issues do próprio repositório | Fila operacional do fluxo documental |
Arquivo: .github/workflows/technical-documenter.yml
on:
push:
branches: [master, staging]O workflow roda em push para master e staging (diferente de alguns submódulos que disparam só em master).
push (master|staging)
-> checkout (fetch-depth: 0)
-> scan mensagens dos commits no range before..sha
-> encontrou referência #N ?
sim -> edita issue N (label agent:technical-documenter) + assign Copilot
não -> cria issue "docs: documentação técnica automática..." + assign Copilot
-> finalize labels
issue criada pelo workflow: agent:technical-documenter:done + qa:accepted + security:accepted
issue pré-existente: agent:technical-documenter:done (+ remove agent:technical-documenter)
-> comentário de evidência na issue
flowchart TD
A[Push em master ou staging] --> B[Checkout com histórico completo]
B --> C[Detectar referência de issue nas mensagens dos commits]
C -->|Encontrou issue| D[Adicionar label agent:technical-documenter]
C -->|Não encontrou issue| E[Criar issue documental com commit e mensagem]
D --> F[Assign Copilot com custom_instructions do papel]
E --> F
F --> G[Finalizar labels]
G -->|Issue criada pelo workflow| H[agent:technical-documenter:done + qa:accepted + security:accepted]
G -->|Issue pré-existente| I[agent:technical-documenter:done]
H --> J[Comentário de evidência]
I --> J
O job varre as mensagens do range github.event.before..github.sha (fallback: último commit) com o padrão:
([A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+)?#([0-9]+)
A primeira ocorrência define issue_number. Se nenhuma for encontrada, o workflow cria uma issue com título no formato:
docs: documentação técnica automática (push <branch> <sha curto>)
e corpo apontando o commit, a mensagem e a instrução canônica do papel technical-documenter.
Em ambos os caminhos (issue existente ou criada), o workflow:
- aplica
agent:technical-documenter(quando aplicável); - chama a API de assignees com
copilot-swe-agent[bot]eagent_assignmentcontendocustom_instructionsque obrigam a leitura de:https://raw.githubusercontent.com/ControleOnline/agents-mcp/master/agents/roles/technical-documenter/agent.md- skills referenciadas (wiki técnica como fonte primária);
- proíbe implementação de código de produto na passagem documental.
Worker composite relacionado (usado também pelo manager-worker): .github/actions/workers/technical-documenter/action.yml.
| Situação | Labels finais típicas |
|---|---|
| Issue criada pelo workflow |
agent:technical-documenter:done, qa:accepted, security:accepted
|
| Issue pré-existente referenciada no commit |
agent:technical-documenter:done (remove agent:technical-documenter) |
Regras de papel e fila documental: agents-mcp → agents/roles/technical-documenter/agent.md e agents/skills/shared/operations/issue-queue-discovery.md.
O Manager não deve reprocessar issues já marcadas com agent:technical-documenter:done (comentário de evidência deixa isso explícito nas issues criadas pelo workflow).
O diagrama operacional de deploys em docs/pushtrigger.md inclui este workflow nos ramos staging e master como automação de governança documental (não é deploy de runtime).
Checklist mínimo quando esse workflow mudar:
- validar se o
pushemmastere emstagingcontinua acionando o job; - conferir se commits com
#issuereaproveitam a issue correta; - conferir se commits sem referência criam a issue
docs: documentação técnica automática...; - revisar se as labels finais e o comentário esperado continuam sendo aplicados;
- confirmar se o texto de
custom_instructionsainda aponta para a fonte canônica emagents-mcp.
| Destino | URL |
|---|---|
| Wiki do app | https://github.com/ControleOnline/app-community/wiki |
| Fonte canônica do papel | https://github.com/ControleOnline/agents-mcp/blob/master/agents/roles/technical-documenter/agent.md |
| Workflow | .github/workflows/technical-documenter.yml |
| Worker composite | .github/actions/workers/technical-documenter/action.yml |
| PushTrigger (diagrama de deploys) | docs/pushtrigger.md |
| Issue de origem desta documentação | https://github.com/ControleOnline/app-community/issues/386 |
| PR legado (plano Copilot, supersedido) | https://github.com/ControleOnline/app-community/pull/387 |