# ═══════════════════════════════════════════════════════════════════════════════ # 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)"