# Contexto del Proyecto: ERP Construcción (Vertical)

## Metadatos

| Campo | Valor |
|-------|-------|
| **Nombre** | ERP Construcción - Vertical INFONAVIT |
| **Tipo** | Vertical ERP / Extensión de erp-core |
| **Estado** | En desarrollo |
| **Progreso** | 35% |
| **Versión** | 0.1.0 |
| **Base** | Extiende erp-core (60-70%) |
| **Extensión** | Módulos específicos (+30-40%) |
| **Path** | `/home/isem/workspace/projects/erp-suite/apps/verticales/construccion/` |

## Descripción

Vertical especializada para empresas constructoras con integración INFONAVIT. Extiende el erp-core con módulos específicos para:
- Gestión de proyectos de construcción (horizontal, vertical, mixto)
- Presupuestos y control de costos por partida
- Estimaciones y avances de obra
- Integración con programas INFONAVIT
- Control de calidad y postventa
- CRM para derechohabientes

## Arquitectura de Herencia

```
┌────────────────────────────────────────────────────────────────┐
│                    Global Workspace (core/)                     │
│  Directivas globales, templates, prompts base                  │
└──────────────────────────┬─────────────────────────────────────┘
                           │ hereda
┌──────────────────────────▼─────────────────────────────────────┐
│                      ERP-Suite (erp-core)                       │
│  Módulos base: auth, users, roles, tenants, catalogs           │
│  60-70% de funcionalidad compartida                            │
└──────────────────────────┬─────────────────────────────────────┘
                           │ extiende
┌──────────────────────────▼─────────────────────────────────────┐
│                  Vertical Construcción                          │
│  +30-40% funcionalidad específica                              │
│  Proyectos, presupuestos, estimaciones, INFONAVIT             │
└────────────────────────────────────────────────────────────────┘
```

## Stack Tecnológico

### Backend

| Componente | Tecnología | Versión |
|------------|------------|---------|
| Runtime | Node.js | 20+ |
| Framework | Express.js | 4.x |
| Lenguaje | TypeScript | 5.3+ |
| ORM | TypeORM | 0.3.17 |
| Database | PostgreSQL | 15+ |
| Auth | JWT + bcryptjs | - |
| Validación | class-validator + Zod | - |
| Logs | Winston | - |

### Frontend Web

| Componente | Tecnología | Versión |
|------------|------------|---------|
| Framework | React | 18 |
| Build | Vite | 5.x |
| Lenguaje | TypeScript | 5.3+ |
| State | Zustand | - |
| Styling | Tailwind CSS | 4.x |
| Forms | React Hook Form + Zod | - |
| Tables | TanStack Table | - |
| Charts | Recharts | - |

### Frontend Mobile

| Componente | Tecnología | Versión |
|------------|------------|---------|
| Framework | React Native | 0.73+ |
| Build | Expo | 50+ |
| Navigation | React Navigation | 6.x |
| Offline | WatermelonDB | - |

## Paths del Proyecto

```yaml
raiz: /home/isem/workspace/projects/erp-suite/apps/verticales/construccion/

estructura:
  backend/: Extensiones backend
    src/:
      modules/: Módulos específicos
      shared/: Código compartido
      config/: Configuraciones

  frontend/:
    web/: Aplicación web
      src/:
        components/: Componentes React
        pages/: Páginas/Vistas
        stores/: Estado Zustand
        services/: API clients
        hooks/: Custom hooks
        types/: TypeScript types

    mobile/: App móvil para campo
      src/:
        screens/: Pantallas
        components/: Componentes
        services/: API + offline

  database/:
    ddl/: Scripts DDL por schema
    migrations/: Migraciones
    seeds/: Datos semilla

  docs/: Documentación completa (403+ archivos)
    00-overview/: Visión general, glosario
    00-analisis-referencias/: Análisis de otros ERPs
    01-fase-alcance-inicial/: 15 módulos MAI-*
    02-fase-enterprise/: 3 épicas MAE-*
    02-modelado/: Schemas SQL
    03-fase-avanzada/: Épicas MAA-*

  orchestration/: Sistema de agentes
    00-guidelines/: Este archivo, herencia
    01-analisis/: Análisis de tareas
    02-planeacion/: Planes de trabajo
    03-tareas/: Tareas por agente
    04-ejecucion-logs/: Logs de ejecución
    05-validaciones/: Checklists
    directivas/: Directivas específicas
    prompts/: Prompts especializados
    trazas/: Historial por agente
    estados/: Estado de agentes
    inventarios/: Inventarios YAML
```

## Módulos del Sistema

### Fase 1: Alcance Inicial (15 módulos - 210 SP)

| Código | Módulo | Descripción | SP | Estado |
|--------|--------|-------------|-----|--------|
| MAI-001 | Fundamentos | Auth, usuarios, roles (extiende core) | 15 | Planificado |
| MAI-002 | Proyectos | Gestión de proyectos y estructura | 20 | Planificado |
| MAI-003 | Presupuestos | Presupuestos y control de costos | 25 | Planificado |
| MAI-004 | Compras | Compras e inventarios de obra | 20 | Planificado |
| MAI-005 | Control Obra | Avances y recursos | 15 | Planificado |
| MAI-006 | Reportes | Analytics y reportería | 10 | Planificado |
| MAI-007 | RRHH | Recursos humanos y asistencias | 15 | Planificado |
| MAI-008 | Estimaciones | Estimaciones y facturación | 20 | Planificado |
| MAI-009 | Calidad | Calidad y postventa | 15 | Planificado |
| MAI-010 | CRM | CRM Derechohabientes | 15 | Planificado |
| MAI-011 | INFONAVIT | Integración INFONAVIT | 15 | Planificado |
| MAI-012 | Contratos | Contratos y subcontratos | 10 | Planificado |
| MAI-013 | Administración | Seguridad y administración | 10 | Planificado |
| MAI-018 | Preconstrucción | Licitaciones y propuestas | 5 | Planificado |

### Fase 2: Enterprise (3 épicas - 210 SP)

| Código | Épica | Descripción | SP | Estado |
|--------|-------|-------------|-----|--------|
| MAE-014 | Finanzas | Finanzas y Controlling | 80 | Planificado |
| MAE-015 | Activos | Activos y Maquinaria | 70 | Planificado |
| MAE-016 | Documental | Gestión Documental | 60 | Planificado |

### Fase 3: Avanzada (1 épica)

| Código | Épica | Descripción | Estado |
|--------|-------|-------------|--------|
| MAA-017 | HSE | Seguridad, Higiene y Ambiente | Planificado |

## Schemas de Base de Datos

### Schemas Específicos de Construcción

| Schema | Descripción | Tablas Estimadas |
|--------|-------------|------------------|
| `project_management` | Proyectos, fases, unidades | 8 |
| `financial_management` | Presupuestos, estimaciones | 10 |
| `purchasing_management` | Compras, proveedores | 8 |
| `construction_management` | Avances, recursos | 6 |
| `quality_management` | Inspecciones, calidad | 5 |
| `infonavit_management` | Cumplimiento INFONAVIT | 6 |
| `contracts_management` | Contratos, subcontratos | 5 |
| `crm_management` | CRM derechohabientes | 6 |
| `hr_management` | RRHH específico | 4 |

### Extensión de Core

| Schema Core | Extensión |
|-------------|-----------|
| `core_auth` → | `auth_management` (campos adicionales) |
| `core_catalogs` → | `catalog_management` (catálogos construcción) |

## Convenciones de Nomenclatura

### Códigos de Entidades

```yaml
proyectos:
  formato: "PROJ-{YYYY}-{NNN}"
  ejemplo: "PROJ-2025-001"

fases:
  formato: "{PROJ_CODE}-E{NN}"
  ejemplo: "PROJ-2025-001-E03"

unidades:
  horizontal: "M{MZ}-L{LT}"    # Manzana-Lote
  vertical: "T{TW}-P{PO}-D{DP}" # Torre-Piso-Depto
  ejemplo: "M15-L07" / "T01-P05-D02"

presupuesto:
  partida: "{NN}"              # 01
  subpartida: "{NN}.{NN}"      # 01.03
  concepto: "{NN}.{NN}.{NNN}"  # 01.03.015

estimaciones:
  formato: "EST-{PROJ}-{NNN}"
  ejemplo: "EST-PROJ-2025-001-015"

contratos:
  formato: "CTR-{YYYY}-{NNN}"
  ejemplo: "CTR-2025-042"
```

### Nomenclatura de Código

```yaml
archivos:
  typescript: kebab-case.tipo.ts
  componentes: PascalCase.tsx
  tests: nombre.spec.ts / nombre.test.ts

clases:
  entidades: {Nombre}Entity
  servicios: {Nombre}Service
  controllers: {Nombre}Controller
  dtos: Create{Nombre}Dto, Update{Nombre}Dto

métodos:
  CRUD: findAll, findById, create, update, delete
  específicos: camelCase + verbo descriptivo

schemas_bd:
  formato: {dominio}_management
  tablas: snake_case_plural
  columnas: snake_case
```

## Directivas Específicas

### Directivas Heredadas (de Core)

1. **Multi-Tenant**: `tenant_id` obligatorio en toda query
2. **RLS Policies**: Aislamiento por tenant
3. **Auditoría**: Columnas de tracking obligatorias
4. **Extensión**: No modificar core, solo extender

### Directivas Propias

| Archivo | Alcance | Descripción |
|---------|---------|-------------|
| `DIRECTIVA-INTEGRACION-INFONAVIT.md` | MAI-011 | Reglas para integración INFONAVIT |
| `DIRECTIVA-CONTROL-OBRA.md` | MAI-002,005,012 | Jerarquía de proyectos, avances |
| `DIRECTIVA-ESTIMACIONES.md` | MAI-008 | Estimaciones, retenciones, anticipos |

## Flujo de Trabajo de Agentes

### Análisis
1. Leer `/docs/01-fase-alcance-inicial/MAI-{XXX}/` del módulo
2. Revisar especificaciones en `/especificaciones/`
3. Verificar directivas aplicables

### Planeación
1. Documentar en `/orchestration/02-planeacion/`
2. Crear tareas en `/orchestration/03-tareas/`

### Ejecución
1. Seguir prompts específicos
2. Aplicar directivas de construcción
3. Registrar logs en `/04-ejecucion-logs/`

### Validación
1. Ejecutar checklists en `/05-validaciones/`
2. Verificar multi-tenant, RLS, tests

### Trazabilidad
1. Registrar en `/orchestration/trazas/TRAZA-TAREAS-{AGENTE}.md`
2. Actualizar `/orchestration/estados/ESTADO-AGENTES.json`

## Prompts Disponibles

| Prompt | Uso |
|--------|-----|
| `PROMPT-CONSTRUCCION-BACKEND-AGENT.md` | Desarrollo backend específico |
| `PROMPT-CONSTRUCCION-DATABASE-AGENT.md` | DDL, schemas, RLS |
| `PROMPT-CONSTRUCCION-FRONTEND-AGENT.md` | UI/UX específica |

## Referencias Clave

### Documentación
- **Especificaciones técnicas:** `/docs/01-fase-alcance-inicial/MAI-*/especificaciones/`
- **Schemas SQL:** `/docs/02-modelado/database-design/schemas/`
- **RLS Policies:** `/docs/01-fase-alcance-inicial/*/implementacion/*-rls-policies.sql`
- **Historias de usuario:** `/docs/01-fase-alcance-inicial/MAI-*/historias-usuario/`

### Código de Referencia
- **Core base:** `/home/isem/workspace/projects/erp-suite/apps/erp-core/`
- **Catálogo core:** `/home/isem/workspace/core/catalog/`

### Herencia de Directivas
- **Globales:** `/home/isem/workspace/core/orchestration/directivas/`
- **ERP Core:** `/home/isem/workspace/projects/erp-suite/apps/erp-core/orchestration/directivas/`
- **Construcción:** `./directivas/`

---
*Última actualización: Diciembre 2025*
*Sistema NEXUS - ERP Construcción Vertical*
