- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7.5 KiB
7.5 KiB
CONTEXTO DE NIVEL: SUITE CORE (2B.1)
Template para: Componentes compartidos de una suite multi-vertical Nivel: 2B.1 Ejemplos: nexus-erp-suite/core
IDENTIFICACIÓN
NIVEL: "2B.1 - SUITE-CORE"
TIPO: "Componentes compartidos de suite"
SUITE_PADRE: "{SUITE}"
RUTA_BASE: "projects/{SUITE}/core/"
ORCHESTRATION_PATH: "projects/{SUITE}/core/orchestration/"
PROPAGATE_TO:
- "projects/{SUITE}/orchestration/" # Suite padre (2B)
- "orchestration/" # Workspace root
CONSUMIDORES:
- "projects/{SUITE}/verticals/*/" # Todos los verticales
ESTRUCTURA REQUERIDA
projects/{SUITE}/core/
├── orchestration/
│ ├── 00-guidelines/
│ │ └── CONTEXTO-SUITE-CORE.md # ESTE archivo (adaptado)
│ ├── inventarios/
│ │ ├── CORE_MASTER_INVENTORY.yml
│ │ ├── CORE_DATABASE_INVENTORY.yml
│ │ ├── CORE_BACKEND_INVENTORY.yml
│ │ └── CORE_FRONTEND_INVENTORY.yml
│ ├── trazas/
│ │ └── TRAZA-CORE.md
│ └── referencias/
│ └── CONSUMIDORES.yml # Qué verticales usan qué
├── docs/
├── database/
│ └── ddl/
│ └── schemas/
│ ├── auth/
│ ├── shared/
│ └── catalog/
├── backend/
│ └── src/
│ └── modules/
│ ├── auth/
│ ├── shared/
│ └── ...
└── frontend/
└── src/
└── shared/
└── components/
VARIABLES DEL SUITE CORE
# Completar con valores reales
SUITE_NAME: "{nombre de la suite}"
SUITE_ROOT: "projects/{SUITE}"
CORE_ROOT: "{SUITE_ROOT}/core"
CORE_DESCRIPTION: "Componentes compartidos entre verticales"
# Database Core
CORE_DB_DDL: "{CORE_ROOT}/database/ddl"
CORE_SCHEMAS:
- auth # Autenticación y autorización
- shared # Tablas compartidas (audit, config, etc.)
- catalog # Catálogos maestros
# Backend Core
CORE_BACKEND_ROOT: "{CORE_ROOT}/backend"
CORE_BACKEND_SRC: "{CORE_BACKEND_ROOT}/src"
CORE_MODULES:
- AuthModule
- SharedModule
- CatalogModule
# Frontend Core
CORE_FRONTEND_ROOT: "{CORE_ROOT}/frontend"
CORE_FRONTEND_SRC: "{CORE_FRONTEND_ROOT}/src"
CORE_COMPONENTS:
- AuthProvider
- SharedLayout
- CommonComponents
CONSUMIDORES (Qué verticales usan qué)
# Archivo: orchestration/referencias/CONSUMIDORES.yml
consumidores:
database:
"auth.*":
usado_por: ["todos"]
descripcion: "Schemas de autenticación"
"shared.audit_logs":
usado_por: ["todos"]
descripcion: "Logs de auditoría"
"catalog.*":
usado_por: ["construccion", "manufactura"]
descripcion: "Catálogos maestros"
backend:
"AuthModule":
usado_por: ["todos"]
importar_como: "@suite/core/auth"
"SharedModule":
usado_por: ["todos"]
importar_como: "@suite/core/shared"
frontend:
"AuthProvider":
usado_por: ["todos"]
importar_desde: "@suite/core/components"
"SharedLayout":
usado_por: ["construccion", "manufactura"]
ALIASES DEL SUITE CORE
# Aliases específicos (agregar en ALIASES.yml global)
@{SUITE}_CORE: "projects/{SUITE}/core/"
@{SUITE}_CORE_ORCH: "projects/{SUITE}/core/orchestration/"
@{SUITE}_CORE_DDL: "projects/{SUITE}/core/database/ddl/"
@{SUITE}_CORE_BE: "projects/{SUITE}/core/backend/src/"
@{SUITE}_CORE_FE: "projects/{SUITE}/core/frontend/src/"
@{SUITE}_CORE_INV: "projects/{SUITE}/core/orchestration/inventarios/"
CONTEXTO A CARGAR
# Orden de carga para agentes trabajando en suite core
1_CORE_SISTEMA:
- core/orchestration/directivas/simco/SIMCO-NIVELES.md
- core/orchestration/directivas/principios/*.md
- core/catalog/CATALOG-INDEX.yml
2_SUITE:
- projects/{SUITE}/orchestration/00-guidelines/CONTEXTO-SUITE.md
- projects/{SUITE}/orchestration/referencias/VERTICALES-INDEX.yml
3_SUITE_CORE:
- projects/{SUITE}/core/orchestration/00-guidelines/CONTEXTO-SUITE-CORE.md
- projects/{SUITE}/core/orchestration/inventarios/CORE_MASTER_INVENTORY.yml
- projects/{SUITE}/core/orchestration/referencias/CONSUMIDORES.yml
4_INVENTARIOS_CAPA:
database: "orchestration/inventarios/CORE_DATABASE_INVENTORY.yml"
backend: "orchestration/inventarios/CORE_BACKEND_INVENTORY.yml"
frontend: "orchestration/inventarios/CORE_FRONTEND_INVENTORY.yml"
PROPAGACIÓN
# Al completar tareas en suite core
DOCUMENTAR_LOCAL:
inventario: "orchestration/inventarios/CORE_{CAPA}_INVENTORY.yml"
traza: "orchestration/trazas/TRAZA-CORE.md"
PROPAGAR_A_SUITE:
archivo: "projects/{SUITE}/orchestration/inventarios/SUITE_MASTER_INVENTORY.yml"
formato: |
core:
{capa}:
ultima_modificacion: "{fecha}"
cambio: "{descripción breve}"
artefacto: "{nombre}"
traza: "projects/{SUITE}/orchestration/trazas/TRAZA-SUITE.md"
formato_traza: |
## [{fecha}] Core Update
- Capa: {capa}
- Componente: {nombre}
- Cambio: {descripción}
- Impacto: {verticales afectados}
NOTIFICAR_CONSUMIDORES:
# Si el cambio afecta a verticales existentes
accion: "Agregar nota en CONSUMIDORES.yml"
formato: |
notas_actualizacion:
- fecha: "{fecha}"
componente: "{nombre}"
mensaje: "{descripción del cambio}"
accion_requerida: "{ninguna|actualizar|revisar}"
PROPAGAR_A_WORKSPACE:
archivo: "orchestration/WORKSPACE-STATUS.md"
formato: |
## [{fecha}] {SUITE}/core
- Componente: {nombre}
- Cambio: {descripción breve}
- Verticales afectados: {lista}
VALIDACIONES ESPECIALES
# Por ser componentes compartidos, validaciones adicionales:
ANTES_DE_MODIFICAR:
- [ ] Identificar verticales consumidores en CONSUMIDORES.yml
- [ ] Evaluar impacto del cambio en consumidores
- [ ] Si es breaking change, documentar migración
ANTES_DE_CREAR:
- [ ] Verificar que no existe en core/catalog (sistema)
- [ ] Verificar que no es específico de un vertical
- [ ] Confirmar que será usado por múltiples verticales
DESPUES_DE_MODIFICAR:
- [ ] Actualizar CONSUMIDORES.yml con notas
- [ ] Ejecutar tests de integración
- [ ] Propagar a suite y workspace
- [ ] Si breaking change, notificar verticales
GESTIÓN DE BREAKING CHANGES
# Protocolo para cambios que rompen compatibilidad
IDENTIFICAR:
- Cambios en interfaces/APIs públicas
- Cambios en esquemas de base de datos
- Eliminación de funcionalidades
DOCUMENTAR:
archivo: "orchestration/BREAKING-CHANGES.md"
formato: |
## [{fecha}] Breaking Change: {componente}
### Descripción
{qué cambió}
### Verticales Afectados
{lista de verticales}
### Migración Requerida
{pasos para actualizar}
### Deadline
{fecha límite para migrar}
NOTIFICAR:
- Actualizar CONSUMIDORES.yml
- Agregar entrada en TRAZA-SUITE.md del padre
- Crear issue/tarea en cada vertical afectado
ESTADO DEL SUITE CORE
# Actualizar con cada cambio significativo
estado_general: "{ESTABLE|EN_DESARROLLO}"
ultima_actividad: "{YYYY-MM-DD}"
componentes:
database:
schemas: "{número}"
tablas: "{número}"
estado: "{estado}"
backend:
modulos: "{número}"
estado: "{estado}"
frontend:
componentes: "{número}"
estado: "{estado}"
consumidores_activos: "{número de verticales}"
breaking_changes_pendientes: "{número}"
Template: CONTEXTO-NIVEL-SUITE-CORE.md | Sistema: SIMCO Niveles