Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
489 lines
12 KiB
Markdown
489 lines
12 KiB
Markdown
# GUIA: ONBOARDING DE NUEVO PROYECTO
|
|
|
|
**Version:** 1.0.0
|
|
**Fecha:** 2025-12-12
|
|
**Sistema:** SIMCO + CAPVED
|
|
**Proposito:** Checklist completo para crear un nuevo proyecto con estructura SIMCO
|
|
|
|
---
|
|
|
|
## RESUMEN
|
|
|
|
Esta guia proporciona todos los pasos necesarios para crear un nuevo proyecto en el workspace que cumpla con el sistema SIMCO y permita trabajar con agentes de forma efectiva.
|
|
|
|
---
|
|
|
|
## PREREQUISITOS
|
|
|
|
```yaml
|
|
antes_de_empezar:
|
|
- [ ] Nombre del proyecto definido (lowercase, sin espacios)
|
|
- [ ] Tipo de proyecto identificado (STANDALONE | SUITE | VERTICAL)
|
|
- [ ] Stack tecnologico decidido
|
|
- [ ] Workspace clonado y actualizado
|
|
```
|
|
|
|
---
|
|
|
|
## FASE 1: CREAR ESTRUCTURA DE CARPETAS
|
|
|
|
### 1.1 Estructura Base del Proyecto
|
|
|
|
```bash
|
|
# Reemplazar {proyecto} con el nombre real
|
|
PROJECT_NAME="{proyecto}"
|
|
PROJECT_PATH="${HOME}/workspace/projects/${PROJECT_NAME}"
|
|
|
|
# Crear estructura principal
|
|
mkdir -p "${PROJECT_PATH}"/{apps,docs,orchestration}
|
|
|
|
# Crear estructura de apps
|
|
mkdir -p "${PROJECT_PATH}/apps"/{database,backend,frontend}
|
|
|
|
# Crear estructura de database
|
|
mkdir -p "${PROJECT_PATH}/apps/database"/{ddl,seeds,scripts}
|
|
mkdir -p "${PROJECT_PATH}/apps/database/ddl/schemas"
|
|
|
|
# Crear estructura de backend
|
|
mkdir -p "${PROJECT_PATH}/apps/backend"/{src,test}
|
|
mkdir -p "${PROJECT_PATH}/apps/backend/src"/{modules,shared,config}
|
|
|
|
# Crear estructura de frontend
|
|
mkdir -p "${PROJECT_PATH}/apps/frontend"/{src,public}
|
|
mkdir -p "${PROJECT_PATH}/apps/frontend/src"/{components,hooks,pages,stores,types,services}
|
|
```
|
|
|
|
### 1.2 Estructura de Orchestration (SIMCO)
|
|
|
|
```bash
|
|
# Crear estructura de orchestration completa
|
|
mkdir -p "${PROJECT_PATH}/orchestration"/{00-guidelines,01-analisis,02-planeacion,03-tareas,04-ejecucion-logs,05-validaciones,06-subagentes,estados,inventarios,trazas,directivas,prompts,templates}
|
|
```
|
|
|
|
### 1.3 Estructura de Documentacion
|
|
|
|
```bash
|
|
# Crear estructura de docs
|
|
mkdir -p "${PROJECT_PATH}/docs"/{00-vision-general,95-guias-desarrollo,97-adr}
|
|
```
|
|
|
|
---
|
|
|
|
## FASE 2: CREAR ARCHIVOS OBLIGATORIOS
|
|
|
|
### 2.1 CONTEXTO-PROYECTO.md
|
|
|
|
Crear `orchestration/00-guidelines/CONTEXTO-PROYECTO.md`:
|
|
|
|
```markdown
|
|
# Contexto del Proyecto - {NOMBRE_PROYECTO}
|
|
|
|
## Identificacion
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **Nombre** | {NOMBRE_PROYECTO} |
|
|
| **Tipo** | {Descripcion del proyecto} |
|
|
| **Estado** | Inicial |
|
|
| **Version** | 0.1.0 |
|
|
|
|
## Descripcion
|
|
|
|
{Descripcion breve del proyecto y su proposito}
|
|
|
|
---
|
|
|
|
## VARIABLES PARA DIRECTIVAS GLOBALES
|
|
|
|
```yaml
|
|
# Identificacion del Proyecto
|
|
PROJECT: {proyecto}
|
|
PROJECT_NAME: {NOMBRE_PROYECTO}
|
|
|
|
# Paths Principales
|
|
PROJECT_ROOT: ~/workspace/projects/{proyecto}
|
|
APPS_ROOT: ~/workspace/projects/{proyecto}/apps
|
|
DOCS_ROOT: ~/workspace/projects/{proyecto}/docs
|
|
ORCHESTRATION: ~/workspace/projects/{proyecto}/orchestration
|
|
|
|
# Base de Datos
|
|
DB_NAME: {proyecto}_db
|
|
DB_DDL_PATH: ~/workspace/projects/{proyecto}/apps/database/ddl
|
|
DB_SCRIPTS_PATH: ~/workspace/projects/{proyecto}/apps/database
|
|
DB_SEEDS_PATH: ~/workspace/projects/{proyecto}/apps/database/seeds
|
|
|
|
# Backend
|
|
BACKEND_ROOT: ~/workspace/projects/{proyecto}/apps/backend
|
|
BACKEND_SRC: ~/workspace/projects/{proyecto}/apps/backend/src
|
|
|
|
# Frontend
|
|
FRONTEND_ROOT: ~/workspace/projects/{proyecto}/apps/frontend
|
|
FRONTEND_SRC: ~/workspace/projects/{proyecto}/apps/frontend/src
|
|
```
|
|
|
|
## Stack Tecnologico
|
|
|
|
### Backend
|
|
- **Framework:** {NestJS / Express / FastAPI}
|
|
- **Lenguaje:** {TypeScript / Python}
|
|
- **ORM:** {TypeORM / Prisma / SQLAlchemy}
|
|
|
|
### Frontend
|
|
- **Framework:** {React / Vue / Next.js}
|
|
- **Lenguaje:** TypeScript
|
|
- **State:** {Zustand / Redux / Pinia}
|
|
|
|
### Database
|
|
- **Engine:** PostgreSQL 15+
|
|
- **Schemas:** {lista de schemas planificados}
|
|
|
|
## Paths de Trabajo
|
|
|
|
```
|
|
~/workspace/projects/{proyecto}/
|
|
├── apps/
|
|
│ ├── backend/ → API
|
|
│ ├── frontend/ → UI
|
|
│ └── database/ → DDL PostgreSQL
|
|
├── docs/ → Documentacion
|
|
└── orchestration/ → Sistema SIMCO
|
|
```
|
|
```
|
|
|
|
### 2.2 HERENCIA-SIMCO.md
|
|
|
|
Copiar template desde core y adaptar:
|
|
|
|
```bash
|
|
cp "${HOME}/workspace/core/orchestration/templates/HERENCIA-SIMCO.md" \
|
|
"${PROJECT_PATH}/orchestration/00-guidelines/HERENCIA-SIMCO.md"
|
|
```
|
|
|
|
Luego editar y reemplazar variables `{VARIABLE}`.
|
|
|
|
### 2.3 PROXIMA-ACCION.md
|
|
|
|
Crear `orchestration/PROXIMA-ACCION.md`:
|
|
|
|
```markdown
|
|
# PROXIMA ACCION
|
|
|
|
**Fecha actualizacion:** {YYYY-MM-DD}
|
|
**Actualizado por:** {Agente/Humano}
|
|
**Proyecto:** {NOMBRE_PROYECTO}
|
|
|
|
## Estado del Desarrollo
|
|
|
|
**Fase actual:** Inicial
|
|
**Progreso:** 0%
|
|
|
|
## Siguiente Tarea Prioritaria
|
|
|
|
**ID:** SETUP-001
|
|
**Tipo:** Configuracion
|
|
**Descripcion:** Configurar entorno de desarrollo inicial
|
|
|
|
### Pre-requisitos
|
|
- [x] Estructura de carpetas creada
|
|
- [ ] Dependencias instaladas
|
|
- [ ] Base de datos configurada
|
|
|
|
### Contexto
|
|
Proyecto recien creado, necesita configuracion inicial.
|
|
|
|
## Tareas Pendientes
|
|
|
|
1. **SETUP-001:** Configurar package.json y dependencias
|
|
2. **SETUP-002:** Crear esquema inicial de base de datos
|
|
3. **SETUP-003:** Configurar backend con primera entidad
|
|
|
|
## Bloqueadores Activos
|
|
|
|
Ninguno
|
|
|
|
## Notas para Siguiente Sesion
|
|
|
|
Proyecto recien creado con estructura SIMCO.
|
|
```
|
|
|
|
### 2.4 REGISTRO-SUBAGENTES.json
|
|
|
|
Crear `orchestration/estados/REGISTRO-SUBAGENTES.json`:
|
|
|
|
```json
|
|
{
|
|
"version": "2.0",
|
|
"proyecto": "{proyecto}",
|
|
"fecha_creacion": "{YYYY-MM-DD}",
|
|
"ultima_actualizacion": "{YYYY-MM-DD}T00:00:00Z",
|
|
"limite_maximo": 15,
|
|
"slots_disponibles": 15,
|
|
"subagentes": {
|
|
"NEXUS-DATABASE": {
|
|
"nombre": "NEXUS-DATABASE",
|
|
"tipo": "especializado",
|
|
"estado": "disponible",
|
|
"responsabilidades": [
|
|
"Gestion de esquemas SQL",
|
|
"DDL: tablas, indices, constraints",
|
|
"Seeds y migraciones"
|
|
],
|
|
"areas": ["apps/database/"],
|
|
"prompt": "core/orchestration/agents/perfiles/PERFIL-DATABASE.md",
|
|
"ultima_interaccion": null,
|
|
"salud": {"status": "ready"}
|
|
},
|
|
"NEXUS-BACKEND": {
|
|
"nombre": "NEXUS-BACKEND",
|
|
"tipo": "especializado",
|
|
"estado": "disponible",
|
|
"responsabilidades": [
|
|
"API REST endpoints",
|
|
"Services y DTOs",
|
|
"Logica de negocio"
|
|
],
|
|
"areas": ["apps/backend/"],
|
|
"prompt": "core/orchestration/agents/perfiles/PERFIL-BACKEND.md",
|
|
"ultima_interaccion": null,
|
|
"salud": {"status": "ready"}
|
|
},
|
|
"NEXUS-FRONTEND": {
|
|
"nombre": "NEXUS-FRONTEND",
|
|
"tipo": "especializado",
|
|
"estado": "disponible",
|
|
"responsabilidades": [
|
|
"Componentes UI",
|
|
"Paginas y hooks",
|
|
"Integracion con APIs"
|
|
],
|
|
"areas": ["apps/frontend/"],
|
|
"prompt": "core/orchestration/agents/perfiles/PERFIL-FRONTEND.md",
|
|
"ultima_interaccion": null,
|
|
"salud": {"status": "ready"}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### 2.5 Inventarios Iniciales
|
|
|
|
Crear `orchestration/inventarios/MASTER_INVENTORY.yml`:
|
|
|
|
```yaml
|
|
# INVENTARIO MAESTRO - {NOMBRE_PROYECTO}
|
|
|
|
version: "1.0.0"
|
|
proyecto: "{NOMBRE_PROYECTO}"
|
|
fecha_creacion: "{YYYY-MM-DD}"
|
|
ultima_actualizacion: "{YYYY-MM-DD}"
|
|
|
|
resumen:
|
|
estado_general: "INICIAL"
|
|
|
|
database:
|
|
schemas: 0
|
|
tables: 0
|
|
status: "PENDIENTE"
|
|
|
|
backend:
|
|
modules: 0
|
|
entities: 0
|
|
endpoints: 0
|
|
status: "PENDIENTE"
|
|
|
|
frontend:
|
|
components: 0
|
|
pages: 0
|
|
status: "PENDIENTE"
|
|
```
|
|
|
|
Crear archivos vacios para inventarios por capa:
|
|
|
|
```bash
|
|
touch "${PROJECT_PATH}/orchestration/inventarios/DATABASE_INVENTORY.yml"
|
|
touch "${PROJECT_PATH}/orchestration/inventarios/BACKEND_INVENTORY.yml"
|
|
touch "${PROJECT_PATH}/orchestration/inventarios/FRONTEND_INVENTORY.yml"
|
|
```
|
|
|
|
### 2.6 Trazas Iniciales
|
|
|
|
```bash
|
|
touch "${PROJECT_PATH}/orchestration/trazas/TRAZA-TAREAS-DATABASE.md"
|
|
touch "${PROJECT_PATH}/orchestration/trazas/TRAZA-TAREAS-BACKEND.md"
|
|
touch "${PROJECT_PATH}/orchestration/trazas/TRAZA-TAREAS-FRONTEND.md"
|
|
```
|
|
|
|
---
|
|
|
|
## FASE 3: CONFIGURAR PROYECTO TECNICO
|
|
|
|
### 3.1 Backend (NestJS ejemplo)
|
|
|
|
```bash
|
|
cd "${PROJECT_PATH}/apps/backend"
|
|
npm init -y
|
|
# O usar CLI de NestJS:
|
|
# npx @nestjs/cli new . --skip-git --package-manager npm
|
|
```
|
|
|
|
### 3.2 Frontend (React + Vite ejemplo)
|
|
|
|
```bash
|
|
cd "${PROJECT_PATH}/apps/frontend"
|
|
npm create vite@latest . -- --template react-ts
|
|
```
|
|
|
|
### 3.3 Database
|
|
|
|
Crear script inicial `apps/database/create-database.sh`:
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Script para crear/recrear base de datos
|
|
|
|
DB_NAME="${1:-{proyecto}_db}"
|
|
|
|
echo "Creando base de datos: $DB_NAME"
|
|
|
|
# Ejecutar DDL
|
|
for schema_dir in ddl/schemas/*/; do
|
|
if [ -d "$schema_dir" ]; then
|
|
echo "Procesando schema: $(basename $schema_dir)"
|
|
# ... logica de creacion
|
|
fi
|
|
done
|
|
|
|
echo "Base de datos creada exitosamente"
|
|
```
|
|
|
|
---
|
|
|
|
## FASE 4: VALIDAR ESTRUCTURA
|
|
|
|
### 4.1 Ejecutar Script de Validacion
|
|
|
|
```bash
|
|
~/workspace/devtools/scripts/validation/validate-propagation.sh
|
|
```
|
|
|
|
### 4.2 Checklist Manual
|
|
|
|
```yaml
|
|
estructura_carpetas:
|
|
- [ ] apps/database/ddl/ existe
|
|
- [ ] apps/backend/src/ existe
|
|
- [ ] apps/frontend/src/ existe
|
|
- [ ] orchestration/00-guidelines/ existe
|
|
- [ ] orchestration/inventarios/ existe
|
|
- [ ] orchestration/estados/ existe
|
|
- [ ] orchestration/trazas/ existe
|
|
|
|
archivos_obligatorios:
|
|
- [ ] CONTEXTO-PROYECTO.md creado y configurado
|
|
- [ ] HERENCIA-SIMCO.md copiado y adaptado
|
|
- [ ] PROXIMA-ACCION.md creado
|
|
- [ ] REGISTRO-SUBAGENTES.json creado
|
|
- [ ] MASTER_INVENTORY.yml creado
|
|
|
|
configuracion_tecnica:
|
|
- [ ] package.json en backend
|
|
- [ ] package.json en frontend
|
|
- [ ] Script de creacion de DB
|
|
```
|
|
|
|
---
|
|
|
|
## FASE 5: PRIMER COMMIT
|
|
|
|
```bash
|
|
cd "${PROJECT_PATH}"
|
|
|
|
git init
|
|
git add .
|
|
git commit -m "feat: Initial project structure with SIMCO
|
|
|
|
- Created folder structure for apps, docs, orchestration
|
|
- Added CONTEXTO-PROYECTO.md with project variables
|
|
- Added HERENCIA-SIMCO.md for directive inheritance
|
|
- Added REGISTRO-SUBAGENTES.json for agent tracking
|
|
- Added initial inventories and traces
|
|
|
|
Generated with SIMCO system v2.2.0"
|
|
```
|
|
|
|
---
|
|
|
|
## FASE 6: REGISTRAR EN WORKSPACE
|
|
|
|
### 6.1 Actualizar WORKSPACE-STATUS.md
|
|
|
|
Agregar entrada en `~/workspace/orchestration/WORKSPACE-STATUS.md`:
|
|
|
|
```markdown
|
|
## Proyectos Activos
|
|
|
|
| Proyecto | Estado | Ultima Actividad |
|
|
|----------|--------|------------------|
|
|
| {proyecto} | INICIAL | {YYYY-MM-DD} |
|
|
```
|
|
|
|
### 6.2 Actualizar WORKSPACE-INDEX.md (si existe)
|
|
|
|
Agregar referencia al nuevo proyecto.
|
|
|
|
---
|
|
|
|
## CHECKLIST FINAL
|
|
|
|
```yaml
|
|
onboarding_completo:
|
|
fase_1_estructura:
|
|
- [ ] Carpetas de apps creadas
|
|
- [ ] Carpetas de orchestration creadas
|
|
- [ ] Carpetas de docs creadas
|
|
|
|
fase_2_archivos:
|
|
- [ ] CONTEXTO-PROYECTO.md
|
|
- [ ] HERENCIA-SIMCO.md
|
|
- [ ] PROXIMA-ACCION.md
|
|
- [ ] REGISTRO-SUBAGENTES.json
|
|
- [ ] MASTER_INVENTORY.yml
|
|
- [ ] Inventarios por capa (vacios)
|
|
- [ ] Trazas (vacias)
|
|
|
|
fase_3_tecnico:
|
|
- [ ] Backend inicializado
|
|
- [ ] Frontend inicializado
|
|
- [ ] Scripts de DB creados
|
|
|
|
fase_4_validacion:
|
|
- [ ] Script de validacion ejecutado
|
|
- [ ] Sin errores criticos
|
|
|
|
fase_5_git:
|
|
- [ ] Primer commit realizado
|
|
|
|
fase_6_workspace:
|
|
- [ ] Registrado en WORKSPACE-STATUS
|
|
```
|
|
|
|
---
|
|
|
|
## PROXIMO PASO
|
|
|
|
Una vez completado el onboarding, el proyecto esta listo para recibir tareas usando el patron:
|
|
|
|
```
|
|
"Seras {PERFIL}-Agent en {PROYECTO} para {TAREA}"
|
|
```
|
|
|
|
Los agentes cargaran automaticamente:
|
|
1. CONTEXTO-PROYECTO.md
|
|
2. HERENCIA-SIMCO.md
|
|
3. Inventarios del proyecto
|
|
4. Directivas SIMCO relevantes
|
|
|
|
---
|
|
|
|
**Version:** 1.0.0 | **Sistema:** SIMCO + CAPVED
|