Arquitectura del Monorepo
Este artículo explica la arquitectura, el diseño conceptual y los motivos organizativos detrás de la estructura del monorepositorio de proyectos de negocio.
Estructura Física y Lógica
El monorepositorio IA_Proyectos está organizado físicamente en carpetas especializadas que facilitan la administración autónoma por parte de agentes de IA y desarrolladores:
IA_Proyectos/├── .agents/ # Reglas específicas del workspace de proyectos│ └── AGENTS.md # Sincronizado automáticamente desde IA_Configuracion├── apps/ # Subproyectos individuales (APIs, Web Apps, Simuladores)│ ├── api-administrador-comunidad-paradas/ # API modular para gestión de alquileres (FastAPI)│ ├── app-calendario-farmacia/ # Planificador de turnos de la farmacia 2026 (React)│ ├── documentacion-farmacia/ # Validador y portal de procedimientos de farmacia (Starlight)│ ├── workspace-skill-lab/ # Servidor MCP local para control de Google Workspace (Node/TS)│ └── business-plans/ # Suite integrada de simuladores financieros│ ├── app-bp-caravanas/ # Simulador para alquiler de caravanas│ ├── app-bp-comunidad-trasteros/ # Simulador para alquiler de trasteros│ ├── app-bp-velero/ # Planificador de costes y amortización de barcos│ ├── landing/ # Landing page unificada de acceso│ └── build-all.js # Script de compilación masiva de business plans├── dist/ # Catálogo web unificado compilado para producción├── docs/ # Documentos adicionales y archivos de soporte│ ├── _documentos/ # Esquemas y assets de diseño│ └── _plantillas/ # Plantillas HTML/CSS y layouts├── scripts/ # Scripts de orquestación de compilación y creación│ ├── build-portfolio.js # Genera el portafolio estático dinámico en dist/│ ├── create_project.ps1 # Automatiza la creación y registro de apps│ └── sincronizar-antigravity-manager.ps1 # Utilidad de sincronización├── projects.json # Inventario centralizado de proyectos activos└── package.json # Configuración básica de dependencias raíz¿Por qué un Monorepositorio?
El uso de esta estructura proporciona tres ventajas operativas clave:
- Coherencia en el Control de Versiones: Un único historial de Git unificado para todas las aplicaciones de negocio facilita comprender el impacto global de los cambios y simplifica la gestión del repositorio.
- Portafolio Centralizado: El catálogo centralizado en projects.json permite que scripts automáticos lee la metadata de cada aplicación y actualicen un portal estático unificado en
dist/que consolida todos los desarrollos. - Compartición de Estilos e Infraestructura: Facilita que proyectos similares (como la suite de Business Plans) adopten el mismo libro de estilo CSS de forma nativa sin duplicar archivos.
Relación con IA_Documentacion e IA_Configuracion
El ecosistema local está dividido conceptualmente para mantener responsabilidades limpias:
IA_Configuracion: Repositorio centralizado de configuración global. Almacena las skills y las reglas de comportamiento (globales y de proyecto) del agente de IA. Es la fuente de la verdad para las directrices.IA_Documentacion: Portal de documentación técnica unificado (este portal). Lee la información de skills y proyectos para mostrarla en una interfaz Astro Starlight amigable.IA_Proyectos: Almacena las aplicaciones construidas de negocio o utilidad final que se desarrollan en el ecosistema. Su archivo de reglas.agents/AGENTS.mdse actualiza de forma automática a partir de las plantillas deIA_Configuracion.
Flujo de Compilación y Portafolio
Cuando se crea o actualiza un proyecto en apps/:
- Se debe compilar la aplicación respectiva.
- Se actualiza el archivo central
projects.json. - Se ejecuta el script de compilación del catálogo:
Este script analiza la configuración de cada proyecto en
Terminal window node scripts/build-portfolio.jsprojects.jsone inyecta dinámicamente enlaces, títulos y descripciones en la landing corporativa general ubicada en la carpetadist/para producción.