ADR-054 — Lint and format

Architecture decision record — status: Accepted.

Source: docs/adr/ADR-054-lint-format.md

ADR-054: Lint and format

Estado

Accepted — 2026-08-23

Contexto

ADR-016 ya fija Makefile. Falta el toolchain JS compartido (IVPrior ADR-041). No hay apps/ aún: este ADR define el contrato del scaffold.

Decisión

  1. packages/eslint-config — ESLint 9 flat: base (TS + Prettier) y nestjs.
  2. Prettier compartido (mismo package).
  3. TypeScript: strict en api y web.
  4. make check = lint + format:check + typecheck + test (ADR-013, ADR-027).
  5. Husky pre-push (2026-08-28): scripts/pre-push-gate.shtypecheck + test solo si el push toca apps/ o packages/; docs/ops-only se salta. CI + make check siguen siendo la fuente de verdad.
  6. Editor format-on-save recomendado.
  7. No mezclar configs por feature. No disable masivo de lint.

lint-staged / pre-commit: amendment si el equipo lo pide.