Pular para o conteúdo

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.

  • 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.json raiz com scripts de orquestração; turbo.json com tasks build/lint/typecheck/ test/dev/start.
  • apps/docs com starlight-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 — sincroniza manifesto/manifesto/ e .specs/specs/, reescreve links relativos .md (inclusive cross-source) e injeta frontmatter title nas ADRs; ignora notes/ e pdf/. Roda antes de dev/build.
  • 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.yaml libera o build do Puppeteer (allowBuilds.puppeteer: true).
  • scripts/init-project.mjs (pnpm init) — remove o git do boilerplate, inicia um repositório novo (branch develop), conecta a um remoto e faz o commit inicial.
  • Wordmark textual “Manifesto” em web, docs e PDF (sem arquivo de imagem).
  • Azul de acento aplicado em PDFs e no site.
ValidaçãoResultado
sync-docs.mjs✓ manifesto + .specs sincronizados (notes/pdf ignorados)
astro build (apps/docs)✓ 38 páginas, índice de busca (Pagefind)
Estrutura do monorepoapps/*, packages/*, scripts/*

A geração de PDF requer Chromium (Puppeteer); rode pnpm adr:pdf 001-fundacao-boilerplate para materializar os PDFs em .specs/adr/001-fundacao-boilerplate/pdf/.

  • 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