ADR-002: Package manager (monorepo)
Estado
Accepted — 2026-08-23
Contexto
Monorepo TypeScript: apps/api, apps/web, packages compartidos (tipos, UI, api-contract). Hace falta workspaces estrictos y lockfile único. Misma elección que IVPrior.
Decisión
pnpm como package manager. Turborepo para orquestar scripts (dev, lint, test, build).
Fachada humana/agente: Makefile (ADR-016). Los targets make install|check|local-up invocarán pnpm/turbo; no se inventan CLIs paralelas.
Alternativas
| Opción | Nota |
|---|---|
| pnpm | Elegida — store global, no phantom deps, workspaces |
| npm | Más lento / menos estricto en monorepos |
| yarn | Segundo ecosistema; no mezclar lockfiles |
| Nx | Disponible en el entorno; no se adopta para no divergir de IVPrior |
Consecuencias
Archivos: pnpm-workspace.yaml, pnpm-lock.yaml. Prohibido package-lock.json / yarn.lock.
Hasta Accepted: make doctor no debe invocar pnpm como gate de producto (sigue siendo opcional en el seed).