ADR-0001 · Monorepo com pnpm e Turborepo
Status: aceito · Data: 2025-08 (registro retroativo em 2026-10)
Contexto
Seção intitulada “Contexto”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.
Decisão
Seção intitulada “Decisão”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.
Consequências
Seção intitulada “Consequências”- ➕ 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 porNós Tecnologia · Desenvolvimento Criativo

