--- name: documentar-dominio-modulo scope: global updatedAt: "2026-10-14" description: > Guia para documentar o domínio científico/técnico de cada módulo nas wikis de usuário (//) e de desenvolvimento (/dev//). --- # Skill: Documentar Domínio de um Módulo Use esta skill ao iniciar um novo módulo SaaS ou ao perceber que o agente não conhece o vocabulário e as regras do domínio que o módulo aborda. Cada módulo opera em uma disciplina diferente da ciência/gestão operacional ou ambiental (licenciamento, efluentes, bombeamento, resíduos, projetos, atendimento, etc.). O repositório `` (configurado em `memorias-ia/modulo.yml`, com fallback padrão para `../wiki/`) é uma **aplicação VitePress**, onde a base factual do domínio é estruturada em dois níveis de acesso: 1. **Wiki do Usuário (`//`):** Aplicação VitePress com **acesso dos usuários e clientes** (linguagem funcional, conceitos, glossário, fluxos e manuais operacionais). 2. **Wiki de Desenvolvimento (`/dev//`):** Aplicação VitePress com **acesso interno exclusivo da equipe de desenvolvimento e arquitetura** (arquitetura técnica, diagramas, modelos de banco, regras de negócio e ADRs). --- ## PASSO 1 — Identificar a Identidade e Domínio do Módulo via `memorias-ia/modulo.yml` Consultar obrigatoriamente `/memorias-ia/modulo.yml` na raiz do projeto pai: - `modulo-id`: identificador canônico do módulo - `modulo-caminho`: rota base na URL - `modulo-descricao`: escopo funcional e propósito do módulo - `modulo-tipo`: stack tecnológica e arquitetura - `modulo-wiki`: caminho relativo ou absoluto para a Wiki (fallback: `../wiki/`) Os destinos canônicos da documentação na aplicação VitePress (``) são: - **Wiki do Usuário:** `//` - **Wiki de Desenvolvimento:** `/dev//` --- ## PASSO 2 — Criar Documentação na Wiki do Usuário (`//`) Estruturar o guia do usuário e conceitos de negócio em linguagem clara e acessível: ```markdown # [Nome do Módulo] — Guia do Usuário ## Visão Geral Breve descrição do propósito do módulo para o gestor e operador. ## Glossário do Domínio | Termo | Definição | Sigla | |---|---|---| | Ponto de Monitoramento | Local físico onde são coletadas amostras | PM | | Parâmetro Ambiental | Variável físico-química monitorada (ex: DBO, DQO) | — | ## Fluxos Operacionais do Usuário 1. Cadastro de entidades base. 2. Lançamento e acompanhamento de registros. 3. Emissão de relatórios e acompanhamento de conformidade. ``` ### Inclusão de Imagens, Diagramas e Manuais em PDF Para enriquecer a Wiki com capturas de tela ou manuais, envie os arquivos para o MinIO Paiol antes de incluí-los no Markdown: ```bash ./.agent/scripts/upload-paiol-wiki.sh ``` Utilize exclusivamente a URL pública gerada (`https://paiol.idz.one/wiki/...`) no Markdown. **Nunca comite arquivos binários no Git da Wiki.** --- ## PASSO 3 — Criar Documentação na Wiki de Desenvolvimento (`/dev//`) Estruturar a especificação técnica, modelos de banco e arquitetura: ```markdown # [Nome do Módulo] — Arquitetura e Engenharia ## Modelo de Dados e Entidades - **Tabelas principais:** `_entidade_a`, `_entidade_b`, `_parametros` - **Schemas Zod canônicos:** `zEntidadeCriar`, `zRegistroAtualizar` em `-comuns` ## Processamento Assíncrono e Filas (BullMQ) - **Fila `processar_agenda`:** Recalcula status e prazos operacionais. ## Rotas e Integração de IA - **Rota `/llm.md`:** Disponibiliza catálogo dinâmico de endpoints e contratos. ``` --- ## PASSO 4 — Conectar com Código e UI 1. Verificar se mensagens e labels na UI seguem o vocabulário definido (rule `mensagens-usuario`). 2. Verificar se componentes e modais possuem `{componente}.ajuda.md` co-localizado (skill `adicionar-ajuda`). 3. Garantir que funções centrais e serviços possuem comentários claros de aplicação (rule `jsdoc-padrao`). 4. Assegurar que regras com 3+ critérios possuam `.regras-negocio.md` na Wiki de Desenvolvimento (rule `regras-negocio-md`). --- ## Checklist Final - [ ] Documentação de usuário criada/atualizada em `//`? - [ ] Documentação técnica criada/atualizada em `/dev//`? - [ ] Glossário com os termos centrais do domínio documentado? - [ ] Regras e entidades técnicas alinhadas com os schemas Zod do `-comuns`? - [ ] Rota `/llm.md` no backend reflete o módulo? - [ ] Imagens, manuais e anexos hospedados no MinIO Paiol (sem binários no Git da Wiki)? --- ## Referências - Rule: `rules/ddd-documentacao-primeiro.md` - Rule: `rules/identidade-modulo.md` - Rule: `rules/jsdoc-padrao.md` - Rule: `rules/regras-negocio-md.md` - Skill: `skills/adicionar-ajuda/SKILL.md`