workspace-v1/orchestration/templates/TEMPLATE-ESTRUCTURA-VERTICAL.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
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
2026-01-04 03:37:42 -06:00

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:

  1. Suite: projects/{suite}/orchestration/
  2. 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

  1. NO modificar codigo del suite-core
  2. Extender mediante herencia o composicion
  3. Usar FK hacia tablas del core
  4. 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