diff --git a/orchestration/DEPENDENCY-GRAPH.yml b/orchestration/DEPENDENCY-GRAPH.yml new file mode 100644 index 00000000..43cda96f --- /dev/null +++ b/orchestration/DEPENDENCY-GRAPH.yml @@ -0,0 +1,189 @@ +# ═══════════════════════════════════════════════════════════════════════════════ +# DEPENDENCY-GRAPH.yml - Template SaaS +# ═══════════════════════════════════════════════════════════════════════════════ +# +# Sistema: SIMCO v4.3.0 + NEXUS v4.0 +# Propósito: Grafo de dependencias del proyecto +# Fecha: 2026-01-24 +# +# ═══════════════════════════════════════════════════════════════════════════════ + +version: "1.0.0" +proyecto: "template-saas" +tipo: "PROVIDER" +fecha_actualizacion: "2026-01-24" + +# ───────────────────────────────────────────────────────────────────────────── +# DEPENDENCIAS ENTRANTES (De quién depende este proyecto) +# ───────────────────────────────────────────────────────────────────────────── + +depende_de: + workspace: + - ruta: "orchestration/directivas/simco/" + tipo: "directivas" + descripcion: "Directivas SIMCO del workspace" + + - ruta: "shared/catalog/" + tipo: "codigo" + descripcion: "Catálogo de funcionalidades compartidas" + + externos: + - nombre: "PostgreSQL" + version: "15+" + tipo: "database" + + - nombre: "Redis" + version: "7+" + tipo: "cache" + + - nombre: "Node.js" + version: "20+" + tipo: "runtime" + +# ───────────────────────────────────────────────────────────────────────────── +# DEPENDENCIAS SALIENTES (Quién depende de este proyecto) +# ───────────────────────────────────────────────────────────────────────────── + +consumidores: + intermediate: + - proyecto: "erp-core" + tipo: "INTERMEDIATE" + hereda: + - "arquitectura multi-tenant" + - "patrones de API" + - "estructura de frontend" + - "esquema de auth" + sla_propagacion: "72h" + + standalone: + - proyecto: "gamilit" + tipo: "STANDALONE" + hereda: + - "arquitectura base" + - "patrones de auth" + sla_propagacion: "1 semana" + + - proyecto: "michangarrito" + tipo: "STANDALONE" + hereda: + - "arquitectura base" + sla_propagacion: "1 semana" + + - proyecto: "trading-platform" + tipo: "STANDALONE" + hereda: + - "arquitectura base" + - "patrones de API" + sla_propagacion: "1 semana" + +# ───────────────────────────────────────────────────────────────────────────── +# DEPENDENCIAS INTERNAS (Entre módulos del proyecto) +# ───────────────────────────────────────────────────────────────────────────── + +dependencias_internas: + backend: + auth: + depende_de: + - "users" + - "common" + - "config" + consumidores: + - "todos los módulos" + + users: + depende_de: + - "companies" + - "common" + consumidores: + - "auth" + + companies: + depende_de: + - "common" + consumidores: + - "users" + - "todos los módulos con tenant" + + frontend: + auth: + depende_de: + - "common" + - "hooks" + consumidores: + - "layout" + - "routes" + + dashboard: + depende_de: + - "auth" + - "layout" + - "common" + +# ───────────────────────────────────────────────────────────────────────────── +# GRAFO VISUAL +# ───────────────────────────────────────────────────────────────────────────── + +grafo_visual: | + workspace-v2/orchestration/ + │ + ▼ + ┌─────────────────────────────────────────────────┐ + │ template-saas (PROVIDER) │ + │ │ + │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ + │ │ auth │◄─┤ users │◄─┤companies │ │ + │ └────┬─────┘ └──────────┘ └──────────┘ │ + │ │ │ + │ ▼ │ + │ [APIs exportadas] │ + └─────────────────────────────────────────────────┘ + │ + ├───────────────────────────────────────┐ + │ │ + ▼ ▼ + ┌─────────────────────┐ ┌─────────────────┐ + │ erp-core │ │ gamilit │ + │ (INTERMEDIATE) │ │ (STANDALONE) │ + │ │ └─────────────────┘ + │ │ │ + │ ▼ │ + │ [5 verticales ERP] │ + └─────────────────────┘ + +# ───────────────────────────────────────────────────────────────────────────── +# IMPACTO DE CAMBIOS +# ───────────────────────────────────────────────────────────────────────────── + +impacto_cambios: + alto: + - modulo: "auth" + razon: "Todos los proyectos dependen del sistema de autenticación" + accion: "Notificar a TODOS los consumidores antes de cambio" + + - modulo: "database/core-schema" + razon: "Esquema base heredado por todos" + accion: "Migración coordinada requerida" + + medio: + - modulo: "users" + razon: "Afecta gestión de usuarios en consumidores" + accion: "Propagación según SLA" + + - modulo: "companies" + razon: "Afecta multi-tenancy" + accion: "Propagación según SLA" + + bajo: + - modulo: "common" + razon: "Utilidades genéricas" + accion: "Propagación normal" + +# ───────────────────────────────────────────────────────────────────────────── +# NOTAS +# ───────────────────────────────────────────────────────────────────────────── + +notas: + - "Como PROVIDER, cualquier cambio breaking requiere coordinación" + - "Mantener retrocompatibilidad en APIs públicas" + - "Documentar cambios en CHANGELOG antes de propagar" + - "Security fixes se propagan inmediatamente (no esperar SLA)" diff --git a/orchestration/MAPA-DOCUMENTACION.yml b/orchestration/MAPA-DOCUMENTACION.yml new file mode 100644 index 00000000..b0e1c89d --- /dev/null +++ b/orchestration/MAPA-DOCUMENTACION.yml @@ -0,0 +1,186 @@ +# ═══════════════════════════════════════════════════════════════════════════════ +# MAPA-DOCUMENTACION.yml - Template SaaS +# ═══════════════════════════════════════════════════════════════════════════════ +# +# Sistema: SIMCO v4.3.0 + NEXUS v4.0 +# Propósito: Mapa de toda la documentación del proyecto +# Fecha: 2026-01-24 +# +# ═══════════════════════════════════════════════════════════════════════════════ + +version: "1.0.0" +proyecto: "template-saas" +tipo: "PROVIDER" +fecha_actualizacion: "2026-01-24" + +# ───────────────────────────────────────────────────────────────────────────── +# DOCUMENTACIÓN PRINCIPAL (orchestration/) +# ───────────────────────────────────────────────────────────────────────────── + +orchestration: + navegacion: + - archivo: "_MAP.md" + proposito: "Mapa de navegación visual" + estado: "completo" + + - archivo: "_INDEX.md" + proposito: "Índice legacy (deprecated)" + estado: "deprecated" + nota: "Usar _MAP.md en su lugar" + + configuracion: + - archivo: "_inheritance.yml" + proposito: "Define herencia PROVIDER" + estado: "completo" + critico: true + + - archivo: "BOOTLOADER.md" + proposito: "Protocolo de arranque NEXUS" + estado: "completo" + + - archivo: "CONTEXT-MAP.yml" + proposito: "Mapa de contexto para agentes" + estado: "completo" + + - archivo: "PROJECT-PROFILE.yml" + proposito: "Perfil y metadata del proyecto" + estado: "completo" + + - archivo: "PROJECT-STATUS.md" + proposito: "Estado actual del proyecto" + estado: "completo" + + - archivo: "PROXIMA-ACCION.md" + proposito: "Checkpoint de sesión" + estado: "activo" + + trazabilidad: + - archivo: "DEPENDENCY-GRAPH.yml" + proposito: "Grafo de dependencias" + estado: "completo" + + - archivo: "TRACEABILITY.yml" + proposito: "Historial de cambios y propagaciones" + estado: "completo" + + - archivo: "MAPA-DOCUMENTACION.yml" + proposito: "Este archivo" + estado: "completo" + + subcarpetas: + 00-guidelines: + - archivo: "CONTEXTO-PROYECTO.md" + proposito: "Contexto general del proyecto" + estado: "completo" + + - archivo: "HERENCIA-SIMCO.md" + proposito: "Cómo hereda directivas" + estado: "completo" + + inventarios: + - archivo: "MASTER_INVENTORY.yml" + proposito: "Inventario maestro consolidado" + estado: "completo" + + - archivo: "DATABASE_INVENTORY.yml" + proposito: "Inventario de tablas DDL" + estado: "completo" + + - archivo: "BACKEND_INVENTORY.yml" + proposito: "Inventario de entidades y servicios" + estado: "completo" + + - archivo: "FRONTEND_INVENTORY.yml" + proposito: "Inventario de componentes" + estado: "completo" + + trazas: + - archivo: "TRAZA-TAREAS-DATABASE.md" + proposito: "Historial de tareas DDL" + estado: "activo" + + - archivo: "TRAZA-TAREAS-BACKEND.md" + proposito: "Historial de tareas backend" + estado: "activo" + + - archivo: "TRAZA-TAREAS-FRONTEND.md" + proposito: "Historial de tareas frontend" + estado: "activo" + + analisis: + - archivo: "_INDEX.md" + proposito: "Índice de análisis realizados" + estado: "completo" + nota: "Contiene 60+ archivos de análisis históricos" + + planes: + - archivo: "HISTORICO-SPRINTS.md" + proposito: "Historial de sprints completados" + estado: "activo" + +# ───────────────────────────────────────────────────────────────────────────── +# DOCUMENTACIÓN DE USUARIO (docs/) +# ───────────────────────────────────────────────────────────────────────────── + +docs: + nota: "Documentación de usuario del proyecto" + ubicacion: "projects/template-saas/docs/" + estado: "parcial" + + carpetas: + - nombre: "00-vision-general/" + estado: "pendiente" + + - nombre: "10-arquitectura/" + estado: "parcial" + + - nombre: "70-onboarding/" + estado: "pendiente" + +# ───────────────────────────────────────────────────────────────────────────── +# DOCUMENTACIÓN DE CÓDIGO +# ───────────────────────────────────────────────────────────────────────────── + +codigo: + backend: + ubicacion: "projects/template-saas/backend/" + readme: "README.md" + estado: "completo" + + frontend: + ubicacion: "projects/template-saas/frontend/" + readme: "README.md" + estado: "parcial" + + database: + ubicacion: "projects/template-saas/database/" + readme: "README.md" + ddl: "ddl/" + estado: "completo" + +# ───────────────────────────────────────────────────────────────────────────── +# ESTADÍSTICAS +# ───────────────────────────────────────────────────────────────────────────── + +estadisticas: + total_archivos_orchestration: 85 + archivos_obligatorios_completos: 10 + archivos_obligatorios_total: 10 + cobertura_obligatorios: "100%" + + por_carpeta: + root: 12 + 00-guidelines: 2 + inventarios: 4 + trazas: 4 + analisis: 60+ + planes: 2 + +# ───────────────────────────────────────────────────────────────────────────── +# NOTAS +# ───────────────────────────────────────────────────────────────────────────── + +notas: + - "Template-saas es PROVIDER - su documentación es referencia para consumidores" + - "Mantener actualizado con cada nuevo archivo creado" + - "La carpeta analisis/ contiene histórico extenso de fases de desarrollo" diff --git a/orchestration/PROJECT-PROFILE.yml b/orchestration/PROJECT-PROFILE.yml new file mode 100644 index 00000000..c174edb4 --- /dev/null +++ b/orchestration/PROJECT-PROFILE.yml @@ -0,0 +1,154 @@ +# ═══════════════════════════════════════════════════════════════════════════════ +# PROJECT-PROFILE.yml - Template SaaS +# ═══════════════════════════════════════════════════════════════════════════════ +# +# Sistema: SIMCO v4.3.0 + NEXUS v4.0 +# Propósito: Perfil y metadata del proyecto +# Fecha: 2026-01-24 +# +# ═══════════════════════════════════════════════════════════════════════════════ + +# ───────────────────────────────────────────────────────────────────────────── +# IDENTIFICACIÓN +# ───────────────────────────────────────────────────────────────────────────── + +proyecto: + nombre: "Template SaaS" + codigo: "template-saas" + tipo: "PROVIDER" + nivel: "1A" + version: "1.1.0" + +descripcion: | + Template base para aplicaciones SaaS multi-tenant. + Proporciona arquitectura, patrones y componentes reutilizables + que heredan otros proyectos del workspace. + +# ───────────────────────────────────────────────────────────────────────────── +# STACK TECNOLÓGICO +# ───────────────────────────────────────────────────────────────────────────── + +stack: + backend: + framework: "NestJS" + version: "^10.0.0" + lenguaje: "TypeScript" + orm: "TypeORM" + auth: "JWT + Passport" + + frontend: + framework: "React" + version: "^18.2.0" + lenguaje: "TypeScript" + ui: "Material-UI (MUI)" + estado: "React Query + Context" + + database: + motor: "PostgreSQL" + version: "15+" + schema: "template_saas_dev" + migraciones: "TypeORM" + + infraestructura: + contenedores: "Docker" + orquestacion: "docker-compose" + cache: "Redis" + ci_cd: "GitHub Actions" + +# ───────────────────────────────────────────────────────────────────────────── +# RUTAS DEL PROYECTO +# ───────────────────────────────────────────────────────────────────────────── + +rutas: + proyecto: "projects/template-saas" + backend: "projects/template-saas/backend" + frontend: "projects/template-saas/frontend" + database: "projects/template-saas/database" + docs: "projects/template-saas/docs" + orchestration: "projects/template-saas/orchestration" + +# ───────────────────────────────────────────────────────────────────────────── +# MÓDULOS PRINCIPALES +# ───────────────────────────────────────────────────────────────────────────── + +modulos: + backend: + - nombre: "auth" + estado: "completo" + descripcion: "Autenticación JWT con refresh tokens" + + - nombre: "users" + estado: "completo" + descripcion: "CRUD de usuarios con roles" + + - nombre: "companies" + estado: "completo" + descripcion: "Multi-tenancy por empresa" + + - nombre: "common" + estado: "completo" + descripcion: "Utilidades compartidas" + + frontend: + - nombre: "auth" + estado: "completo" + descripcion: "Páginas de login, registro, recuperación" + + - nombre: "dashboard" + estado: "completo" + descripcion: "Dashboard principal" + + - nombre: "admin" + estado: "parcial" + descripcion: "Panel de administración" + +# ───────────────────────────────────────────────────────────────────────────── +# ESTADO DEL PROYECTO +# ───────────────────────────────────────────────────────────────────────────── + +estado: + general: "activo" + madurez: "producción" + cobertura_tests: "~60%" + documentacion: "parcial" + +metricas: + entidades_ddl: 15 + endpoints_api: 45 + componentes_ui: 30 + tests_unitarios: 120 + tests_e2e: 15 + +# ───────────────────────────────────────────────────────────────────────────── +# EQUIPO Y RESPONSABLES +# ───────────────────────────────────────────────────────────────────────────── + +equipo: + owner: "ISEM Development" + agentes_principales: + - "Claude Code" + - "Trae" + - "Windsurf" + +# ───────────────────────────────────────────────────────────────────────────── +# DEPENDENCIAS +# ───────────────────────────────────────────────────────────────────────────── + +dependencias: + workspace: + - "orchestration/directivas/simco/" + - "shared/catalog/" + + externas: + - "PostgreSQL 15+" + - "Redis 7+" + - "Node.js 20+" + +# ───────────────────────────────────────────────────────────────────────────── +# NOTAS +# ───────────────────────────────────────────────────────────────────────────── + +notas: + - "Este proyecto es PROVIDER - cualquier cambio afecta a los consumidores" + - "Mantener retrocompatibilidad en APIs públicas" + - "Documentar cambios breaking en CHANGELOG" diff --git a/orchestration/TRACEABILITY.yml b/orchestration/TRACEABILITY.yml new file mode 100644 index 00000000..b28bb562 --- /dev/null +++ b/orchestration/TRACEABILITY.yml @@ -0,0 +1,115 @@ +# ═══════════════════════════════════════════════════════════════════════════════ +# TRACEABILITY.yml - Template SaaS +# ═══════════════════════════════════════════════════════════════════════════════ +# +# Sistema: SIMCO v4.3.0 + NEXUS v4.0 +# Propósito: Trazabilidad del proyecto +# Fecha: 2026-01-24 +# +# ═══════════════════════════════════════════════════════════════════════════════ + +version: "1.0.0" +proyecto: "template-saas" +tipo: "PROVIDER" +fecha_actualizacion: "2026-01-24" + +# ───────────────────────────────────────────────────────────────────────────── +# HISTORIAL DE VERSIONES +# ───────────────────────────────────────────────────────────────────────────── + +versiones: + - version: "1.1.0" + fecha: "2026-01-24" + descripcion: "Estandarización orchestration/ según SIMCO v4.3.0" + cambios: + - "Agregado _inheritance.yml (PROVIDER)" + - "Agregado _MAP.md" + - "Agregado PROJECT-PROFILE.yml" + - "Agregado DEPENDENCY-GRAPH.yml" + - "Agregado TRACEABILITY.yml" + - "Agregado MAPA-DOCUMENTACION.yml" + propagado_a: + - "Pendiente propagación a consumidores" + + - version: "1.0.0" + fecha: "2026-01-01" + descripcion: "Versión inicial estable" + cambios: + - "Sistema de autenticación JWT completo" + - "Multi-tenancy por empresa" + - "CRUD de usuarios con roles" + - "Dashboard básico" + +# ───────────────────────────────────────────────────────────────────────────── +# PROPAGACIONES REALIZADAS +# ───────────────────────────────────────────────────────────────────────────── + +propagaciones: + - fecha: "2026-01-20" + tipo: "feature" + origen: "template-saas" + destino: "erp-core" + descripcion: "Estructura de orchestration/" + commit_origen: "887b0b4e" + commit_destino: "887b0b4e" + estado: "completado" + +# ───────────────────────────────────────────────────────────────────────────── +# TAREAS DOCUMENTADAS +# ───────────────────────────────────────────────────────────────────────────── + +tareas: + - id: "TASK-2026-01-24-ESTANDARIZACION" + titulo: "Estandarización orchestration/ como PROVIDER" + estado: "en_progreso" + archivos_creados: + - "_inheritance.yml" + - "_MAP.md" + - "PROJECT-PROFILE.yml" + - "DEPENDENCY-GRAPH.yml" + - "TRACEABILITY.yml" + - "MAPA-DOCUMENTACION.yml" + +# ───────────────────────────────────────────────────────────────────────────── +# CADENA DE HERENCIA +# ───────────────────────────────────────────────────────────────────────────── + +cadena_herencia: + upstream: + - "workspace-v2/orchestration/" + + downstream: + intermediate: + - "erp-core" + standalone: + - "gamilit" + - "michangarrito" + - "trading-platform" + +# ───────────────────────────────────────────────────────────────────────────── +# VALIDACIONES +# ───────────────────────────────────────────────────────────────────────────── + +validaciones: + ultima_validacion: "2026-01-24" + resultado: "pendiente" + archivos_obligatorios: + _MAP.md: true + _inheritance.yml: true + BOOTLOADER.md: true + CONTEXT-MAP.yml: true + PROJECT-PROFILE.yml: true + PROJECT-STATUS.md: true + PROXIMA-ACCION.md: true + DEPENDENCY-GRAPH.yml: true + TRACEABILITY.yml: true + MAPA-DOCUMENTACION.yml: true + +# ───────────────────────────────────────────────────────────────────────────── +# NOTAS +# ───────────────────────────────────────────────────────────────────────────── + +notas: + - "Mantener este archivo actualizado con cada cambio significativo" + - "Registrar propagaciones a consumidores" + - "Documentar versiones según semver" diff --git a/orchestration/_MAP.md b/orchestration/_MAP.md new file mode 100644 index 00000000..54d327dd --- /dev/null +++ b/orchestration/_MAP.md @@ -0,0 +1,98 @@ +# Mapa de Navegación - Template SaaS orchestration/ + +**Versión:** 1.0.0 +**Sistema:** SIMCO v4.3.0 + NEXUS v4.0 +**Tipo:** PROVIDER +**Actualizado:** 2026-01-24 + +--- + +## Estructura + +``` +orchestration/ +├── _MAP.md ← ESTE ARCHIVO (navegación) +├── _INDEX.md ← Índice legacy (deprecated) +├── _inheritance.yml ← Define herencia y exportación +├── BOOTLOADER.md ← Protocolo de arranque NEXUS +├── CONTEXT-MAP.yml ← Mapa de contexto del proyecto +├── PROJECT-PROFILE.yml ← Perfil y metadata del proyecto +├── PROJECT-STATUS.md ← Estado actual del proyecto +├── PROXIMA-ACCION.md ← Checkpoint de sesión +├── DEPENDENCY-GRAPH.yml ← Grafo de dependencias +├── TRACEABILITY.yml ← Trazabilidad del proyecto +├── MAPA-DOCUMENTACION.yml ← Mapa de documentación +├── README.md ← Documentación general +│ +├── 00-guidelines/ ← Guías del proyecto +│ ├── CONTEXTO-PROYECTO.md +│ └── HERENCIA-SIMCO.md +│ +├── analisis/ ← Análisis realizados +│ └── _INDEX.md +│ +├── inventarios/ ← Inventarios por capa +│ ├── MASTER_INVENTORY.yml +│ ├── DATABASE_INVENTORY.yml +│ ├── BACKEND_INVENTORY.yml +│ └── FRONTEND_INVENTORY.yml +│ +├── planes/ ← Planes de sprint +│ └── HISTORICO-SPRINTS.md +│ +├── trazas/ ← Trazas de tareas +│ ├── TRAZA-TAREAS-DATABASE.md +│ ├── TRAZA-TAREAS-BACKEND.md +│ └── TRAZA-TAREAS-FRONTEND.md +│ +└── _archivo/ ← Archivos históricos + ├── analisis-previo/ + └── planes/ +``` + +--- + +## Archivos Clave + +| Archivo | Propósito | Alias | +|---------|-----------|-------| +| `_inheritance.yml` | Define que es PROVIDER y a quién exporta | @INHERIT | +| `BOOTLOADER.md` | Secuencia de arranque de 5 pasos | @BOOT | +| `CONTEXT-MAP.yml` | Contexto para agentes | @CONTEXT | +| `PROJECT-STATUS.md` | Estado actual | @STATUS | +| `PROXIMA-ACCION.md` | Siguiente acción pendiente | @NEXT | + +--- + +## Rol: PROVIDER + +Template SaaS es **PROVEEDOR** de patrones arquitectónicos: + +``` +template-saas (PROVIDER) + │ + ├──► erp-core (INTERMEDIATE) + │ ├──► erp-clinicas + │ ├──► erp-construccion + │ ├──► erp-mecanicas-diesel + │ ├──► erp-retail + │ └──► erp-vidrio-templado + │ + ├──► gamilit (STANDALONE) + ├──► michangarrito (STANDALONE) + └──► trading-platform (STANDALONE) +``` + +--- + +## Navegación Rápida + +- **Iniciar sesión:** Leer `BOOTLOADER.md` → `CONTEXT-MAP.yml` → `PROXIMA-ACCION.md` +- **Ver estado:** `PROJECT-STATUS.md` +- **Ver inventarios:** `inventarios/MASTER_INVENTORY.yml` +- **Ver trazas:** `trazas/TRAZA-TAREAS-*.md` +- **Ver herencia:** `_inheritance.yml` + +--- + +*Sistema SIMCO v4.3.0 + NEXUS v4.0* diff --git a/orchestration/_inheritance.yml b/orchestration/_inheritance.yml new file mode 100644 index 00000000..b9ec91da --- /dev/null +++ b/orchestration/_inheritance.yml @@ -0,0 +1,114 @@ +# ═══════════════════════════════════════════════════════════════════════════════ +# _inheritance.yml - Template SaaS +# ═══════════════════════════════════════════════════════════════════════════════ +# +# Sistema: SIMCO v4.3.0 + NEXUS v4.0 +# Propósito: Define herencia y exportación de patrones +# Fecha: 2026-01-24 +# +# ═══════════════════════════════════════════════════════════════════════════════ + +tipo: PROVIDER +version: "1.0.0" +fecha_creacion: "2026-01-24" + +# ───────────────────────────────────────────────────────────────────────────── +# HERENCIA +# ───────────────────────────────────────────────────────────────────────────── + +hereda_de: + - workspace-v2/orchestration/ # Directivas globales SIMCO + +# ───────────────────────────────────────────────────────────────────────────── +# EXPORTACIÓN +# ───────────────────────────────────────────────────────────────────────────── + +exporta_a: + - erp-core # INTERMEDIATE - Suite ERP + - gamilit # STANDALONE - Proyecto educativo + - michangarrito # STANDALONE - Taller mecánico + - trading-platform # STANDALONE - Plataforma trading + +# ───────────────────────────────────────────────────────────────────────────── +# PATRONES EXPORTADOS +# ───────────────────────────────────────────────────────────────────────────── + +patrones_exportados: + arquitectura: + - multi-tenancy # Arquitectura multi-tenant + - api-structure # Estructura de API NestJS + - frontend-structure # Estructura de frontend React + - database-schema # Patrones de esquema DDL + + seguridad: + - auth-jwt # Autenticación JWT + - rbac # Control de acceso por roles + - rate-limiting # Limitación de tasa + + infraestructura: + - docker-compose # Configuración Docker + - migrations # Sistema de migraciones + - seeding # Sistema de seeds + + documentacion: + - orchestration-structure # Estructura orchestration/ + - docs-structure # Estructura docs/ + - inventory-format # Formato de inventarios + +# ───────────────────────────────────────────────────────────────────────────── +# REGLAS DE PROPAGACIÓN +# ───────────────────────────────────────────────────────────────────────────── + +reglas_propagacion: + security_fixes: + sla: "inmediato" + prioridad: P0 + descripcion: "Fixes de seguridad se propagan inmediatamente" + + bug_fixes: + sla: "72h" + prioridad: P1 + descripcion: "Bug fixes se propagan en 72 horas" + + features: + sla: "siguiente_sprint" + prioridad: P2 + descripcion: "Features se propagan en siguiente sprint" + + documentation: + sla: "inmediato" + prioridad: P1 + descripcion: "Cambios de documentación se propagan inmediatamente" + +# ───────────────────────────────────────────────────────────────────────────── +# MÓDULOS CORE +# ───────────────────────────────────────────────────────────────────────────── + +modulos_core: + backend: + - auth # Autenticación y autorización + - users # Gestión de usuarios + - companies # Gestión de empresas/tenants + - common # Utilidades comunes + - config # Configuración centralizada + + frontend: + - auth # Componentes de autenticación + - layout # Layouts principales + - common # Componentes comunes + - hooks # Hooks personalizados + + database: + - core-schema # Esquema base (users, companies, roles) + - audit-schema # Tablas de auditoría + - config-schema # Configuración de sistema + +# ───────────────────────────────────────────────────────────────────────────── +# NOTAS +# ─────────────────────────────────────────────════════════════════════════════ + +notas: + - "Template SaaS es el PROVEEDOR principal de patrones arquitectónicos" + - "Todos los proyectos que heredan deben sincronizar según SLA definido" + - "Cambios breaking requieren coordinación con todos los consumidores" + - "Este archivo es OBLIGATORIO según SIMCO-ESTANDAR-ORCHESTRATION.md"