workspace/core/README.md
rckrdmrd 789d1ab46b
Some checks failed
CI Pipeline / changes (push) Has been cancelled
CI Pipeline / core (push) Has been cancelled
CI Pipeline / trading-backend (push) Has been cancelled
CI Pipeline / trading-data-service (push) Has been cancelled
CI Pipeline / trading-frontend (push) Has been cancelled
CI Pipeline / erp-core (push) Has been cancelled
CI Pipeline / erp-mecanicas (push) Has been cancelled
CI Pipeline / gamilit-backend (push) Has been cancelled
CI Pipeline / gamilit-frontend (push) Has been cancelled
changes on workspace
2025-12-09 14:46:20 -06:00

120 lines
3.8 KiB
Markdown

# Core - Núcleo de la Fábrica de Software
## Descripción
El directorio `core/` contiene todo lo que se comparte a nivel de **fábrica**, no de proyecto individual:
- Sistema de orquestación de agentes
- Módulos de código reutilizables
- Estándares técnicos y de negocio
- Directivas globales para agentes/subagentes
- Constantes y tipos universales
## Estructura
```
core/
├── modules/ # Código compartido ejecutable
│ ├── utils/ # Utilidades universales ✅
│ │ ├── date.util.ts # Manipulación de fechas
│ │ ├── string.util.ts # Manipulación de strings
│ │ ├── validation.util.ts # Validaciones
│ │ └── index.ts
│ ├── auth/ # Autenticación (por implementar)
│ ├── billing/ # Facturación
│ ├── notifications/ # Notificaciones
│ ├── payments/ # Pagos
│ └── multitenant/ # Multi-tenancy
├── constants/ # Constantes globales ✅
│ ├── enums.constants.ts # Enums universales
│ ├── regex.constants.ts # Patrones regex
│ └── index.ts
├── types/ # Tipos TypeScript compartidos ✅
│ ├── api.types.ts # Tipos de API
│ ├── common.types.ts # Tipos comunes
│ └── index.ts
├── catalog/ # Documentación de funcionalidades
│ ├── auth/
│ ├── notifications/
│ └── ...
├── orchestration/ # Sistema de agentes NEXUS
│ ├── agents/
│ ├── directivas/
│ ├── templates/
│ └── referencias/
└── standards/ # Estándares técnicos globales
├── CODING-STANDARDS.md
├── TESTING-STANDARDS.md
└── ...
```
## Uso
### Importar Utilidades
```typescript
// En cualquier proyecto del workspace
import { formatDate, slugify, isEmail } from '@core/modules/utils';
// O importar específico
import { formatToISO, addDays } from '@core/modules/utils/date.util';
```
### Importar Constantes
```typescript
import { UserStatus, PaymentStatus } from '@core/constants';
import { EMAIL_REGEX, UUID_REGEX } from '@core/constants/regex.constants';
```
### Importar Tipos
```typescript
import { ApiResponse, PaginatedResponse } from '@core/types';
import { BaseEntity, Address } from '@core/types/common.types';
```
## Módulos Disponibles
### Utils (`@core/modules/utils`)
| Archivo | Funciones | Descripción |
|---------|-----------|-------------|
| `date.util.ts` | formatDate, addDays, diffInDays, etc. | Manipulación de fechas |
| `string.util.ts` | slugify, capitalize, truncate, etc. | Manipulación de strings |
| `validation.util.ts` | isEmail, isUUID, isStrongPassword, etc. | Validaciones |
### Constants (`@core/constants`)
| Archivo | Contenido |
|---------|-----------|
| `enums.constants.ts` | UserStatus, PaymentStatus, NotificationType, etc. |
| `regex.constants.ts` | EMAIL_REGEX, UUID_REGEX, PHONE_REGEX, etc. |
### Types (`@core/types`)
| Archivo | Tipos |
|---------|-------|
| `api.types.ts` | ApiResponse, PaginatedResponse, ErrorCodes |
| `common.types.ts` | BaseEntity, Address, Money, Result |
## Proyectos que Usan Core
- **Gamilit** - Plataforma educativa de gamificación
- **Trading Platform** - OrbiQuant IA trading
- **ERP Suite** - Sistema ERP multi-vertical
## Sistema de Orquestación
Los agentes cargan automáticamente las directivas de `core/orchestration/directivas/` al inicializar.
## Ver También
- [Sistema de Orquestación](orchestration/README.md)
- [Catálogo de Funcionalidades](catalog/README.md)
- [Plan de Organización](../PLAN-ORGANIZACION-WORKSPACE.md)