Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
8.6 KiB
8.6 KiB
Template: Estructura de Vertical
Version: 1.0.0 Fecha: 2026-01-03 Aplica a: Creacion de nuevos verticales en suites multi-vertical Relacionado: SIMCO-ESTRUCTURA-REPOS.md, SIMCO-NIVELES.md
Proposito
Este template define la estructura completa para crear un nuevo vertical dentro de una suite (como erp-suite). Seguir esta estructura garantiza consistencia, herencia correcta del suite-core, y compatibilidad con el sistema SIMCO.
Estructura de Directorios
projects/{suite}/apps/verticales/{vertical}/
|
+-- database/
| +-- ddl/
| | +-- schemas/
| | | +-- {vertical}_management/
| | | +-- 00-schema.sql
| | | +-- tables/
| | | | +-- 01-{tabla1}.sql
| | | | +-- 02-{tabla2}.sql
| | | +-- functions/
| | | +-- triggers/
| | | +-- indexes/
| | +-- seeds/
| | +-- migrations/
| +-- scripts/
| +-- recreate-db.sh
| +-- load-seeds.sh
|
+-- backend/
| +-- src/
| | +-- modules/
| | | +-- {modulo1}/
| | | | +-- entities/
| | | | +-- dto/
| | | | +-- {modulo1}.service.ts
| | | | +-- {modulo1}.controller.ts
| | | | +-- {modulo1}.module.ts
| | | +-- {modulo2}/
| | +-- app.module.ts
| +-- test/
| +-- package.json
| +-- tsconfig.json
| +-- nest-cli.json
|
+-- frontend/
| +-- src/
| | +-- pages/
| | +-- components/
| | +-- hooks/
| | +-- services/
| | +-- types/
| +-- package.json
| +-- tsconfig.json
| +-- vite.config.ts
|
+-- docs/
| +-- 00-vision-general/
| | +-- README.md
| +-- 01-especificaciones/
| +-- 02-arquitectura/
|
+-- orchestration/
+-- 00-guidelines/
| +-- CONTEXTO-PROYECTO.md # Contexto del vertical
| +-- HERENCIA-SIMCO.md # Herencia de directivas
| +-- HERENCIA-ERP-CORE.md # Herencia del suite-core
+-- inventarios/
| +-- MASTER_INVENTORY.yml
| +-- DATABASE_INVENTORY.yml
| +-- BACKEND_INVENTORY.yml
| +-- FRONTEND_INVENTORY.yml
+-- trazas/
| +-- TRAZA-TAREAS-DATABASE.md
| +-- TRAZA-TAREAS-BACKEND.md
| +-- TRAZA-TAREAS-FRONTEND.md
+-- referencias/
| +-- DEPENDENCIAS-CORE.yml # Que usa del suite-core
| +-- DEPENDENCIAS-EXTERNAS.yml # Que usa de otros verticales
+-- PROXIMA-ACCION.md
Archivos Obligatorios
1. CONTEXTO-PROYECTO.md
# Contexto del Vertical: {VERTICAL_NAME}
**Suite:** {SUITE_NAME}
**Vertical:** {VERTICAL_NAME}
**Nivel:** 2B.2 (VERTICAL)
**Estado:** {en_desarrollo | produccion}
**Fecha:** {FECHA}
---
## Identificacion
| Campo | Valor |
|-------|-------|
| Nombre | {VERTICAL_NAME} |
| Tipo | VERTICAL |
| Suite Padre | {SUITE_NAME} |
| Ruta Base | projects/{suite}/apps/verticales/{vertical}/ |
| Hereda de | Suite-Core, Suite, Core |
---
## Variables del Proyecto
### Database
```yaml
DB_NAME: "{suite}_{vertical}"
DB_SCHEMA_PREFIX: "{vertical}_"
DDL_PATH: "database/ddl/"
SEEDS_PATH: "database/ddl/seeds/"
Backend
BACKEND_ROOT: "backend/"
BACKEND_SRC: "backend/src/"
BACKEND_PORT: {puerto}
API_PREFIX: "/api/v1"
Frontend
FRONTEND_ROOT: "frontend/"
FRONTEND_SRC: "frontend/src/"
FRONTEND_PORT: {puerto}
Herencia
Del Suite-Core
- Schemas: {lista de schemas heredados}
- Modulos Backend: {lista de modulos}
- Componentes Frontend: {lista de componentes}
Del Core Global
- Directivas SIMCO
- Perfiles de agentes
- Templates
Propagacion
Al completar tareas en este vertical, propagar a:
- Suite:
projects/{suite}/orchestration/ - Workspace:
orchestration/
### 2. HERENCIA-SIMCO.md
```markdown
# Herencia SIMCO: {VERTICAL_NAME}
**Version:** 1.0.0
**Nivel:** 2B.2 (VERTICAL)
---
## Cadena de Herencia
Workspace (NIVEL 0) | +-- Core (NIVEL 1) | +-- Suite: {SUITE_NAME} (NIVEL 2B) | +-- Suite-Core (NIVEL 2B.1) | +-- Este Vertical (NIVEL 2B.2) <-- ESTAS AQUI
---
## Directivas Activas
### Principios (heredados de Core)
- [x] PRINCIPIO-CAPVED.md
- [x] PRINCIPIO-DOC-PRIMERO.md
- [x] PRINCIPIO-ANTI-DUPLICACION.md
- [x] PRINCIPIO-VALIDACION-OBLIGATORIA.md
- [x] PRINCIPIO-ECONOMIA-TOKENS.md
- [x] PRINCIPIO-NO-ASUMIR.md
### SIMCO por Operacion
- [x] SIMCO-TAREA.md
- [x] SIMCO-CREAR.md
- [x] SIMCO-MODIFICAR.md
- [x] SIMCO-VALIDAR.md
- [x] SIMCO-DOCUMENTAR.md
### SIMCO por Dominio
- [x] SIMCO-DDL.md
- [x] SIMCO-BACKEND.md
- [x] SIMCO-FRONTEND.md
### SIMCO de Arquitectura
- [x] SIMCO-ESTRUCTURA-REPOS.md
- [x] SIMCO-NIVELES.md
- [x] SIMCO-PROPAGACION.md
3. HERENCIA-ERP-CORE.md
# Herencia ERP-Core: {VERTICAL_NAME}
**Version:** {ERP_CORE_VERSION}
**Suite:** {SUITE_NAME}
---
## Schemas Heredados
| Schema | Tablas | Uso en Vertical |
|--------|--------|-----------------|
| auth_management | 26 | Autenticacion |
| core_management | 12 | Entidades base |
| ... | ... | ... |
---
## Modulos Backend Heredados
```typescript
// Importar desde suite-core
import { AuthModule } from '@erp-core/auth';
import { CoreModule } from '@erp-core/core';
Reglas de Extension
- NO modificar codigo del suite-core
- Extender mediante herencia o composicion
- Usar FK hacia tablas del core
- Mantener RLS con app.current_tenant_id
Schemas Propios del Vertical
| Schema | Descripcion |
|---|---|
| {vertical}_management | {descripcion} |
### 4. DEPENDENCIAS-CORE.yml
```yaml
# Dependencias del Suite-Core
# Vertical: {VERTICAL_NAME}
version: "1.0.0"
fecha: "{FECHA}"
schemas_heredados:
- schema: "auth_management"
tablas_usadas:
- "users"
- "roles"
- "permissions"
- schema: "core_management"
tablas_usadas:
- "organizations"
- "organization_members"
modulos_backend:
- modulo: "AuthModule"
import: "@erp-core/auth"
funcionalidades:
- "Guards"
- "JWT"
- "Decorators"
componentes_frontend:
- componente: "Layout"
import: "@erp-core/ui"
Comandos de Inicializacion
Crear Estructura Base
# Desde la raiz del workspace
SUITE="erp-suite"
VERTICAL="{nombre_vertical}"
BASE_PATH="projects/$SUITE/apps/verticales/$VERTICAL"
# Crear directorios
mkdir -p $BASE_PATH/{database/ddl/{schemas,seeds,migrations},backend/src/modules,frontend/src/{pages,components},docs,orchestration/{00-guidelines,inventarios,trazas,referencias}}
# Crear archivos base
touch $BASE_PATH/orchestration/00-guidelines/{CONTEXTO-PROYECTO.md,HERENCIA-SIMCO.md,HERENCIA-ERP-CORE.md}
touch $BASE_PATH/orchestration/inventarios/{MASTER_INVENTORY.yml,DATABASE_INVENTORY.yml,BACKEND_INVENTORY.yml,FRONTEND_INVENTORY.yml}
touch $BASE_PATH/orchestration/trazas/{TRAZA-TAREAS-DATABASE.md,TRAZA-TAREAS-BACKEND.md,TRAZA-TAREAS-FRONTEND.md}
touch $BASE_PATH/orchestration/referencias/{DEPENDENCIAS-CORE.yml,DEPENDENCIAS-EXTERNAS.yml}
touch $BASE_PATH/orchestration/PROXIMA-ACCION.md
Checklist de Creacion
## Vertical: {VERTICAL_NAME}
### Estructura Base
- [ ] Directorio creado en apps/verticales/{vertical}/
- [ ] Subdirectorios: database/, backend/, frontend/, docs/, orchestration/
### Orchestration
- [ ] 00-guidelines/CONTEXTO-PROYECTO.md
- [ ] 00-guidelines/HERENCIA-SIMCO.md
- [ ] 00-guidelines/HERENCIA-ERP-CORE.md
- [ ] inventarios/*.yml (4 archivos)
- [ ] trazas/*.md (3 archivos)
- [ ] referencias/DEPENDENCIAS-CORE.yml
- [ ] PROXIMA-ACCION.md
### Database
- [ ] Schema {vertical}_management creado
- [ ] Tablas base creadas
- [ ] Scripts recreate-db.sh
### Backend
- [ ] package.json configurado
- [ ] tsconfig.json con paths a suite-core
- [ ] nest-cli.json
- [ ] Al menos 1 modulo base
### Frontend
- [ ] package.json configurado
- [ ] tsconfig.json con paths
- [ ] vite.config.ts
### Suite
- [ ] Registrado en VERTICALES-INDEX.yml de la suite
- [ ] Registrado en SUITE_MASTER_INVENTORY.yml
### Validacion
- [ ] npm run build pasa en backend
- [ ] npm run build pasa en frontend
- [ ] Carga de DB limpia funciona
Ejemplo: Vertical "clinicas"
projects/erp-suite/apps/verticales/clinicas/
+-- database/
| +-- ddl/schemas/clinicas_management/
| +-- 00-schema.sql
| +-- tables/
| +-- 01-pacientes.sql
| +-- 02-citas.sql
| +-- 03-historias_clinicas.sql
+-- backend/src/modules/
| +-- pacientes/
| +-- citas/
| +-- historias/
+-- frontend/src/
| +-- pages/
| +-- pacientes/
| +-- citas/
+-- orchestration/
+-- 00-guidelines/
+-- CONTEXTO-PROYECTO.md
+-- HERENCIA-SIMCO.md
+-- HERENCIA-ERP-CORE.md
Template Version: 1.0.0 | Sistema: SIMCO | Nivel: 2B.2