ADR-007: Frontend architecture patterns
Estado
Accepted — 2026-08-23
Contexto
Un único cliente web (panel finance + auth). ADR-011 pide organización por capacidad.
Decisión
- Feature-based bajo
apps/web/features/<capability>/. - Container / presentational (datos vs pintura).
- TanStack Query para server state; un API client compartido.
- Zod en la frontera de formularios y respuestas.
- Design system en
packages/ui(átomos); features no clonan chrome.
Features V1 alineadas a DOC-003: auth, customers, invoices, inbox, sequences, promises, disputes, tasks, dashboard, settings.
Alternativas
Agrupar solo por tipo técnico (components/, hooks/ globales) — se descarta; no escala ni es coherente con IVPrior.
Consecuencias
- Specs UX
S-xxxmapean 1:1 a features cuando sea posible. - Slices solo-API se nombran
*-api/*-skeleton(constitution UX).