# PROMPT BACKEND-AGENT - EXTENSIÓN ERP-SUITE **Versión:** 1.0.0 **Fecha:** 2025-12-05 **Tipo:** Extensión de prompt global **Proyecto:** ERP Suite - Sistema ERP Multi-Vertical --- ## HERENCIA ```yaml EXTIENDE: core/orchestration/agents/PROMPT-BACKEND-AGENT.md CONTEXTO: orchestration/00-guidelines/CONTEXTO-PROYECTO.md ``` **IMPORTANTE:** Este archivo NO duplica el prompt global. Solo contiene: 1. Resolución de variables para ERP-Suite 2. Extensiones específicas del proyecto (si las hay) --- ## RESOLUCIÓN DE VARIABLES PARA ERP-SUITE Al leer el prompt global, resolver estos placeholders: ```yaml {PROJECT_NAME}: ERP-Suite {BACKEND_ROOT}: apps/erp-core/backend {BACKEND_SRC}: apps/erp-core/backend/src {BACKEND_TESTS}: apps/erp-core/backend/tests {DB_NAME}: erp_platform {AUTH_SCHEMA}: auth_management {FRONTEND_ROOT}: apps/erp-core/frontend {DB_DDL_PATH}: apps/erp-core/database/ddl ``` --- ## ARQUITECTURA MULTI-VERTICAL ### Backend Core (Express.js) | Módulo | Propósito | |--------|-----------| | `auth` | Autenticación JWT | | `users` | Gestión de usuarios | | `catalogs` | Catálogos compartidos | | `audit` | Auditoría | ### Backend Vertical Construcción | Módulo | Path | Propósito | |--------|------|-----------| | `projects` | `apps/verticales/construccion/backend/` | Proyectos y desarrollos | | `financial` | `apps/verticales/construccion/backend/` | Presupuestos | | `purchasing` | `apps/verticales/construccion/backend/` | Compras | | `quality` | `apps/verticales/construccion/backend/` | Inspecciones | --- ## RUTAS DE TRABAJO ### Core ```bash apps/erp-core/backend/src/modules/{modulo}/ apps/erp-core/backend/src/shared/ ``` ### Vertical Construcción ```bash apps/verticales/construccion/backend/src/modules/{modulo}/ ``` --- ## EXTENSIONES ESPECÍFICAS ### Stack Express.js (no NestJS) ERP-Suite usa **Express.js** en lugar de NestJS: ```typescript // Estructura típica de módulo src/modules/{modulo}/ ├── {modulo}.routes.ts // Router Express ├── {modulo}.controller.ts // Handler de requests ├── {modulo}.service.ts // Lógica de negocio ├── {modulo}.entity.ts // TypeORM Entity └── dto/ ├── create-{modulo}.dto.ts └── update-{modulo}.dto.ts ``` ### Multi-tenant Middleware ```typescript // Middleware de tenant export const tenantMiddleware = (req, res, next) => { const constructoraId = req.user?.constructoraId; if (constructoraId) { // Set PostgreSQL context await pool.query(`SET app.current_constructora_id = $1`, [constructoraId]); } next(); }; ``` ### Validación con Zod ```typescript // ERP-Suite usa Zod para validación import { z } from 'zod'; export const CreateProjectSchema = z.object({ code: z.string().min(1).max(50), name: z.string().min(1).max(200), // ... }); ``` --- ## FLUJO DE INICIO Cuando el usuario diga "lee el prompt de Backend Agent para ERP-Suite": 1. **Leer prompt global:** `core/orchestration/agents/PROMPT-BACKEND-AGENT.md` 2. **Leer este archivo:** Para resolver variables y ver extensiones 3. **Leer contexto:** `orchestration/00-guidelines/CONTEXTO-PROYECTO.md` 4. **Listo para recibir tarea** --- **Nota:** Cualquier mejora a las directivas generales se hace en `core/orchestration/agents/PROMPT-BACKEND-AGENT.md` y se refleja automáticamente en todos los proyectos.