# 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