Pular para o conteúdo

ADR-0001 · Monorepo com pnpm e Turborepo

Status: aceito · Data: 2025-08 (registro retroativo em 2026-10)

A versão 1 tinha front-end e back-end separados (Next.js + Django REST). Tipos, validações e regras eram duplicados entre as linguagens, e uma mudança de contrato exigia dois PRs coordenados.

Um monorepo moldape-v2 com pnpm workspaces e Turborepo: apps/* para aplicações e packages/* e config/* para código e configuração compartilhados, tudo em TypeScript.

  • ➕ Tipos de domínio e o client do Prisma são compartilhados; um contrato muda em um só PR.
  • ➕ Cache de build do Turbo e comandos únicos (pnpm dev, pnpm build).
  • ➖ O build de um app depende do build dos pacotes (dependsOn: ["^build"]), então os builds ficam mais longos.
  • ➖ O hook de pre-commit roda o build completo, o que deixa o commit lento.
Desenvolvido e documentado por
Nós Tecnologia · Desenvolvimento Criativo