workspace-v1/orchestration/templates/TEMPLATE-CONTEXTO-PROYECTO.md
rckrdmrd ff3038f183 feat(orchestration): Add subagent token management system
Sistema completo de gestión de tokens para subagentes NEXUS v4.0:

Nuevas directivas SIMCO:
- SIMCO-SUBAGENTE.md: Protocolo para agentes en modo subagente
- SIMCO-CCA-SUBAGENTE.md: CCA ligero para subagentes (~1,500 tokens)
- SIMCO-CONTROL-TOKENS.md: Gestión de límites de tokens
- SIMCO-DELEGACION-PARALELA.md: Delegación paralela

Perfiles compact (~250 tokens cada uno):
- PERFIL-BACKEND-COMPACT.md
- PERFIL-FRONTEND-COMPACT.md
- PERFIL-DATABASE-COMPACT.md
- PERFIL-DEVOPS-COMPACT.md
- PERFIL-ML-COMPACT.md
- PERFIL-GENERIC-SUBAGENT.md

Templates de delegación escalonados:
- TEMPLATE-DELEGACION-MINIMA.md (~250 tokens)
- TEMPLATE-DELEGACION-ESTANDAR.md (~600 tokens)
- TEMPLATE-DELEGACION-COMPLETA.md (~1,800 tokens)

Nuevos perfiles especializados:
- PERFIL-MCP-ARCHITECT.md
- PERFIL-MCP-DEVELOPER.md
- PERFIL-RAG-ENGINEER.md
- PERFIL-CICD-SPECIALIST.md
- PERFIL-PRODUCTION-MANAGER.md
- PERFIL-MONITORING-AGENT.md
- PERFIL-SECRETS-MANAGER.md
- PERFIL-PROPAGATION-TRACKER.md

Checklists y documentación:
- CHECKLIST-PRE-DELEGACION.md
- Análisis y planes de implementación

Métricas de mejora:
- ~59% reducción de tokens por delegación
- Perfiles compact: 69% más ligeros
- CCA subagente: 85% más ligero

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:43:01 -06:00

342 lines
8.8 KiB
Markdown

# TEMPLATE: CONTEXTO DE PROYECTO
**Versión:** 1.1.0
**Sistema:** SIMCO + Catálogo
**Propósito:** Template para crear el archivo CONTEXTO-PROYECTO.md en cada proyecto
---
## INSTRUCCIONES DE USO
1. Copiar este template a: `projects/{proyecto}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md`
2. Reemplazar todos los `{PLACEHOLDER}` con valores reales del proyecto
3. Eliminar secciones que no apliquen
4. Este archivo es la fuente de verdad para resolver aliases en el proyecto
---
# CONTEXTO: {PROJECT_NAME}
**Proyecto:** {PROJECT_NAME}
**Descripción:** {Descripción breve del proyecto}
**Fecha creación:** {YYYY-MM-DD}
**Última actualización:** {YYYY-MM-DD}
**Versión:** 1.0.0
---
## INFORMACIÓN GENERAL
```yaml
Proyecto:
nombre: "{PROJECT_NAME}"
descripcion: "{Descripción del proyecto}"
tipo: "standalone | multi-vertical | monorepo"
estado: "desarrollo | staging | producción"
Equipo:
tech_lead: "{nombre o sistema}"
repository: "{URL del repositorio}"
Stack:
database: "PostgreSQL {versión}"
backend: "NestJS {versión}"
frontend: "React {versión}"
otros: []
```
---
## VARIABLES DEL PROYECTO (ALIAS RESUELTOS)
### Database
```yaml
# Variables para @DDL, @SEEDS, etc.
DB_NAME: "{nombre_base_datos}"
DB_DDL_PATH: "{ruta}/ddl"
DB_SCRIPTS_PATH: "{ruta}"
DB_SEEDS_PATH: "{ruta}/seeds"
RECREATE_CMD: "{script_recreacion}.sh"
# Schemas del proyecto
SCHEMAS:
- name: "{schema_1}"
descripcion: "{propósito}"
- name: "{schema_2}"
descripcion: "{propósito}"
```
**Ejemplo resuelto:**
```yaml
DB_NAME: "gamilit_platform"
DB_DDL_PATH: "apps/database/ddl"
DB_SCRIPTS_PATH: "apps/database"
DB_SEEDS_PATH: "apps/database/seeds"
RECREATE_CMD: "drop-and-recreate-database.sh"
SCHEMAS:
- name: "auth_management"
descripcion: "Autenticación y usuarios"
- name: "gamification_system"
descripcion: "Sistema de gamificación"
```
### Backend
```yaml
# Variables para @BACKEND, @BACKEND_ROOT, etc.
BACKEND_ROOT: "{ruta_backend}"
BACKEND_SRC: "{ruta_backend}/src"
BACKEND_TESTS: "{ruta_backend}/tests"
BACKEND_PORT: "{puerto}"
# Módulos principales
MODULES:
- name: "{modulo_1}"
descripcion: "{propósito}"
- name: "{modulo_2}"
descripcion: "{propósito}"
```
**Ejemplo resuelto:**
```yaml
BACKEND_ROOT: "apps/backend"
BACKEND_SRC: "apps/backend/src"
BACKEND_TESTS: "apps/backend/tests"
BACKEND_PORT: "3000"
MODULES:
- name: "auth"
descripcion: "Autenticación JWT"
- name: "users"
descripcion: "Gestión de usuarios"
- name: "gamification"
descripcion: "Sistema de puntos y badges"
```
### Frontend
```yaml
# Variables para @FRONTEND, @FRONTEND_ROOT, etc.
FRONTEND_ROOT: "{ruta_frontend}"
FRONTEND_SRC: "{ruta_frontend}/src"
FRONTEND_PORT: "{puerto}"
API_BASE_URL: "{url_api}"
# Apps del frontend
APPS:
- name: "{app_1}"
descripcion: "{propósito}"
ruta: "{path}"
```
**Ejemplo resuelto:**
```yaml
FRONTEND_ROOT: "apps/frontend/web"
FRONTEND_SRC: "apps/frontend/web/src"
FRONTEND_PORT: "5173"
API_BASE_URL: "http://localhost:3000/api"
APPS:
- name: "main"
descripcion: "Aplicación principal"
ruta: "/"
- name: "admin"
descripcion: "Panel de administración"
ruta: "/admin"
```
---
## ALIAS RESUELTOS PARA ESTE PROYECTO
Copia de `@ALIASES` con valores concretos:
```yaml
# ═══════════════════════════════════════════════════════════════
# ALIAS RESUELTOS - {PROJECT_NAME}
# ═══════════════════════════════════════════════════════════════
# Código
@DDL: "{DB_DDL_PATH}/schemas/"
@DDL_ROOT: "{DB_DDL_PATH}/"
@SEEDS: "{DB_SEEDS_PATH}/"
@SEEDS_DEV: "{DB_SEEDS_PATH}/dev/"
@SEEDS_PROD: "{DB_SEEDS_PATH}/prod/"
@DB_SCRIPTS: "{DB_SCRIPTS_PATH}/"
@BACKEND: "{BACKEND_SRC}/modules/"
@BACKEND_ROOT: "{BACKEND_ROOT}/"
@BACKEND_SHARED: "{BACKEND_SRC}/shared/"
@FRONTEND: "{FRONTEND_SRC}/apps/"
@FRONTEND_ROOT: "{FRONTEND_ROOT}/"
@FRONTEND_SHARED: "{FRONTEND_SRC}/shared/"
# Orchestration
@ORCH: "orchestration/"
@INVENTORY: "orchestration/inventarios/MASTER_INVENTORY.yml"
@INV_DB: "orchestration/inventarios/DATABASE_INVENTORY.yml"
@INV_BE: "orchestration/inventarios/BACKEND_INVENTORY.yml"
@INV_FE: "orchestration/inventarios/FRONTEND_INVENTORY.yml"
@TRAZA_DB: "orchestration/trazas/TRAZA-TAREAS-DATABASE.md"
@TRAZA_BE: "orchestration/trazas/TRAZA-TAREAS-BACKEND.md"
@TRAZA_FE: "orchestration/trazas/TRAZA-TAREAS-FRONTEND.md"
# Documentación
@DOCS: "docs/"
@GUIAS: "docs/95-guias-desarrollo/"
@ADR: "docs/97-adr/"
```
**Ejemplo resuelto para GAMILIT:**
```yaml
@DDL: "apps/database/ddl/schemas/"
@DDL_ROOT: "apps/database/ddl/"
@SEEDS: "apps/database/seeds/"
@DB_SCRIPTS: "apps/database/"
@BACKEND: "apps/backend/src/modules/"
@BACKEND_ROOT: "apps/backend/"
@BACKEND_SHARED: "apps/backend/src/shared/"
@FRONTEND: "apps/frontend/web/src/apps/"
@FRONTEND_ROOT: "apps/frontend/web/"
@INVENTORY: "orchestration/inventarios/MASTER_INVENTORY.yml"
# ... etc
```
---
## COMANDOS FRECUENTES
```yaml
# Database
recrear_db: "cd {DB_SCRIPTS_PATH} && ./{RECREATE_CMD}"
crear_db: "cd {DB_SCRIPTS_PATH} && ./create-database.sh"
psql_connect: "psql -d {DB_NAME}"
# Backend
build_be: "cd {BACKEND_ROOT} && npm run build"
lint_be: "cd {BACKEND_ROOT} && npm run lint"
test_be: "cd {BACKEND_ROOT} && npm run test"
start_be: "cd {BACKEND_ROOT} && npm run start:dev"
# Frontend
build_fe: "cd {FRONTEND_ROOT} && npm run build"
lint_fe: "cd {FRONTEND_ROOT} && npm run lint"
start_fe: "cd {FRONTEND_ROOT} && npm run dev"
```
---
## ESTRUCTURA DEL PROYECTO
```
{PROJECT_NAME}/
├── apps/
│ ├── database/
│ │ ├── ddl/
│ │ │ ├── 00-init.sql
│ │ │ └── schemas/
│ │ │ └── {schema}/
│ │ ├── seeds/
│ │ │ ├── dev/
│ │ │ └── prod/
│ │ ├── create-database.sh
│ │ └── {RECREATE_CMD}
│ │
│ ├── backend/
│ │ ├── src/
│ │ │ ├── shared/
│ │ │ └── modules/
│ │ │ └── {modulo}/
│ │ ├── tests/
│ │ └── package.json
│ │
│ └── frontend/
│ └── web/
│ ├── src/
│ │ ├── apps/
│ │ └── shared/
│ └── package.json
├── docs/
│ ├── 00-vision-general/
│ ├── 01-fase-*/
│ ├── 95-guias-desarrollo/
│ ├── 97-adr/
│ └── README.md
├── orchestration/
│ ├── 00-guidelines/
│ │ └── CONTEXTO-PROYECTO.md ← ESTE ARCHIVO
│ ├── inventarios/
│ │ ├── MASTER_INVENTORY.yml
│ │ ├── DATABASE_INVENTORY.yml
│ │ ├── BACKEND_INVENTORY.yml
│ │ └── FRONTEND_INVENTORY.yml
│ ├── trazas/
│ │ ├── TRAZA-TAREAS-DATABASE.md
│ │ ├── TRAZA-TAREAS-BACKEND.md
│ │ └── TRAZA-TAREAS-FRONTEND.md
│ └── PROXIMA-ACCION.md
└── README.md
```
---
## REFERENCIAS A CORE/ORCHESTRATION
Este proyecto usa el sistema SIMCO definido en:
```yaml
SIMCO:
indice: "core/orchestration/directivas/simco/_INDEX.md"
principios: "core/orchestration/directivas/principios/"
aliases_globales: "core/orchestration/referencias/ALIASES.yml"
perfiles: "core/orchestration/agents/perfiles/"
# 🆕 CATÁLOGO DE FUNCIONALIDADES REUTILIZABLES
CATALOGO:
indice: "shared/catalog/CATALOG-INDEX.yml"
reutilizar: "core/orchestration/directivas/simco/SIMCO-REUTILIZAR.md"
funcionalidades:
- auth: "shared/catalog/auth/"
- session: "shared/catalog/session-management/"
- rate-limiting: "shared/catalog/rate-limiting/"
- notifications: "shared/catalog/notifications/"
- multi-tenancy: "shared/catalog/multi-tenancy/"
- feature-flags: "shared/catalog/feature-flags/"
- websocket: "shared/catalog/websocket/"
- payments: "shared/catalog/payments/"
```
---
## 🆕 FUNCIONALIDADES DEL CATÁLOGO USADAS EN ESTE PROYECTO
```yaml
# Marcar las funcionalidades que este proyecto usa del catálogo global
funcionalidades_del_catalogo:
- nombre: "{funcionalidad}"
version: "{version del catálogo}"
adaptaciones: "{cambios específicos del proyecto}"
fecha_implementacion: "{YYYY-MM-DD}"
```
---
## NOTAS ESPECÍFICAS DEL PROYECTO
{Agregar notas específicas, decisiones de arquitectura locales, particularidades del proyecto, etc.}
---
**Creado:** {YYYY-MM-DD}
**Autor:** {nombre}
**Basado en:** TEMPLATE-CONTEXTO-PROYECTO.md v1.0.0