- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
431 lines
16 KiB
YAML
431 lines
16 KiB
YAML
# CONTEXT-MAP: TEMPLATE-SAAS
|
|
# Sistema: SIMCO - NEXUS v4.0
|
|
# Proposito: Mapear contexto automatico por nivel y tarea
|
|
# Version: 2.0.0
|
|
# Fecha: 2026-01-10
|
|
|
|
metadata:
|
|
proyecto: "template-saas"
|
|
nivel: "STANDALONE"
|
|
version: "2.0.0"
|
|
ultima_actualizacion: "2026-01-10"
|
|
workspace_root: "/home/isem/workspace-v1"
|
|
project_root: "/home/isem/workspace-v1/projects/template-saas"
|
|
|
|
# ===============================================================================
|
|
# VARIABLES DEL PROYECTO (PRE-RESUELTAS)
|
|
# ===============================================================================
|
|
|
|
variables:
|
|
# Identificacion
|
|
PROJECT: "template-saas"
|
|
PROJECT_NAME: "TEMPLATE-SAAS"
|
|
PROJECT_LEVEL: "STANDALONE"
|
|
PROJECT_CODE: "SAAS"
|
|
|
|
# Base de datos
|
|
DB_NAME: "template_saas_platform"
|
|
DB_DDL_PATH: "/home/isem/workspace-v1/projects/template-saas/apps/database/ddl"
|
|
DB_SCRIPTS_PATH: "/home/isem/workspace-v1/projects/template-saas/apps/database/scripts"
|
|
DB_SEEDS_PATH: "/home/isem/workspace-v1/projects/template-saas/apps/database/seeds"
|
|
RECREATE_CMD: "drop-and-recreate-database.sh"
|
|
|
|
# Backend
|
|
BACKEND_ROOT: "/home/isem/workspace-v1/projects/template-saas/apps/backend"
|
|
BACKEND_SRC: "/home/isem/workspace-v1/projects/template-saas/apps/backend/src"
|
|
BACKEND_TESTS: "/home/isem/workspace-v1/projects/template-saas/apps/backend/tests"
|
|
BACKEND_PORT: 3100
|
|
|
|
# Frontend
|
|
FRONTEND_ROOT: "/home/isem/workspace-v1/projects/template-saas/apps/frontend"
|
|
FRONTEND_SRC: "/home/isem/workspace-v1/projects/template-saas/apps/frontend/src"
|
|
FRONTEND_PORT: 5173
|
|
|
|
# Documentacion
|
|
DOCS_PATH: "/home/isem/workspace-v1/projects/template-saas/docs"
|
|
ORCHESTRATION_PATH: "/home/isem/workspace-v1/projects/template-saas/orchestration"
|
|
|
|
# ===============================================================================
|
|
# ALIASES RESUELTOS
|
|
# ===============================================================================
|
|
|
|
aliases:
|
|
# Directivas globales
|
|
"@SIMCO": "/home/isem/workspace-v1/orchestration/directivas/simco"
|
|
"@PRINCIPIOS": "/home/isem/workspace-v1/orchestration/directivas/principios"
|
|
"@PERFILES": "/home/isem/workspace-v1/orchestration/agents/perfiles"
|
|
"@CATALOG": "/home/isem/workspace-v1/shared/catalog"
|
|
|
|
# Proyecto especifico
|
|
"@DDL": "/home/isem/workspace-v1/projects/template-saas/apps/database/ddl/schemas"
|
|
"@DDL_ROOT": "/home/isem/workspace-v1/projects/template-saas/apps/database/ddl"
|
|
"@SEEDS": "/home/isem/workspace-v1/projects/template-saas/apps/database/seeds"
|
|
"@SEEDS_DEV": "/home/isem/workspace-v1/projects/template-saas/apps/database/seeds/dev"
|
|
"@SEEDS_PROD": "/home/isem/workspace-v1/projects/template-saas/apps/database/seeds/prod"
|
|
"@DB_SCRIPTS": "/home/isem/workspace-v1/projects/template-saas/apps/database/scripts"
|
|
"@BACKEND": "/home/isem/workspace-v1/projects/template-saas/apps/backend/src/modules"
|
|
"@BACKEND_ROOT": "/home/isem/workspace-v1/projects/template-saas/apps/backend"
|
|
"@BACKEND_SHARED": "/home/isem/workspace-v1/projects/template-saas/apps/backend/src/shared"
|
|
"@FRONTEND": "/home/isem/workspace-v1/projects/template-saas/apps/frontend/src/portals"
|
|
"@FRONTEND_ROOT": "/home/isem/workspace-v1/projects/template-saas/apps/frontend"
|
|
"@FRONTEND_SHARED": "/home/isem/workspace-v1/projects/template-saas/apps/frontend/src/shared"
|
|
"@DOCS": "/home/isem/workspace-v1/projects/template-saas/docs"
|
|
|
|
# Inventarios
|
|
"@INVENTORY": "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios"
|
|
"@INV_MASTER": "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/MASTER_INVENTORY.yml"
|
|
"@INV_DB": "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/DATABASE_INVENTORY.yml"
|
|
"@INV_BE": "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/BACKEND_INVENTORY.yml"
|
|
"@INV_FE": "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/FRONTEND_INVENTORY.yml"
|
|
|
|
# Trazas
|
|
"@TRAZA_DB": "/home/isem/workspace-v1/projects/template-saas/orchestration/trazas/TRAZA-TAREAS-DATABASE.md"
|
|
"@TRAZA_BE": "/home/isem/workspace-v1/projects/template-saas/orchestration/trazas/TRAZA-TAREAS-BACKEND.md"
|
|
"@TRAZA_FE": "/home/isem/workspace-v1/projects/template-saas/orchestration/trazas/TRAZA-TAREAS-FRONTEND.md"
|
|
|
|
# ===============================================================================
|
|
# CONTEXTO POR NIVEL
|
|
# ===============================================================================
|
|
|
|
contexto_por_nivel:
|
|
L0_sistema:
|
|
descripcion: "Principios fundamentales y perfil de agente"
|
|
tokens_estimados: 4500
|
|
obligatorio: true
|
|
archivos:
|
|
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-CAPVED.md"
|
|
proposito: "Ciclo de vida de tareas"
|
|
tokens: 800
|
|
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md"
|
|
proposito: "Documentacion antes de codigo"
|
|
tokens: 500
|
|
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md"
|
|
proposito: "Verificar catalogo antes de crear"
|
|
tokens: 600
|
|
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md"
|
|
proposito: "Build/lint deben pasar"
|
|
tokens: 600
|
|
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md"
|
|
proposito: "Limites de contexto"
|
|
tokens: 500
|
|
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-NO-ASUMIR.md"
|
|
proposito: "Preguntar si falta informacion"
|
|
tokens: 500
|
|
- path: "/home/isem/workspace-v1/orchestration/referencias/ALIASES.yml"
|
|
proposito: "Resolucion de @ALIAS"
|
|
tokens: 400
|
|
|
|
L1_proyecto:
|
|
descripcion: "Contexto especifico de TEMPLATE-SAAS"
|
|
tokens_estimados: 3000
|
|
obligatorio: true
|
|
archivos:
|
|
- path: "/home/isem/workspace-v1/projects/template-saas/orchestration/00-guidelines/CONTEXTO-PROYECTO.md"
|
|
proposito: "Variables y configuracion del proyecto"
|
|
tokens: 1500
|
|
- path: "/home/isem/workspace-v1/projects/template-saas/orchestration/PROXIMA-ACCION.md"
|
|
proposito: "Estado actual y siguiente paso"
|
|
tokens: 500
|
|
- path: "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/MASTER_INVENTORY.yml"
|
|
proposito: "Estado de artefactos"
|
|
tokens: 1000
|
|
|
|
L2_operacion:
|
|
descripcion: "SIMCO especificos segun operacion y dominio"
|
|
tokens_estimados: 2500
|
|
archivos_por_operacion:
|
|
CREAR:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-CREAR.md"
|
|
MODIFICAR:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-MODIFICAR.md"
|
|
VALIDAR:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-VALIDAR.md"
|
|
DELEGAR:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-DELEGACION.md"
|
|
archivos_por_dominio:
|
|
DDL:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-DDL.md"
|
|
- "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/DATABASE_INVENTORY.yml"
|
|
BACKEND:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-BACKEND.md"
|
|
- "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/BACKEND_INVENTORY.yml"
|
|
FRONTEND:
|
|
- "/home/isem/workspace-v1/orchestration/directivas/simco/SIMCO-FRONTEND.md"
|
|
- "/home/isem/workspace-v1/projects/template-saas/orchestration/inventarios/FRONTEND_INVENTORY.yml"
|
|
|
|
L3_tarea:
|
|
descripcion: "Contexto especifico de la tarea"
|
|
tokens_max: 8000
|
|
dinamico: true
|
|
|
|
# ===============================================================================
|
|
# INTEGRACION CON DOCUMENTACION (docs/)
|
|
# ===============================================================================
|
|
|
|
integracion_docs:
|
|
mapa_docs: "@DOCS/_MAP.md"
|
|
|
|
estructura:
|
|
vision: "@DOCS/00-vision-general/"
|
|
modulos: "@DOCS/01-modulos/"
|
|
integraciones: "@DOCS/02-integraciones/"
|
|
adr: "@DOCS/architecture/adr/"
|
|
|
|
modulos_saas:
|
|
- SAAS-001-auth:
|
|
descripcion: "Autenticacion JWT, OAuth, MFA"
|
|
ruta: "@DOCS/01-modulos/SAAS-001-auth.md"
|
|
- SAAS-002-tenants:
|
|
descripcion: "Gestion de organizaciones multi-tenant"
|
|
ruta: "@DOCS/01-modulos/SAAS-002-tenants.md"
|
|
- SAAS-003-users:
|
|
descripcion: "Usuarios con RBAC"
|
|
ruta: "@DOCS/01-modulos/SAAS-003-users.md"
|
|
- SAAS-004-billing:
|
|
descripcion: "Suscripciones Stripe"
|
|
ruta: "@DOCS/01-modulos/SAAS-004-billing.md"
|
|
- SAAS-005-plans:
|
|
descripcion: "Planes y limites"
|
|
ruta: "@DOCS/01-modulos/SAAS-005-plans.md"
|
|
- SAAS-006-ai-integration:
|
|
descripcion: "Wrapper multi-proveedor LLM (Claude, GPT-4, Gemini)"
|
|
ruta: "@DOCS/01-modulos/SAAS-006-ai-integration.md"
|
|
- SAAS-007-notifications:
|
|
descripcion: "Email, push, in-app, WhatsApp (v2.0)"
|
|
ruta: "@DOCS/01-modulos/SAAS-007-notifications.md"
|
|
- SAAS-008-audit-logs:
|
|
descripcion: "Auditoria de acciones"
|
|
ruta: "@DOCS/01-modulos/SAAS-008-audit-logs.md"
|
|
- SAAS-009-feature-flags:
|
|
descripcion: "Toggles por plan/tenant"
|
|
ruta: "@DOCS/01-modulos/SAAS-009-feature-flags.md"
|
|
- SAAS-010-webhooks:
|
|
descripcion: "Webhooks outbound con BullMQ"
|
|
ruta: "@DOCS/01-modulos/SAAS-010-webhooks.md"
|
|
- SAAS-011-storage:
|
|
descripcion: "S3, R2, MinIO storage"
|
|
ruta: "@DOCS/01-modulos/SAAS-011-storage.md"
|
|
- SAAS-012-crud-base:
|
|
descripcion: "Patrones base reutilizables"
|
|
ruta: "@DOCS/01-modulos/SAAS-012-crud-base.md"
|
|
- SAAS-013-email:
|
|
descripcion: "SendGrid, SES, SMTP"
|
|
ruta: "@DOCS/01-modulos/SAAS-013-email.md"
|
|
- SAAS-014-whatsapp:
|
|
descripcion: "WhatsApp Business API"
|
|
ruta: "@DOCS/01-modulos/SAAS-014-whatsapp.md"
|
|
|
|
integraciones:
|
|
- INT-001-stripe:
|
|
descripcion: "Pagos y suscripciones"
|
|
ruta: "@DOCS/02-integraciones/INT-001-stripe.md"
|
|
modulo_relacionado: "SAAS-004-billing"
|
|
- INT-002-oauth:
|
|
descripcion: "Autenticacion externa (Google, GitHub, etc)"
|
|
ruta: "@DOCS/02-integraciones/INT-002-oauth.md"
|
|
modulo_relacionado: "SAAS-001-auth"
|
|
- INT-003-email:
|
|
descripcion: "Envio de correos (SendGrid, SES, SMTP)"
|
|
ruta: "@DOCS/02-integraciones/INT-003-email.md"
|
|
modulo_relacionado: "SAAS-013-email"
|
|
- INT-004-push:
|
|
descripcion: "Notificaciones push (Web Push API)"
|
|
ruta: "@DOCS/02-integraciones/INT-004-push.md"
|
|
modulo_relacionado: "SAAS-007-notifications"
|
|
- INT-005-storage:
|
|
descripcion: "Almacenamiento de archivos (S3, R2, MinIO)"
|
|
ruta: "@DOCS/02-integraciones/INT-005-storage.md"
|
|
modulo_relacionado: "SAAS-011-storage"
|
|
- INT-006-webhooks:
|
|
descripcion: "Webhooks outbound con BullMQ"
|
|
ruta: "@DOCS/02-integraciones/INT-006-webhooks.md"
|
|
modulo_relacionado: "SAAS-010-webhooks"
|
|
- INT-007-redis:
|
|
descripcion: "Queue processing backend"
|
|
ruta: "@DOCS/02-integraciones/INT-007-redis.md"
|
|
modulo_relacionado: "SAAS-010-webhooks"
|
|
|
|
# ===============================================================================
|
|
# MAPA TAREA -> ARCHIVOS (Especifico TEMPLATE-SAAS)
|
|
# ===============================================================================
|
|
|
|
mapa_tarea_contexto:
|
|
database:
|
|
crear_tabla:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-DDL.md"]
|
|
inventario: "@INV_DB"
|
|
referencia: "@DDL/**/*.sql"
|
|
docs: "@DOCS/01-modulos/"
|
|
|
|
crear_schema:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-DDL.md"]
|
|
inventario: "@INV_DB"
|
|
referencia: "@DDL_ROOT/*.sql"
|
|
|
|
agregar_rls:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-DDL.md"]
|
|
inventario: "@INV_DB"
|
|
referencia: "@DDL/**/rls/*.sql"
|
|
|
|
backend:
|
|
crear_module:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
|
|
inventario: "@INV_BE"
|
|
referencia: "@BACKEND/*/*.module.ts"
|
|
|
|
crear_entity:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
|
|
inventario: "@INV_BE"
|
|
referencia: "@BACKEND/*/entities/*.entity.ts"
|
|
|
|
crear_service:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
|
|
inventario: "@INV_BE"
|
|
referencia: "@BACKEND/*/services/*.service.ts"
|
|
|
|
crear_controller:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
|
|
inventario: "@INV_BE"
|
|
referencia: "@BACKEND/*/controllers/*.controller.ts"
|
|
|
|
crear_guard:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-BACKEND.md"]
|
|
inventario: "@INV_BE"
|
|
referencia: "@BACKEND_SHARED/guards/*.guard.ts"
|
|
|
|
frontend:
|
|
crear_portal:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-FRONTEND.md"]
|
|
inventario: "@INV_FE"
|
|
referencia: "@FRONTEND/*/"
|
|
|
|
crear_componente:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-FRONTEND.md"]
|
|
inventario: "@INV_FE"
|
|
referencia: "@FRONTEND_SHARED/components/**/*.tsx"
|
|
|
|
crear_pagina:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-FRONTEND.md"]
|
|
inventario: "@INV_FE"
|
|
referencia: "@FRONTEND/*/pages/**/*.tsx"
|
|
|
|
crear_store:
|
|
simco: ["SIMCO-CREAR.md", "SIMCO-FRONTEND.md"]
|
|
inventario: "@INV_FE"
|
|
referencia: "@FRONTEND_ROOT/src/stores/*.ts"
|
|
|
|
# ===============================================================================
|
|
# INFORMACION ESPECIFICA DEL PROYECTO
|
|
# ===============================================================================
|
|
|
|
info_proyecto:
|
|
tipo: "Template SaaS Multi-Tenant"
|
|
estado: "Completado - DDL 100%, Backend 100%, Frontend 100%, WhatsApp 100%"
|
|
version: "1.0.0"
|
|
|
|
stack:
|
|
backend: "NestJS + TypeScript"
|
|
frontend: "React 18 + Vite + Tailwind CSS 4"
|
|
database: "PostgreSQL 16+ con RLS"
|
|
|
|
schemas:
|
|
- auth
|
|
- tenants
|
|
- users
|
|
- billing
|
|
- plans
|
|
- notifications
|
|
- feature_flags
|
|
- audit
|
|
- ai
|
|
- storage
|
|
- webhooks
|
|
- whatsapp
|
|
|
|
portales:
|
|
user:
|
|
descripcion: "Portal usuario final"
|
|
ruta: "/"
|
|
admin:
|
|
descripcion: "Portal admin de tenant"
|
|
ruta: "/admin"
|
|
superadmin:
|
|
descripcion: "Portal superadmin"
|
|
ruta: "/superadmin"
|
|
|
|
multi_tenancy:
|
|
estrategia: "RLS por tenant_id"
|
|
aislamiento: "Row-level"
|
|
tenant_context: "JWT claims + middleware"
|
|
|
|
billing:
|
|
proveedor: "Stripe"
|
|
planes:
|
|
- Free
|
|
- Basic
|
|
- Pro
|
|
- Enterprise
|
|
ciclos:
|
|
- Monthly
|
|
- Yearly
|
|
trial_days: 14
|
|
metered_billing: opcional
|
|
|
|
ai_integration:
|
|
wrapper: "Agnostico multi-proveedor"
|
|
proveedores:
|
|
- Claude (Anthropic)
|
|
- GPT-4 (OpenAI)
|
|
- Gemini (Google)
|
|
features:
|
|
- token_counting
|
|
- cost_tracking
|
|
- rate_limiting_por_tenant
|
|
|
|
# ===============================================================================
|
|
# VALIDACION DE TOKENS
|
|
# ===============================================================================
|
|
|
|
validacion_tokens:
|
|
limite_absoluto: 25000
|
|
limite_seguro: 18000
|
|
limite_alerta: 20000
|
|
|
|
presupuesto:
|
|
L0_sistema: 4500
|
|
L1_proyecto: 3000
|
|
L2_operacion: 2500
|
|
L3_tarea_max: 8000
|
|
total_base: 10000
|
|
disponible_tarea: 8000
|
|
|
|
# ===============================================================================
|
|
# HERENCIA
|
|
# ===============================================================================
|
|
|
|
herencia:
|
|
tipo: "STANDALONE"
|
|
hereda_de:
|
|
- "/home/isem/workspace-v1/orchestration/"
|
|
usa_catalog:
|
|
- auth
|
|
- multi-tenancy
|
|
- payments
|
|
- notifications
|
|
- session-management
|
|
- rate-limiting
|
|
- feature-flags
|
|
- websocket
|
|
|
|
# ===============================================================================
|
|
# BUSQUEDA DE HISTORICO
|
|
# ===============================================================================
|
|
|
|
busqueda_historico:
|
|
habilitado: true
|
|
ubicaciones:
|
|
- "/home/isem/workspace-v1/projects/template-saas/orchestration/trazas/"
|
|
- "/home/isem/workspace-v1/orchestration/errores/REGISTRO-ERRORES.yml"
|
|
- "/home/isem/workspace-v1/shared/knowledge-base/lessons-learned/"
|
|
- "/home/isem/workspace-v1/shared/catalog/template-saas/"
|