--- type: workflow name: documentar-regras-negocio description: Criar ou atualizar o arquivo {modulo}.regras-negocio.md co-localizado com um módulo TypeScript e garantir consistência entre código e documentação scope: global updatedAt: "2026-06-01" --- # Workflow: Documentar Regras de Negócio de um Módulo Use este workflow com `/documentar-regras-negocio.global` para criar ou atualizar o arquivo `{modulo}.regras-negocio` de qualquer módulo TypeScript com lógica de negócio não-trivial. --- [1] Ler o módulo TypeScript completamente Identificar e anotar: - Nome do arquivo e localização exata - Funções exportadas e suas responsabilidades - Todos os `if` que representam critérios de decisão - Campos lidos e gravados (especialmente JSONB e campos de status) - Queries de banco: tabelas acessadas, filtros aplicados, joins - Caminhos alternativos (revisão manual, erros, skips) - Dependências externas (filas, e-mails, serviços) --- [2] Verificar se já existe um `.regras-negocio` ```bash ls $(dirname )/*.regras-negocio.md 2>/dev/null ``` - **Existe** → ler e identificar o que está desatualizado → ir para o passo [4] - **Não existe** → ir para o passo [3] --- [3] Criar o arquivo `.regras-negocio` Nomenclatura: `{nome-sem-_inicial}.regras-negocio` na mesma pasta do módulo. Preencher com o template da skill `documentar-regras-negocio.global`: - Contexto - Critérios de Entrada - Regras de Processamento (numeradas) - Casos de Revisão Manual - Estratégia de Saída / Fusão de Campos - Dependências Externas --- [4] Adicionar ou verificar a referência no `.ts` Garantir que a primeira linha útil do arquivo TypeScript seja: ```typescript // Regras de negócio: ver {modulo}.regras-negocio.md ``` Se já existia e está correto → sem mudança necessária. --- [5] Simplificar JSDoc que duplicam as regras Percorrer cada função do módulo: - JSDoc com lista de regras de negócio → substituir por referência ao `` - Manter apenas `@param` e `@returns` com informação técnica precisa - Comentários inline (`//`) explicando lógica pontual são aceitos → manter --- [6] Verificar consistência — código ↔ `` Para cada regra listada no ``: - [ ] Existe `if` correspondente no código - [ ] A ordem de avaliação bate entre `` e código - [ ] Campos com separador de concatenação batem entre `` e código - [ ] `null` como neutro está implementado corretamente (`!= null`) - [ ] Queries têm `orderBy` quando a posição dos resultados importa --- [7] Validar tipagem // turbo ```bash npx tsc --noEmit ``` Zero erros = concluído. --- [8] Registrar no sistema de conhecimento (se regras novas) Se o workflow revelou novos padrões de negócio relevantes ao projeto: - Criar ou atualizar ADR em `.agent/memoria/` via skill `documentar-decisao-tecnica` - Verificar se alguma rule precisa ser atualizada