erp-suite/orchestration/prompts/PROMPT-BACKEND-AGENT.md

134 lines
3.5 KiB
Markdown

# 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.