134 lines
3.5 KiB
Markdown
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.
|