Diseño modular con contratos claros
Cada módulo debe exponer una API pequeña y tipada; todo lo demás debe permanecer interno.
Evita barrels indiscriminados que exportan todo: dificultan control de dependencias y aumentan acoplamiento.
Separa tipos públicos de tipos internos cuando construyas librerías reutilizables o capas compartidas.
Nombres de exportación consistentes facilitan navegación y refactor en repositorios multi-módulo.