Constants

packages/constants/README.md

@repo/constants

Constantes globales del proyecto para mantener consistencia entre apps.

1. Funcion del package

  • Centralizar tokens visuales, rutas de assets y valores compartidos.
  • Evitar hardcodes duplicados en apps y packages.
  • Asegurar una sola fuente de verdad para branding y configuracion.

2. API publica actual

Se exporta desde src/index.ts:

  • logos: rutas relacionadas a assets de marca.
  • colors: paletas y tokens semanticos (APP_COLORS, APP_CONFIG_COLORS, etc).

3. Ejemplo de uso

ts
import { APP_CONFIG_COLORS, APP_BRAND_COLORS } from '@repo/constants';

const theme = {
  primary: APP_CONFIG_COLORS.brand.PRIMARY,
  forest500: APP_BRAND_COLORS.FOREST['500'],
};

4. Lineamientos de desarrollo

  1. No agregar constantes de uso local de una sola app.
  2. Usar nombres semanticos, no orientados a una pantalla puntual.
  3. Mantener estructura estable para evitar breaking changes.
  4. Si se cambia un token existente, documentar impacto.

5. Buenas practicas

  • Preferir objetos as const para preservar literales.
  • Agrupar por dominio (colors, logos, etc).
  • Exportar todo desde barrels por modulo y desde src/index.ts.

6. Como contribuir

  1. Crear o editar modulo en src/.
  2. Exportar desde el index.ts del modulo.
  3. Exportar modulo desde src/index.ts.
  4. Validar:
bash
pnpm lint --filter @repo/constants
pnpm build --filter @repo/constants
pnpm check-types --filter @repo/constants

7. Crear package nuevo basado en 01-base-package

Si las nuevas constantes pertenecen a un dominio independiente, crear un package nuevo desde la plantilla base y dejar @repo/constants para valores verdaderamente globales.