workspace-v1/orchestration/procesos/GUIA-ONBOARDING-PROYECTO.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
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
2026-01-04 03:37:42 -06:00

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