Introducción a Lynx
This content is not available in your language yet.
¡Bienvenido a la documentación de Lynx! Esta página te ofrece un panorama general sobre qué es Lynx, cómo está estructurado y cuáles son los beneficios de su arquitectura.
¿Qué es Lynx?
Sección titulada «¿Qué es Lynx?»Lynx es un monorepo moderno y altamente escalable, diseñado para acelerar el desarrollo de aplicaciones web, servicios backend y herramientas con IA. Al adoptar un enfoque de monorepo, Lynx asegura la coherencia en todo el ecosistema, facilitando el desarrollo y la evolución de productos complejos mediante el intercambio eficiente de código, herramientas de desarrollo, tipos estrictos y suite de testing preconfigurada.
Principios de Lynx
Sección titulada «Principios de Lynx»- Tipado estricto extremo a extremo
- Contexto para inteligencia artificial
- Experiencia de desarrollador de primera clase
- Testing de alto nivel
Estructura y Arquitectura
Sección titulada «Estructura y Arquitectura»El monorepo está construido sobre herramientas de vanguardia como turborepo (para la gestión eficiente de tareas de monorepo) y pnpm (para gestionar las dependencias de manera segura y eficiente).
La estructura de Lynx se divide principalmente en dos grandes bloques: Aplicaciones (apps/) y Paquetes (packages/).
1. Aplicaciones (apps/)
Sección titulada «1. Aplicaciones (apps/)»Aquí viven las aplicaciones destinadas a usuarios. Lynx incluye diversas aplicaciones optimizadas para diferentes casos de uso:
- Next.js (
apps/next): El portal frontend principal o aplicación web dinámica. Está desarrollado utilizando el App Router de Next.js (React 19), asegurando SSR, rendimiento óptimo y un diseño estructurado. - NestJS (
apps/nest): El backend principal del ecosistema. Construida sobre NestJS, se encarga de manejar la lógica de negocio robusta, la autenticación, las conexiones a las bases de datos de forma segura, y todas las integraciones con servicios externos. - Astro (
apps/astro): El portal de documentación técnica estática y rápida (este mismo sitio). Utiliza Astro y Starlight para proveer guías y documentación a todo el equipo.
2. Paquetes Compartidos (packages/)
Sección titulada «2. Paquetes Compartidos (packages/)»Los paquetes encapsulan lógica, componentes y configuraciones que son consumidos por una o más aplicaciones, promoviendo el enfoque DRY (Don’t Repeat Yourself). Algunos de los más importantes son:
@lynx/core: El núcleo de configuraciones y utilidades puras del ecosistema. Garantiza la consistencia en validaciones utilizando esquemas Zod.@lynx/ui: Un sistema de diseño completo y centralizado. Exporta componentes React consistentes y estilizados mediante Bulma (y CSS Modules). Se apoya de Storybook para el desarrollo de componentes reutilizables.@lynx/models: Gestiona los modelos de la base de datos (PostgreSQL), esquemas y migraciones utilizando Drizzle ORM. Centraliza la definición de los datos para que el backend y el frontend compartan los mismos tipos TypeScript y schemas de Zod.@lynx/auth: SDK para todo el flujo de autenticación, sesiones y control de acceso implementado con Better Auth.@lynx/mail: SDK de envío de correos y renderizado de plantillas de emails transaccionales construidos con React Email.@lynx/cli: CLI para inicializar entornos y manejar secretos.
Beneficios Clave del Monorepo Lynx
Sección titulada «Beneficios Clave del Monorepo Lynx»- Tipado Estricto (Type Safety): Al compartir los mismos modelos (
@lynx/models) y utilidades (@lynx/core), cualquier cambio en la base de datos o en la API backend es reflejado inmediatamente como un error de compilación TypeScript en el frontend si hay incompatibilidades, garantizando una integración perfecta. - Única Fuente de Verdad: Las configuraciones de TypeScript, ESLint (Oxlint), Vitest y Prettier (Oxfmt) son unificadas, garantizando los mismos estándares de calidad de código en cada rincón del proyecto.
- Reutilización Masiva de Código: En lugar de reescribir un componente de interfaz, este simplemente se importa de
@lynx/ui. En lugar de reimplementar la validación de un formulario, se extrae el esquema Zod de@lynx/models. - Desarrollo Ágil y Testing: Toda la infraestructura cuenta con Vitest y Playwright configurados. Turborepo permite ejecutar todas las pruebas y procesos de “build” del proyecto de manera paralela y cacheada, evitando tiempos de espera innecesarios.
Lynx no es solo una colección de aplicaciones, es una arquitectura pensada para escalar sistemas a nivel empresarial manteniendo la agilidad de desarrollo.