005 — Relatório Técnico · Fundação: Monorepo, Documentação e Pipeline de PDF
005 — Relatório Técnico · Fundação: Monorepo, Documentação e Pipeline de PDF
Seção intitulada “005 — Relatório Técnico · Fundação: Monorepo, Documentação e Pipeline de PDF”Entrega técnica da fundação. A stack da aplicação está na ADR 002.
O que foi construído
Seção intitulada “O que foi construído”Monorepo (Turborepo + pnpm)
Seção intitulada “Monorepo (Turborepo + pnpm)”apps/web— aplicação Next.js 16 (App Router) — base; o conteúdo da stack é a ADR 002.apps/docs— site de documentação (Astro Starlight, tema Astra).packages/ui,packages/eslint-config,packages/typescript-config— compartilhados.scripts/— geração de PDF e inicialização de projeto.package.jsonraiz com scripts de orquestração;turbo.jsoncom tasksbuild/lint/typecheck/ test/dev/start.
Documentação viva (Astro Starlight)
Seção intitulada “Documentação viva (Astro Starlight)”apps/docscomstarlight-theme-nova(tema Astra) e identidade visual (src/styles/custom.css); wordmark textual “Manifesto” como título (sem arquivo de logo).apps/docs/astro.config.mjs— sidebar com duas seções: Manifesto e Documentação viva (.specs).apps/docs/sync-docs.mjs— sincronizamanifesto/→manifesto/e.specs/→specs/, reescreve links relativos.md(inclusive cross-source) e injeta frontmattertitlenas ADRs; ignoranotes/epdf/. Roda antes dedev/build.
Pipeline de PDF (md-to-pdf / Puppeteer)
Seção intitulada “Pipeline de PDF (md-to-pdf / Puppeteer)”scripts/generate-tecnico.mjs(pnpm adr:pdf <slug>) — um PDF por arquivo da ADR + consolidado + resources; cabeçalho/rodapé com o wordmark textual, paginação, Mermaid, tipografia tight/loose.scripts/build-pdf.mjs(pnpm pdf) — PDF do manifesto inteiro com capa.pnpm-workspace.yamllibera o build do Puppeteer (allowBuilds.puppeteer: true).
Inicialização de projeto
Seção intitulada “Inicialização de projeto”scripts/init-project.mjs(pnpm init) — remove o git do boilerplate, inicia um repositório novo (branchdevelop), conecta a um remoto e faz o commit inicial.
Identidade visual
Seção intitulada “Identidade visual”- Wordmark textual “Manifesto” em web, docs e PDF (sem arquivo de imagem).
- Azul de acento aplicado em PDFs e no site.
Validações executadas
Seção intitulada “Validações executadas”| Validação | Resultado |
|---|---|
sync-docs.mjs | ✓ manifesto + .specs sincronizados (notes/pdf ignorados) |
astro build (apps/docs) | ✓ 38 páginas, índice de busca (Pagefind) |
| Estrutura do monorepo | ✓ apps/*, packages/*, scripts/* |
A geração de PDF requer Chromium (Puppeteer); rode
pnpm adr:pdf 001-fundacao-boilerplatepara materializar os PDFs em.specs/adr/001-fundacao-boilerplate/pdf/.
Arquivos tocados (principais)
Seção intitulada “Arquivos tocados (principais)”manifesto/**— identidade visual definida;docs/→.specs/; git suavizado..specs/**— ADR 001 (esta) + ADR 002 + exemplo + notes + readme.apps/docs/**— site Starlight (tema Astra) + sync.scripts/**,package.json,turbo.json,pnpm-workspace.yaml,docker-compose.yml.
Criado por Joseph Trupel