Convenções de código
Como manter o código e a documentação consistentes.
Estética
Minimalista e clean: monocromático com um único acento (emerald) sobre uma base stone (cinza levemente quente). Todos os tokens estão em app/globals.css — use as classes semânticas (bg-background, text-muted-foreground, border-border, text-foreground/70, bg-accent-soft) em vez de cores cruas. Números em tabelas: classe tabular.
O molde de documentação
Toda página de /docs herda a diagramação de components/docs/paper.tsx. Primitivos disponíveis: DocTopBar, Kicker, Section, Sub, Callout, Note, Pill, Table, DocFooter. A referência viva é Taxas & Pagamentos.
Criar um doc novo
Um paper conceitual novo:
- 1Crie
app/docs/<slug>/page.tsximportando os primitivos de@/components/docs/paper(server component, sem hooks). - 2Registre a entrada em
lib/docs.ts(no grupo certo) comstatusehref: "/docs/<slug>". - 3Pronto — aparece no índice /docs automaticamente.
Telas do sistema ≠ papersDocumentação de tela não vai aqui — vive noMAPA(components/app/mapa/dados.ts), a fonte única da verdade que alimenta /app/mapa e a seção “Áreas do sistema” do/docs. Ao criar uma área nova, atualize oMAPA+topnav.tsx+app-launcher.tsx.
Referências de arquivo
Em texto, referencie arquivos como caminho clicável a partir da raiz do workspace (ex.: web/app/docs/page.tsx) — facilita para quem revisa.