# SIMCO: INICIALIZACIÓN DE AGENTES **Versión:** 1.2.0 **Sistema:** SIMCO + CAPVED + Economía de Tokens - Carga de Contexto Automática (CCA) **Propósito:** Definir el proceso de bootstrap para cualquier agente --- ## PRINCIPIO FUNDAMENTAL > **Un agente inicializado correctamente NO alucina porque tiene TODO el contexto necesario antes de actuar.** --- ## PROMPT DE INICIALIZACIÓN (Template Universal) ```markdown Serás {PERFIL_AGENTE} trabajando en el proyecto {PROYECTO} para realizar: {DESCRIPCION_TAREA} Antes de actuar, ejecuta el protocolo CCA (Carga de Contexto Automática). ``` **Ejemplo real:** ```markdown Serás Backend-Agent trabajando en el proyecto trading-platform para realizar: Crear el módulo de notificaciones con endpoints CRUD Antes de actuar, ejecuta el protocolo CCA (Carga de Contexto Automática). ``` --- ## PROTOCOLO CCA: CARGA DE CONTEXTO AUTOMÁTICA ### Fase 0: IDENTIFICACIÓN (Automática) ```yaml Al recibir prompt de inicialización, extraer: PERFIL: {tipo de agente mencionado} PROYECTO: {nombre del proyecto} TAREA: {descripción de la tarea} OPERACION: {inferir: CREAR | MODIFICAR | VALIDAR | INVESTIGAR} DOMINIO: {inferir: DDL | BACKEND | FRONTEND | MIXTO} ``` ### Fase 1: CARGA NIVEL CORE (Obligatorio - ~5 min) ``` LEER EN ORDEN ESTRICTO: 1. PRINCIPIOS FUNDAMENTALES (5 archivos) └── core/orchestration/directivas/principios/ ├── PRINCIPIO-CAPVED.md # Ciclo de vida de tareas ├── PRINCIPIO-DOC-PRIMERO.md ├── PRINCIPIO-ANTI-DUPLICACION.md ├── PRINCIPIO-VALIDACION-OBLIGATORIA.md └── PRINCIPIO-ECONOMIA-TOKENS.md # 🆕 Desglose de tareas 2. MI PERFIL └── core/orchestration/agents/perfiles/PERFIL-{MI-TIPO}.md Extraer: - Qué SÍ hago - Qué NO hago (delegar) - Directivas SIMCO que debo seguir 3. ÍNDICE SIMCO └── core/orchestration/directivas/simco/_INDEX.md Entender estructura del sistema 4. SISTEMA DE ALIASES └── core/orchestration/referencias/ALIASES.yml Cargar resolución de @ALIAS ``` ### Fase 2: CARGA NIVEL PROYECTO (Obligatorio - ~5 min) ``` LEER EN ORDEN: 5. CONTEXTO DEL PROYECTO └── projects/{PROYECTO}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md Extraer: - Variables resueltas (DB_NAME, BACKEND_ROOT, etc.) - Alias resueltos (@DDL, @BACKEND, etc.) - Stack tecnológico - Estructura del proyecto 6. PRÓXIMA ACCIÓN └── projects/{PROYECTO}/orchestration/PROXIMA-ACCION.md Verificar: - ¿Mi tarea es la próxima prioridad? - ¿Hay dependencias previas? - ¿Hay contexto de sesiones anteriores? 7. INVENTARIO RELEVANTE └── Según mi dominio: - DDL: @INV_DB (DATABASE_INVENTORY.yml) - Backend: @INV_BE (BACKEND_INVENTORY.yml) - Frontend: @INV_FE (FRONTEND_INVENTORY.yml) - Mixto: MASTER_INVENTORY.yml ``` ### Fase 3: CARGA NIVEL OPERACIÓN (Según tarea - ~3 min) ``` LEER SIMCO DE OPERACIÓN: 8. SIMCO-TAREA.md (🆕 Si es HU que genera commit) └── Proceso CAPVED completo: C→A→P→V→E→D 9. SIMCO BASE (según operación inferida) └── Crear algo nuevo → SIMCO-CREAR.md Modificar existente → SIMCO-MODIFICAR.md Validar/revisar → SIMCO-VALIDAR.md Buscar/investigar → SIMCO-BUSCAR.md Documentar → SIMCO-DOCUMENTAR.md 10. SIMCO DE DOMINIO (si aplica) └── Base de datos → SIMCO-DDL.md Backend NestJS → SIMCO-BACKEND.md Frontend React → SIMCO-FRONTEND.md ``` ### Fase 4: CARGA NIVEL TAREA (Específico - ~5 min) ``` LEER DOCUMENTACIÓN RELEVANTE: 10. DOCUMENTACIÓN DEL PROYECTO └── projects/{PROYECTO}/docs/ Buscar especificaciones relacionadas con mi tarea: - Diseño de entidades - Especificaciones de API - Wireframes/mockups - ADRs relevantes 11. CÓDIGO EXISTENTE RELACIONADO └── Buscar patrones similares ya implementados: - ¿Existe módulo similar? → Usar como referencia - ¿Existe tabla similar? → Seguir convenciones - ¿Existe componente similar? → Reutilizar patrones 12. DEPENDENCIAS DE LA TAREA └── Identificar qué debe existir ANTES: - ¿Necesito tabla que no existe? → Crear primero o delegar - ¿Necesito endpoint que no existe? → Crear primero o delegar - ¿Necesito tipo que no existe? → Crear primero ``` --- ## MAPA DE CARGA POR PERFIL ### Database-Agent ```yaml CORE (siempre): - principios/*.md (5, incluyendo CAPVED y Tokens) - PERFIL-DATABASE.md - ALIASES.yml PROYECTO (siempre): - CONTEXTO-PROYECTO.md - PROXIMA-ACCION.md - DATABASE_INVENTORY.yml OPERACIÓN (según tarea): crear_tabla: [SIMCO-CREAR.md, SIMCO-DDL.md] modificar_tabla: [SIMCO-MODIFICAR.md, SIMCO-DDL.md] crear_funcion: [SIMCO-CREAR.md, SIMCO-DDL.md] crear_indice: [SIMCO-CREAR.md, SIMCO-DDL.md] TAREA: - docs/{especificacion-entidad}.md - DDL existente del schema - Convenciones SQL del proyecto ``` ### Backend-Agent ```yaml CORE (siempre): - principios/*.md (5, incluyendo CAPVED y Tokens) - PERFIL-BACKEND.md - ALIASES.yml PROYECTO (siempre): - CONTEXTO-PROYECTO.md - PROXIMA-ACCION.md - BACKEND_INVENTORY.yml - DATABASE_INVENTORY.yml (para alinear con DDL) OPERACIÓN (según tarea): crear_modulo: [SIMCO-CREAR.md, SIMCO-BACKEND.md] crear_entity: [SIMCO-CREAR.md, SIMCO-BACKEND.md] crear_endpoint: [SIMCO-CREAR.md, SIMCO-BACKEND.md] modificar_service: [SIMCO-MODIFICAR.md, SIMCO-BACKEND.md] TAREA: - docs/{especificacion-api}.md - DDL de tabla relacionada - Entities similares existentes - Services similares existentes ``` ### Frontend-Agent ```yaml CORE (siempre): - principios/*.md (5, incluyendo CAPVED y Tokens) - PERFIL-FRONTEND.md - ALIASES.yml PROYECTO (siempre): - CONTEXTO-PROYECTO.md - PROXIMA-ACCION.md - FRONTEND_INVENTORY.yml - BACKEND_INVENTORY.yml (para conocer endpoints) OPERACIÓN (según tarea): crear_componente: [SIMCO-CREAR.md, SIMCO-FRONTEND.md] crear_pagina: [SIMCO-CREAR.md, SIMCO-FRONTEND.md] crear_hook: [SIMCO-CREAR.md, SIMCO-FRONTEND.md] modificar_componente: [SIMCO-MODIFICAR.md, SIMCO-FRONTEND.md] TAREA: - docs/{wireframe-mockup}.md - DTOs del backend relacionados - Componentes similares existentes - Hooks similares existentes ``` ### Orquestador (Tech-Leader) ```yaml CORE (siempre): - principios/*.md (5, incluyendo CAPVED y Tokens) - PERFIL-ORQUESTADOR.md - ALIASES.yml PROYECTO (siempre): - CONTEXTO-PROYECTO.md - PROXIMA-ACCION.md - MASTER_INVENTORY.yml (visión completa) OPERACIÓN (según tarea): planificar: [SIMCO-BUSCAR.md, SIMCO-DELEGACION.md] delegar: [SIMCO-DELEGACION.md] validar: [SIMCO-VALIDAR.md] coordinar: [SIMCO-DELEGACION.md] TAREA: - docs/ completo del proyecto - Estado de todas las capas - Dependencias entre tareas ``` --- ## CHECKLIST DE INICIALIZACIÓN ```markdown ## CHECKLIST CCA - {PERFIL} en {PROYECTO} ### Fase 1: Core ✓ - [ ] Leí PRINCIPIO-CAPVED.md (Ciclo de vida) - [ ] Leí PRINCIPIO-DOC-PRIMERO.md - [ ] Leí PRINCIPIO-ANTI-DUPLICACION.md - [ ] Leí PRINCIPIO-VALIDACION-OBLIGATORIA.md - [ ] Leí PRINCIPIO-ECONOMIA-TOKENS.md (🆕 Desglose tareas) - [ ] Leí mi PERFIL-{TIPO}.md - [ ] Leí _INDEX.md de SIMCO - [ ] Leí ALIASES.yml ### Fase 2: Proyecto ✓ - [ ] Leí CONTEXTO-PROYECTO.md - [ ] Leí PROXIMA-ACCION.md - [ ] Leí inventario relevante ### Fase 3: Operación ✓ - [ ] Identifiqué si es HU → Leí SIMCO-TAREA.md (🆕) - [ ] Identifiqué operación: {CREAR|MODIFICAR|VALIDAR|...} - [ ] Leí SIMCO-{operación}.md - [ ] Leí SIMCO-{dominio}.md (si aplica) ### Fase 4: Tarea ✓ - [ ] Consulté docs/ relevante - [ ] Busqué patrones existentes - [ ] Identifiqué dependencias ### READY TO EXECUTE - [ ] Tengo TODO el contexto necesario - [ ] Sé qué debo hacer - [ ] Sé qué NO debo hacer - [ ] Sé qué delegar si es necesario ``` --- ## REPORTE DE CONTEXTO CARGADO Al completar CCA, generar reporte interno: ```yaml REPORTE_CONTEXTO_CARGADO: agente: "{PERFIL}" proyecto: "{PROYECTO}" tarea: "{DESCRIPCION}" contexto_core: principios: [capved, doc-primero, anti-dup, validacion, tokens] # 5 principios perfil: "PERFIL-{TIPO}.md" simco_index: true aliases: true contexto_proyecto: contexto_proyecto: true proxima_accion: true inventarios: ["{inventarios_leidos}"] contexto_operacion: operacion: "{CREAR|MODIFICAR|...}" simco_operacion: "SIMCO-{op}.md" simco_dominio: "SIMCO-{dom}.md" contexto_tarea: docs_consultados: ["{lista}"] patrones_encontrados: ["{lista}"] dependencias_identificadas: ["{lista}"] estado: "READY_TO_EXECUTE" restricciones: no_hacer: ["{lista de lo que NO debo hacer}"] delegar_a: ["{agentes para delegar}"] validaciones_requeridas: - "{validación 1}" - "{validación 2}" ``` --- ## ANTI-PATRONES (QUÉ NO HACER) ```yaml ❌ NUNCA: - Empezar a codificar sin completar CCA - Asumir que algo existe sin verificar inventario - Crear sin consultar docs/ primero - Ignorar principios porque "es una tarea simple" - Saltarse validaciones "para ir más rápido" - Modificar sin analizar impacto ❌ ERRORES COMUNES: - "Ya sé cómo hacerlo" → Verificar docs/ de todas formas - "Es igual al otro módulo" → Verificar diferencias en specs - "Después documento" → Documentar durante, no después - "El build puede fallar temporalmente" → NUNCA dejar build roto ``` --- ## TIEMPO ESTIMADO DE INICIALIZACIÓN | Fase | Tiempo | Archivos | |------|--------|----------| | Core | ~5 min | 6 archivos | | Proyecto | ~5 min | 3-4 archivos | | Operación | ~3 min | 1-2 archivos | | Tarea | ~5 min | Variable | | **TOTAL** | **~18 min** | **~15 archivos** | > **INVERSIÓN:** 18 minutos de lectura > **RETORNO:** Cero alucinaciones, cero retrabajos, código correcto desde el inicio --- ## INTEGRACIÓN CON SUBAGENTES Cuando delegas a un subagente, este DEBE ejecutar CCA también. Ver: `SIMCO-DELEGACION.md` para template de delegación con contexto heredado. --- ## REFERENCIAS - **Ciclo de vida de tareas:** @CAPVED (PRINCIPIO-CAPVED.md) - **Economía de tokens:** @TOKENS (PRINCIPIO-ECONOMIA-TOKENS.md) - **Referencia rápida:** @QUICK_REF (SIMCO-QUICK-REFERENCE.md) - **Punto de entrada HU:** @TAREA (SIMCO-TAREA.md) - **Delegación:** @DELEGAR (SIMCO-DELEGACION.md) --- **Versión:** 1.2.0 | **Sistema:** SIMCO + CAPVED + Tokens | **Tipo:** Directiva de Inicialización