feat: Add orchestration context and environment configuration

- Add CONTEXT-MAP.yml and ENVIRONMENT-INVENTORY.yml
- Add propagacion-fase8 directory
- Update project dependencies and context

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
rckrdmrd 2026-01-07 05:38:14 -06:00
parent d55fa66523
commit 106adc1de0
9 changed files with 739 additions and 11 deletions

View File

@ -1,7 +1,7 @@
/**
* Database Constants - Schema and table names for ERP-Suite
*
* @module @erp-suite/core/constants
* @module @erp-suite/shared/constants
*/
/**

View File

@ -1,7 +1,7 @@
/**
* Pagination Types - Shared across all ERP-Suite modules
*
* @module @erp-suite/core/types
* @module @erp-suite/shared/types
*/
/**

View File

@ -381,7 +381,7 @@ ADD COLUMN deleted_at TIMESTAMPTZ;
- Multi-company
- Wizard pattern for complex operations
Ver: `/home/isem/workspace/core/knowledge-base/patterns/PATRON-CORE-ODOO.md`
Ver: `../../erp-core/orchestration/directivas/DIRECTIVA-PATRONES-ODOO.md`
## Dependencies
@ -560,6 +560,6 @@ Ver documentación completa: [MULTI-TENANCY.md](./MULTI-TENANCY.md)
- [Multi-Tenancy Guide](./MULTI-TENANCY.md)
- [Vertical Development Guide](./VERTICAL-GUIDE.md)
- [Odoo Patterns](../../../workspace/core/knowledge-base/patterns/PATRON-CORE-ODOO.md)
- [Odoo Patterns](../../erp-core/orchestration/directivas/DIRECTIVA-PATRONES-ODOO.md)
- [Database Schema](../apps/erp-core/database/ddl/)
- [Directivas ERP](../apps/erp-core/orchestration/directivas/)

View File

@ -337,7 +337,7 @@ apps/verticales/{vertical}/
- `core/orchestration/templates/TEMPLATE-PLAN.md`
### Recursos de Referencia
- **Catálogo central:** `core/catalog/` *(componentes reutilizables)*
- **Catálogo central:** `shared/catalog/` *(componentes reutilizables)*
- **Estándares:** `core/standards/` *(estándares de documentación)*
---

View File

@ -188,8 +188,8 @@ COMMENT ON TABLE my_vertical_management.custom_entities IS
```typescript
// backend/src/modules/projects/vertical-project.service.ts
import { ProjectService } from '@erp-core/modules/projects/project.service';
import { CreateProjectDto } from '@erp-core/modules/projects/dto';
import { ProjectService } from '@erp-shared/modules/projects/project.service';
import { CreateProjectDto } from '@erp-shared/modules/projects/dto';
interface CreateVerticalProjectDto extends CreateProjectDto {
// Add vertical-specific fields
@ -530,13 +530,13 @@ Create documentation for your vertical:
import { ProjectService } from '../../../erp-core/backend/src/modules/projects/project.service';
// Option 2: Package import (if separate packages)
import { ProjectService } from '@erp-core/modules/projects';
import { ProjectService } from '@erp-shared/modules/projects';
```
#### Share Types
```typescript
// shared-libs/core/types/index.ts
// shared-libs/shared/types/index.ts
export interface BaseEntity {
id: string;
tenantId: string;
@ -760,4 +760,4 @@ VERTICAL_DB_SCHEMA=my_vertical_management
- [Architecture Documentation](./ARCHITECTURE.md)
- [Multi-Tenancy Guide](./MULTI-TENANCY.md)
- [Core Modules Documentation](../apps/erp-core/docs/)
- [Odoo Development Patterns](../../../workspace/core/knowledge-base/patterns/PATRON-CORE-ODOO.md)
- [Odoo Development Patterns](../../erp-core/orchestration/directivas/DIRECTIVA-PATRONES-ODOO.md)

View File

@ -99,7 +99,7 @@ Este proyecto utiliza las siguientes funcionalidades del catálogo core:
| `auth` | Autenticación centralizada |
| `multi-tenancy` | Separación por empresa/sucursal |
**Path catálogo:** `~/workspace/core/catalog/`
**Path catálogo:** `~/workspace/shared/catalog/`
## Uso para Subagentes

View File

@ -0,0 +1,197 @@
# CONTEXT-MAP: ERP-SUITE
# Sistema: SIMCO - NEXUS v4.0
# Propósito: Mapear contexto automático por nivel y tarea
# Versión: 1.0.0
# Fecha: 2026-01-04
metadata:
proyecto: "erp-suite"
nivel: "SUITE"
version: "1.0.0"
ultima_actualizacion: "2026-01-04"
workspace_root: "/home/isem/workspace-v1"
project_root: "/home/isem/workspace-v1/projects/erp-suite"
# ═══════════════════════════════════════════════════════════════════════════════
# VARIABLES DEL PROYECTO (PRE-RESUELTAS)
# ═══════════════════════════════════════════════════════════════════════════════
variables:
# Identificación
PROJECT: "erp-suite"
PROJECT_NAME: "ERP-SUITE"
PROJECT_LEVEL: "SUITE"
# Paths principales
APPS_ROOT: "/home/isem/workspace-v1/projects/erp-suite/apps"
DOCS_ROOT: "/home/isem/workspace-v1/projects/erp-suite/docs"
ORCHESTRATION_PATH: "/home/isem/workspace-v1/projects/erp-suite/orchestration"
DOCKER_PATH: "/home/isem/workspace-v1/projects/erp-suite/docker"
SCRIPTS_PATH: "/home/isem/workspace-v1/projects/erp-suite/scripts"
# Verticales
VERTICALES:
- erp-core
- erp-clinicas
- erp-construccion
- erp-mecanicas-diesel
- erp-retail
- erp-vidrio-templado
# ═══════════════════════════════════════════════════════════════════════════════
# 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"
# Suite específico
"@APPS": "/home/isem/workspace-v1/projects/erp-suite/apps"
"@PRODUCTS": "/home/isem/workspace-v1/projects/erp-suite/apps/products"
"@SAAS": "/home/isem/workspace-v1/projects/erp-suite/apps/saas"
"@SHARED_LIBS": "/home/isem/workspace-v1/projects/erp-suite/apps/shared-libs"
"@DOCS": "/home/isem/workspace-v1/projects/erp-suite/docs"
# Verticales como proyectos separados
"@ERP_CORE": "/home/isem/workspace-v1/projects/erp-core"
"@ERP_CLINICAS": "/home/isem/workspace-v1/projects/erp-clinicas"
"@ERP_CONSTRUCCION": "/home/isem/workspace-v1/projects/erp-construccion"
"@ERP_MECANICAS": "/home/isem/workspace-v1/projects/erp-mecanicas-diesel"
"@ERP_RETAIL": "/home/isem/workspace-v1/projects/erp-retail"
"@ERP_VIDRIO": "/home/isem/workspace-v1/projects/erp-vidrio-templado"
# Inventarios
"@INVENTORY": "/home/isem/workspace-v1/projects/erp-suite/orchestration/inventarios"
# ═══════════════════════════════════════════════════════════════════════════════
# 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: "Documentación antes de código"
tokens: 500
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md"
proposito: "Verificar catálogo 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: "Límites de contexto"
tokens: 500
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-NO-ASUMIR.md"
proposito: "Preguntar si falta información"
tokens: 500
- path: "/home/isem/workspace-v1/orchestration/referencias/ALIASES.yml"
proposito: "Resolución de @ALIAS"
tokens: 400
L1_proyecto:
descripcion: "Contexto específico de ERP-SUITE"
tokens_estimados: 3000
obligatorio: true
archivos:
- path: "/home/isem/workspace-v1/projects/erp-suite/orchestration/00-guidelines/CONTEXTO-PROYECTO.md"
proposito: "Variables y configuración del proyecto"
tokens: 1500
- path: "/home/isem/workspace-v1/projects/erp-suite/orchestration/PROXIMA-ACCION.md"
proposito: "Estado actual y siguiente paso"
tokens: 500
L2_operacion:
descripcion: "SIMCO específicos según operación 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"
L3_tarea:
descripcion: "Contexto específico de la tarea"
tokens_max: 8000
dinamico: true
# ═══════════════════════════════════════════════════════════════════════════════
# INFORMACIÓN ESPECÍFICA DEL PROYECTO
# ═══════════════════════════════════════════════════════════════════════════════
info_proyecto:
tipo: "Sistema ERP Multi-Vertical"
estado: "En desarrollo activo"
version: "1.0"
stack:
backend: "Node.js 20+, Express.js, TypeScript 5.3+, TypeORM"
frontend: "React 18, Vite, TypeScript, Tailwind CSS"
mobile: "React Native"
database: "PostgreSQL 15+ con RLS"
verticales_estado:
erp-core: "60%"
erp-construccion: "35%"
erp-vidrio-templado: "0%"
erp-mecanicas-diesel: "0%"
erp-retail: "0%"
erp-clinicas: "0%"
# ═══════════════════════════════════════════════════════════════════════════════
# VALIDACIÓN 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: "SUITE"
hereda_de:
- "/home/isem/workspace-v1/orchestration/"
provee_a:
- "/home/isem/workspace-v1/projects/erp-core/"
- "/home/isem/workspace-v1/projects/erp-clinicas/"
- "/home/isem/workspace-v1/projects/erp-construccion/"
- "/home/isem/workspace-v1/projects/erp-mecanicas-diesel/"
- "/home/isem/workspace-v1/projects/erp-retail/"
- "/home/isem/workspace-v1/projects/erp-vidrio-templado/"
# ═══════════════════════════════════════════════════════════════════════════════
# BÚSQUEDA DE HISTÓRICO
# ═══════════════════════════════════════════════════════════════════════════════
busqueda_historico:
habilitado: true
ubicaciones:
- "/home/isem/workspace-v1/projects/erp-suite/orchestration/trazas/"
- "/home/isem/workspace-v1/orchestration/errores/REGISTRO-ERRORES.yml"
- "/home/isem/workspace-v1/shared/knowledge-base/lessons-learned/"

View File

@ -0,0 +1,122 @@
# PROJECT STATUS - ERP Suite
**Fecha:** 2026-01-07
**Estado:** Gap Analysis Completo
**Fase:** Pre-Implementacion
---
## Resumen Ejecutivo
| Aspecto | Estado | Notas |
|---------|--------|-------|
| Gap Analysis | Completado | vs Odoo 18 |
| Documentacion | Completa | 30 specs transversales |
| Database Core | Pendiente | DDL no iniciado |
| Backend Core | Pendiente | NestJS planificado |
| Frontend Core | Pendiente | React planificado |
| Verticales | Planificacion | 5 verticales definidas |
---
## Progreso por Componente
### ERP Core (2B.1)
| Aspecto | Documentacion | Implementacion |
|---------|---------------|----------------|
| Especificaciones | 100% | 0% |
| Workflows | 100% | 0% |
| Gaps P0 | 18/18 doc | 0/18 impl |
| Gaps P1 | 22/22 doc | 0/22 impl |
| Story Points | 394 SP | 0 SP |
### Verticales (2B.2)
| Vertical | Documentacion | Implementacion |
|----------|---------------|----------------|
| construccion | 35% | 0% |
| vidrio-templado | 0% | 0% |
| mecanicas-diesel | 0% | 0% |
| retail | 0% | 0% |
| clinicas | 0% | 0% |
---
## Gap Analysis Completado
### Gaps P0 (Funcionales Criticos)
- Auth: API Keys, 2FA, OAuth2
- Users y Roles: Permisos granulares
- Tenants: Multi-tenancy completo
- 18 gaps documentados con specs
### Gaps P1 (Mejoras)
- 22 gaps documentados
- Patrones tecnicos definidos
### Workflows Documentados
1. Cierre de periodo contable
2. 3-Way Match (compras)
3. Pagos anticipados
---
## Estructura SIMCO
| Inventario | Estado |
|------------|--------|
| SUITE_MASTER_INVENTORY.yml | Creado |
| STATUS.yml | Creado |
| REFERENCIAS.yml | Creado |
| TRAZA-SUITE.md | Creado |
---
## Proximas Acciones
### Opcion A: Implementar Modulos P0 Core (Recomendado)
1. MGN-001 Auth
2. MGN-002 Users
3. MGN-003 Roles
4. MGN-004 Tenants
### Opcion B: Documentar Herencia Verticales
- Crear HERENCIA-ERP-CORE.md en cada vertical
### Opcion C: Completar Estructura Verticales
- Verificar orchestration de verticales menores
---
## Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Complejidad multi-vertical | Alta | Alto | Arquitectura modular |
| Divergencia verticales | Media | Alto | SIMCO propagacion |
| Migracion datos existentes | Media | Alto | ETL gradual |
---
## Metricas
| Metrica | Objetivo | Actual |
|---------|----------|--------|
| Documentacion Core | 100% | 100% |
| Implementacion Core | 100% | 0% |
| Verticales documentadas | 5 | 1 (20%) |
| Story Points totales | 394 | 0 completados |
---
## Referencias
- Analisis Gaps: `apps/erp-core/orchestration/01-analisis/ANALISIS-GAPS-CONSOLIDADO.md`
- Inventario: `apps/erp-core/orchestration/inventarios/MASTER_INVENTORY.yml`
- Specs: `apps/erp-core/docs/04-modelado/especificaciones-tecnicas/transversal/`
---
**Ultima actualizacion:** 2026-01-07
**Actualizado por:** Orquestador

View File

@ -0,0 +1,409 @@
# =============================================================================
# ENVIRONMENT-INVENTORY.yml - ERP-SUITE
# =============================================================================
# Inventario de Entorno de Desarrollo - Suite ERP Multi-vertical
# Generado por: @PERFIL_DEVENV
# Basado en: orchestration/templates/TEMPLATE-ENVIRONMENT-INVENTORY.yml
# =============================================================================
version: "1.0.0"
fecha_creacion: "2026-01-04"
fecha_actualizacion: "2026-01-04"
responsable: "@PERFIL_DEVENV"
# -----------------------------------------------------------------------------
# IDENTIFICACION DEL PROYECTO
# -----------------------------------------------------------------------------
proyecto:
nombre: "ERP Suite"
alias: "erp"
nivel: "NIVEL_2B"
tipo: "suite"
estado: "desarrollo"
descripcion: "Suite ERP con multiples verticales industriales"
# -----------------------------------------------------------------------------
# HERRAMIENTAS Y RUNTIME
# -----------------------------------------------------------------------------
herramientas:
runtime:
node:
version: "20.x"
requerido: true
notas: "LTS recomendado para todos los modulos"
package_managers:
npm:
version: "10.x"
requerido: true
pnpm:
version: "8.x"
requerido: false
notas: "Alternativa para monorepo"
build_tools:
- nombre: "Vite"
version: "5.x"
uso: "Frontend build"
- nombre: "TypeScript"
version: "5.x"
uso: "Compilacion"
- nombre: "NestJS CLI"
version: "10.x"
uso: "Backend build"
linters:
- nombre: "ESLint"
version: "8.x"
config: ".eslintrc.js"
- nombre: "Prettier"
version: "3.x"
config: ".prettierrc"
testing:
- nombre: "Jest"
version: "29.x"
tipo: "unit"
config: "jest.config.js"
- nombre: "Vitest"
version: "1.x"
tipo: "unit frontend"
config: "vitest.config.ts"
# -----------------------------------------------------------------------------
# SERVICIOS Y PUERTOS - CORE
# -----------------------------------------------------------------------------
servicios:
erp_core:
frontend:
nombre: "erp-core-frontend"
framework: "React"
version: "18.x"
puerto: 3010
ubicacion: "apps/erp-core/frontend/"
url_local: "http://localhost:3010"
backend:
nombre: "erp-core-backend"
framework: "NestJS"
version: "10.x"
puerto: 3011
ubicacion: "apps/erp-core/backend/"
url_local: "http://localhost:3011"
api_prefix: "/api/v1"
# -----------------------------------------------------------------------------
# SERVICIOS Y PUERTOS - VERTICALES
# -----------------------------------------------------------------------------
verticales:
construccion:
frontend:
puerto: 3020
ubicacion: "apps/verticales/construccion/frontend/"
url_local: "http://localhost:3020"
backend:
puerto: 3021
ubicacion: "apps/verticales/construccion/backend/"
url_local: "http://localhost:3021"
db_puerto: 5433
redis_puerto: 6380
vidrio_templado:
frontend:
puerto: 3030
ubicacion: "apps/verticales/vidrio-templado/frontend/"
url_local: "http://localhost:3030"
backend:
puerto: 3031
ubicacion: "apps/verticales/vidrio-templado/backend/"
url_local: "http://localhost:3031"
db_puerto: 5434
redis_puerto: 6381
mecanicas_diesel:
frontend:
puerto: 3040
ubicacion: "apps/verticales/mecanicas-diesel/frontend/"
url_local: "http://localhost:3040"
backend:
puerto: 3041
ubicacion: "apps/verticales/mecanicas-diesel/backend/"
url_local: "http://localhost:3041"
retail:
frontend:
puerto: 3050
ubicacion: "apps/verticales/retail/frontend/"
url_local: "http://localhost:3050"
backend:
puerto: 3051
ubicacion: "apps/verticales/retail/backend/"
url_local: "http://localhost:3051"
db_puerto: 5436
redis_puerto: 6383
clinicas:
frontend:
puerto: 3060
ubicacion: "apps/verticales/clinicas/frontend/"
url_local: "http://localhost:3060"
backend:
puerto: 3061
ubicacion: "apps/verticales/clinicas/backend/"
url_local: "http://localhost:3061"
db_puerto: 5437
redis_puerto: 6384
# -----------------------------------------------------------------------------
# BASE DE DATOS
# -----------------------------------------------------------------------------
base_de_datos:
principal:
engine: "PostgreSQL"
version: "15"
host: "localhost"
puerto: 5432
ambientes:
development:
nombre: "erp_generic"
usuario: "erp_admin"
password_ref: "DB_PASSWORD en .env"
test:
nombre: "erp_test"
usuario: "erp_admin"
password_ref: "DB_PASSWORD en .env"
schemas:
- nombre: "public"
descripcion: "Schema principal"
- nombre: "core"
descripcion: "Funcionalidades core compartidas"
- nombre: "auth"
descripcion: "Autenticacion y usuarios"
conexion_ejemplo: "postgresql://erp_admin:{password}@localhost:5432/erp_generic"
verticales_separadas:
construccion:
puerto: 5433
nombre: "erp_construccion"
vidrio_templado:
puerto: 5434
nombre: "erp_vidrio"
retail:
puerto: 5436
nombre: "erp_retail"
clinicas:
puerto: 5437
nombre: "erp_clinicas"
redis:
default:
puerto: 6379
uso: "core cache"
construccion:
puerto: 6380
vidrio_templado:
puerto: 6381
retail:
puerto: 6383
clinicas:
puerto: 6384
# -----------------------------------------------------------------------------
# VARIABLES DE ENTORNO
# -----------------------------------------------------------------------------
variables_entorno:
archivo_ejemplo: ".env.example"
archivo_puertos: ".env.ports"
variables:
- nombre: "NODE_ENV"
descripcion: "Ambiente de ejecucion"
requerido: true
sensible: false
ejemplo: "development"
- nombre: "ERP_CORE_PORT"
descripcion: "Puerto del backend core"
requerido: true
sensible: false
ejemplo: "3011"
- nombre: "DATABASE_URL"
descripcion: "Connection string de PostgreSQL"
requerido: true
sensible: true
ejemplo: "postgresql://erp_admin:password@localhost:5432/erp_generic"
- nombre: "JWT_SECRET"
descripcion: "Secreto para JWT"
requerido: true
sensible: true
ejemplo: ""
# -----------------------------------------------------------------------------
# CONTENEDORES DOCKER
# -----------------------------------------------------------------------------
docker:
compose_file: "docker-compose.yml"
services:
- nombre: "db"
imagen: "postgres:15-alpine"
puerto_host: 5432
puerto_container: 5432
- nombre: "db-construccion"
imagen: "postgres:15-alpine"
puerto_host: 5433
puerto_container: 5432
- nombre: "redis"
imagen: "redis:7-alpine"
puerto_host: 6379
puerto_container: 6379
volumes:
- nombre: "postgres_data"
descripcion: "Datos de PostgreSQL core"
networks:
- nombre: "erp_network"
driver: "bridge"
# -----------------------------------------------------------------------------
# MAPA VISUAL DE PUERTOS
# -----------------------------------------------------------------------------
#
# ERP-CORE:
# Frontend: 3010
# Backend: 3011
#
# VERTICALES:
# Construccion: 3020/3021 (DB: 5433, Redis: 6380)
# Vidrio-Templado: 3030/3031 (DB: 5434, Redis: 6381)
# Mecanicas-Diesel: 3040/3041
# Retail: 3050/3051 (DB: 5436, Redis: 6383)
# Clinicas: 3060/3061 (DB: 5437, Redis: 6384)
#
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# SCRIPTS DE DESARROLLO
# -----------------------------------------------------------------------------
scripts:
setup:
descripcion: "Configurar entorno desde cero"
pasos:
- "npm install"
- "cp .env.example .env"
- "docker-compose up -d"
- "npm run migration:run"
desarrollo:
core: "npm run dev:core"
vertical: "npm run dev:vertical -- --name={vertical}"
all: "npm run dev:all"
testing:
unit: "npm run test"
e2e: "npm run test:e2e"
build:
all: "npm run build"
core: "npm run build:core"
# -----------------------------------------------------------------------------
# INSTRUCCIONES DE SETUP
# -----------------------------------------------------------------------------
setup_instrucciones: |
## Setup del Entorno de Desarrollo - ERP Suite
### Prerequisitos
- Node.js 20.x
- PostgreSQL 15 (o Docker)
- Redis 7 (o Docker)
- npm 10.x
### Pasos
1. Clonar repositorio:
```bash
git clone <url_repo>
cd erp-suite
```
2. Instalar dependencias:
```bash
npm install
```
3. Configurar variables de entorno:
```bash
cp .env.example .env
# Editar .env con valores locales
```
4. Levantar servicios Docker:
```bash
docker-compose up -d
```
5. Ejecutar migraciones:
```bash
npm run migration:run
```
6. Iniciar desarrollo (core):
```bash
npm run dev:core
```
7. Iniciar vertical especifica:
```bash
npm run dev:vertical -- --name=construccion
```
### Verificar
- Core Frontend: http://localhost:3010
- Core Backend: http://localhost:3011/api/v1
# -----------------------------------------------------------------------------
# TROUBLESHOOTING
# -----------------------------------------------------------------------------
troubleshooting:
- problema: "Conflicto de puertos entre verticales"
solucion: "Verificar .env.ports. Cada vertical tiene rango asignado"
- problema: "BD de vertical no conecta"
solucion: "Verificar que docker-compose levanto el servicio de BD correcto"
- problema: "Redis no disponible"
solucion: "docker-compose up -d redis. Verificar puerto correcto para vertical"
# -----------------------------------------------------------------------------
# REFERENCIAS
# -----------------------------------------------------------------------------
referencias:
perfil_devenv: "orchestration/agents/perfiles/PERFIL-DEVENV.md"
inventario_master: "orchestration/inventarios/DEVENV-MASTER-INVENTORY.yml"
inventario_puertos: "orchestration/inventarios/DEVENV-PORTS-INVENTORY.yml"
env_ports: ".env.ports"
# =============================================================================
# FIN DE INVENTARIO
# =============================================================================