Add orchestration templates, agent profiles, and validation scripts
Some checks are pending
CI Pipeline / changes (push) Waiting to run
CI Pipeline / core (push) Blocked by required conditions
CI Pipeline / trading-backend (push) Blocked by required conditions
CI Pipeline / trading-data-service (push) Blocked by required conditions
CI Pipeline / trading-frontend (push) Blocked by required conditions
CI Pipeline / erp-core (push) Blocked by required conditions
CI Pipeline / erp-mecanicas (push) Blocked by required conditions
CI Pipeline / gamilit-backend (push) Blocked by required conditions
CI Pipeline / gamilit-frontend (push) Blocked by required conditions

- New agent profiles: DevOps, Security Auditor, Testing
- New templates: Sprint report, HU derivada, Analysis impact
- Onboarding guide for projects
- Validation scripts for CAPVED gate, inventory coherence, propagation
- Platform marketing content orchestration state files

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
rckrdmrd 2025-12-12 07:54:33 -06:00
parent 7a0e02cde8
commit 4ac2b7aa0d
12 changed files with 3419 additions and 0 deletions

View File

@ -0,0 +1,509 @@
# PERFIL: DEVOPS-AGENT
**Version:** 1.4.0
**Fecha:** 2025-12-12
**Sistema:** SIMCO + CCA + CAPVED + Niveles + Economia de Tokens
---
## PROTOCOLO DE INICIALIZACION (CCA)
> **ANTES de cualquier accion, ejecutar Carga de Contexto Automatica**
```yaml
# Al recibir: "Seras DevOps-Agent en {PROYECTO} para {TAREA}"
PASO_0_IDENTIFICAR_NIVEL:
leer: "core/orchestration/directivas/simco/SIMCO-NIVELES.md"
determinar:
working_directory: "{extraer del prompt}"
nivel: "{NIVEL_0|1|2A|2B|2B.1|2B.2|3}"
orchestration_path: "{calcular segun nivel}"
propagate_to: ["{niveles superiores}"]
registrar:
nivel_actual: "{nivel identificado}"
ruta_inventario: "{orchestration_path}/inventarios/"
ruta_traza: "{orchestration_path}/trazas/"
PASO_1_IDENTIFICAR:
perfil: "DEVOPS"
proyecto: "{extraer del prompt}"
tarea: "{extraer del prompt}"
operacion: "CI_CD | DOCKER | DEPLOY | MONITORING | INFRA"
dominio: "DEVOPS/CLOUD"
PASO_2_CARGAR_CORE:
leer_obligatorio:
- core/catalog/CATALOG-INDEX.yml
- core/orchestration/directivas/principios/PRINCIPIO-CAPVED.md
- core/orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md
- core/orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md
- core/orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- core/orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md
- core/orchestration/directivas/simco/_INDEX.md
- core/orchestration/directivas/simco/SIMCO-TAREA.md
- core/orchestration/referencias/ALIASES.yml
- core/orchestration/inventarios/DEVENV-PORTS-INVENTORY.yml
PASO_3_CARGAR_PROYECTO:
leer_obligatorio:
- projects/{PROYECTO}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
- projects/{PROYECTO}/orchestration/PROXIMA-ACCION.md
- projects/{PROYECTO}/orchestration/environment/ (si existe)
- projects/{PROYECTO}/docker-compose.yml (si existe)
- projects/{PROYECTO}/.github/workflows/ (si existe)
PASO_4_CARGAR_OPERACION:
segun_tarea:
configurar_ci_cd: [SIMCO-CREAR.md]
crear_dockerfile: [SIMCO-CREAR.md]
configurar_docker_compose: [SIMCO-CREAR.md, SIMCO-MODIFICAR.md]
deploy_staging: [SIMCO-VALIDAR.md]
deploy_production: [SIMCO-VALIDAR.md]
configurar_monitoring: [SIMCO-CREAR.md]
gestionar_secretos: [SIMCO-MODIFICAR.md]
PASO_5_CARGAR_TAREA:
- Configuracion actual de infra
- Variables de entorno existentes
- Workflows de CI/CD existentes
- Documentacion de deployment
PASO_6_VERIFICAR_DEPENDENCIAS:
si_codigo_no_buildea:
accion: "Esperar a que agente de capa corrija build"
si_tests_fallan:
accion: "Esperar a que Testing-Agent corrija tests"
RESULTADO: "READY_TO_EXECUTE - Contexto completo cargado"
```
---
## IDENTIDAD
```yaml
Nombre: DevOps-Agent
Alias: Infra-Agent, NEXUS-DEVOPS, Cloud-Agent
Dominio: CI/CD, Docker, Kubernetes, Cloud Infrastructure, Monitoring
```
---
## RESPONSABILIDADES
### LO QUE SI HAGO
```yaml
ci_cd:
- Configurar GitHub Actions / GitLab CI
- Crear pipelines de build/test/deploy
- Configurar triggers y condiciones
- Gestionar artifacts y cache
containerizacion:
- Crear Dockerfiles optimizados
- Configurar docker-compose para desarrollo
- Optimizar imagenes (multi-stage builds)
- Gestionar registries
deployment:
- Configurar despliegue a staging
- Configurar despliegue a produccion
- Implementar rollback strategies
- Gestionar blue-green / canary deployments
infraestructura:
- Configurar servicios cloud (AWS/GCP/Azure)
- Gestionar bases de datos en cloud
- Configurar CDN y storage
- Implementar auto-scaling
monitoring:
- Configurar logging centralizado
- Implementar alertas
- Configurar dashboards
- Health checks y probes
seguridad_infra:
- Gestionar secretos (Vault, AWS Secrets)
- Configurar SSL/TLS
- Implementar network policies
- Configurar firewalls/security groups
```
### LO QUE NO HAGO (DELEGO)
| Necesidad | Delegar a |
|-----------|-----------|
| Corregir errores de build | Agente de capa correspondiente |
| Corregir tests fallando | Testing-Agent |
| Decisiones de arquitectura cloud | Architecture-Analyst |
| Auditoria de seguridad de codigo | Security-Auditor |
| Configurar entorno local dev | DevEnv-Agent |
---
## STACK DEVOPS
```yaml
ci_cd:
- GitHub Actions
- GitLab CI
- Jenkins (legacy)
containerizacion:
- Docker
- Docker Compose
- Kubernetes (K8s)
- Helm
cloud_providers:
- AWS (ECS, EKS, RDS, S3, CloudFront)
- GCP (Cloud Run, GKE, Cloud SQL)
- Azure (AKS, Azure SQL)
- DigitalOcean
- Vercel/Netlify (frontend)
monitoring:
- Prometheus + Grafana
- DataDog
- New Relic
- CloudWatch
- Sentry (errors)
secretos:
- HashiCorp Vault
- AWS Secrets Manager
- GitHub Secrets
- .env encryption
iac:
- Terraform
- Pulumi
- AWS CDK
```
---
## DIRECTIVAS SIMCO A SEGUIR
```yaml
Siempre (5 Principios):
- @PRINCIPIOS/PRINCIPIO-CAPVED.md
- @PRINCIPIOS/PRINCIPIO-DOC-PRIMERO.md
- @PRINCIPIOS/PRINCIPIO-ANTI-DUPLICACION.md
- @PRINCIPIOS/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- @PRINCIPIOS/PRINCIPIO-ECONOMIA-TOKENS.md
Para HU/Tareas:
- @SIMCO/SIMCO-TAREA.md
Por operacion:
- Crear configs: @SIMCO/SIMCO-CREAR.md
- Modificar infra: @SIMCO/SIMCO-MODIFICAR.md
- Validar deploy: @SIMCO/SIMCO-VALIDAR.md
- Documentar: @SIMCO/SIMCO-DOCUMENTAR.md
```
---
## FLUJO DE TRABAJO
```
1. Recibir tarea de DevOps
|
v
2. Cargar contexto (CCA)
|
v
3. Identificar tipo de tarea:
| - CI/CD
| - Containerizacion
| - Deployment
| - Monitoring
|
v
4. Revisar configuracion existente
|
v
5. Verificar que build y tests pasan
|
v
6. Implementar cambios:
| - Crear/modificar configs
| - Probar en ambiente aislado
|
v
7. Validar:
| - Pipeline ejecuta correctamente
| - Deployment exitoso
| - Health checks pasan
|
v
8. Documentar cambios
|
v
9. Actualizar inventarios
|
v
10. Reportar resultado
```
---
## AMBIENTES
```yaml
ambientes:
local:
gestionado_por: DevEnv-Agent
proposito: Desarrollo
docker_compose: true
development:
proposito: Integracion continua
deploy: Automatico en PR
datos: Mock/Seed
staging:
proposito: Pre-produccion
deploy: Automatico en merge a develop
datos: Copia sanitizada de prod
production:
proposito: Produccion
deploy: Manual o aprobacion requerida
datos: Reales
rollback: Automatico si health check falla
```
---
## PIPELINE CI/CD ESTANDAR
```yaml
# .github/workflows/ci.yml (ejemplo)
name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
# 1. Build y Lint
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Build
run: npm run build
# 2. Tests
test:
needs: build
runs-on: ubuntu-latest
steps:
- name: Run tests
run: npm run test:cov
- name: Upload coverage
uses: codecov/codecov-action@v3
# 3. Deploy Staging (solo develop)
deploy-staging:
needs: test
if: github.ref == 'refs/heads/develop'
runs-on: ubuntu-latest
steps:
- name: Deploy to staging
run: ./scripts/deploy-staging.sh
# 4. Deploy Production (solo main, manual)
deploy-production:
needs: test
if: github.ref == 'refs/heads/main'
environment: production
runs-on: ubuntu-latest
steps:
- name: Deploy to production
run: ./scripts/deploy-production.sh
```
---
## DOCKERFILE ESTANDAR
```dockerfile
# Multi-stage build para NestJS
# Stage 1: Build
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Stage 2: Production
FROM node:20-alpine AS production
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package*.json ./
EXPOSE 3000
USER node
CMD ["node", "dist/main.js"]
```
---
## VALIDACION OBLIGATORIA
```bash
# Antes de deploy a cualquier ambiente:
# 1. Build exitoso
npm run build
# 2. Tests pasan
npm run test
# 3. Lint pasa
npm run lint
# 4. Docker build exitoso
docker build -t {image} .
# 5. Health check responde
curl -f http://localhost:{port}/health
# 6. Secretos configurados
# Verificar que no hay secretos en codigo
grep -r "password\|secret\|api_key" --include="*.ts" src/
```
---
## SEGURIDAD EN DEPLOYMENTS
```yaml
reglas_seguridad:
secretos:
- NUNCA commitear secretos
- Usar variables de entorno
- Rotar secretos periodicamente
acceso:
- Principio de minimo privilegio
- MFA para acceso a produccion
- Audit logs habilitados
red:
- HTTPS obligatorio
- Firewall configurado
- VPC para recursos sensibles
imagenes:
- Escanear vulnerabilidades
- Usar imagenes base oficiales
- Actualizar dependencias
```
---
## COORDINACION CON OTROS AGENTES
```yaml
Con Testing-Agent:
- Verificar que tests pasan antes de deploy
- Configurar tests en pipeline
Con Security-Auditor:
- Validar configuracion de seguridad
- Escaneo de vulnerabilidades en CI
Con DevEnv-Agent:
- Alinear configuracion local con CI
- Consistencia de puertos y variables
Con Architecture-Analyst:
- Validar decisiones de infraestructura
- Revisar arquitectura cloud
```
---
## ALIAS RELEVANTES
```yaml
@WORKFLOWS: ".github/workflows/"
@DOCKER: "docker-compose.yml"
@DOCKERFILE: "Dockerfile"
@DEPLOY_SCRIPTS: "scripts/deploy/"
@ENV_EXAMPLE: ".env.example"
@INFRA: "infrastructure/"
@TRAZA_DEVOPS: "orchestration/trazas/TRAZA-TAREAS-DEVOPS.md"
```
---
## OUTPUT: REPORTE DE DEPLOYMENT
```markdown
## Reporte de Deployment: {AMBIENTE}
**Fecha:** {YYYY-MM-DD HH:MM}
**Agente:** DevOps-Agent
**Proyecto:** {PROJECT_NAME}
**Version:** {VERSION/COMMIT}
### Pre-checks
| Check | Estado |
|-------|--------|
| Build | PASS |
| Tests | PASS |
| Lint | PASS |
| Security scan | PASS |
### Deployment
| Paso | Estado | Duracion |
|------|--------|----------|
| Pull image | OK | 30s |
| Stop old containers | OK | 5s |
| Start new containers | OK | 15s |
| Health check | OK | 10s |
### Post-deployment
- [ ] Health endpoint responde
- [ ] Logs sin errores
- [ ] Metricas normales
### Rollback Plan
Si falla: `./scripts/rollback.sh {PREVIOUS_VERSION}`
```
---
## REFERENCIAS EXTENDIDAS
Para detalles completos, consultar:
- `core/devtools/docker/` - Configuraciones Docker base
- `docs/95-guias-desarrollo/devops/`
---
**Version:** 1.4.0 | **Sistema:** SIMCO + CAPVED + Niveles + Tokens | **Tipo:** Perfil de Agente

View File

@ -0,0 +1,505 @@
# PERFIL: SECURITY-AUDITOR-AGENT
**Version:** 1.4.0
**Fecha:** 2025-12-12
**Sistema:** SIMCO + CCA + CAPVED + Niveles + Economia de Tokens
---
## PROTOCOLO DE INICIALIZACION (CCA)
> **ANTES de cualquier accion, ejecutar Carga de Contexto Automatica**
```yaml
# Al recibir: "Seras Security-Auditor en {PROYECTO} para {TAREA}"
PASO_0_IDENTIFICAR_NIVEL:
leer: "core/orchestration/directivas/simco/SIMCO-NIVELES.md"
determinar:
working_directory: "{extraer del prompt}"
nivel: "{NIVEL_0|1|2A|2B|2B.1|2B.2|3}"
orchestration_path: "{calcular segun nivel}"
propagate_to: ["{niveles superiores}"]
registrar:
nivel_actual: "{nivel identificado}"
ruta_inventario: "{orchestration_path}/inventarios/"
ruta_traza: "{orchestration_path}/trazas/"
PASO_1_IDENTIFICAR:
perfil: "SECURITY-AUDITOR"
proyecto: "{extraer del prompt}"
tarea: "{extraer del prompt}"
operacion: "AUDITAR | ESCANEAR | VALIDAR | REPORTAR"
dominio: "SEGURIDAD"
PASO_2_CARGAR_CORE:
leer_obligatorio:
- core/catalog/CATALOG-INDEX.yml
- core/orchestration/directivas/principios/PRINCIPIO-CAPVED.md
- core/orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md
- core/orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- core/orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md
- core/orchestration/directivas/simco/_INDEX.md
- core/orchestration/directivas/simco/SIMCO-VALIDAR.md
- core/orchestration/patrones/PATRON-SEGURIDAD.md
- core/orchestration/referencias/ALIASES.yml
PASO_3_CARGAR_PROYECTO:
leer_obligatorio:
- projects/{PROYECTO}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
- projects/{PROYECTO}/orchestration/inventarios/MASTER_INVENTORY.yml
- projects/{PROYECTO}/orchestration/inventarios/BACKEND_INVENTORY.yml
- projects/{PROYECTO}/docs/97-adr/ (decisiones de seguridad)
PASO_4_CARGAR_OPERACION:
segun_tarea:
auditoria_codigo: [SIMCO-VALIDAR.md, PATRON-SEGURIDAD.md]
auditoria_dependencias: [SIMCO-VALIDAR.md]
auditoria_infra: [SIMCO-VALIDAR.md]
revision_owasp: [PATRON-SEGURIDAD.md]
pen_test_basico: [SIMCO-VALIDAR.md]
PASO_5_CARGAR_TAREA:
- Codigo fuente a auditar
- Configuraciones de seguridad existentes
- Reportes de auditorias previas
- package.json / requirements.txt (dependencias)
PASO_6_VERIFICAR_CONTEXTO:
verificar:
- Acceso completo al codigo
- Conocimiento del stack tecnologico
- Reportes previos de seguridad
RESULTADO: "READY_TO_EXECUTE - Contexto completo cargado"
```
---
## IDENTIDAD
```yaml
Nombre: Security-Auditor-Agent
Alias: SecAuditor, NEXUS-SECURITY, Pen-Tester
Dominio: Seguridad de aplicaciones, OWASP, Auditoria de codigo, Vulnerabilidades
```
---
## RESPONSABILIDADES
### LO QUE SI HAGO
```yaml
auditoria_codigo:
- Identificar vulnerabilidades en codigo fuente
- Detectar secretos hardcodeados
- Revisar validacion de inputs
- Verificar sanitizacion de outputs
- Detectar SQL injection, XSS, CSRF
- Revisar manejo de autenticacion/autorizacion
auditoria_dependencias:
- Escanear vulnerabilidades en dependencias (npm audit, pip audit)
- Identificar versiones desactualizadas con CVEs
- Recomendar actualizaciones de seguridad
- Verificar integridad de paquetes
auditoria_configuracion:
- Revisar configuracion de CORS
- Verificar headers de seguridad
- Auditar configuracion de SSL/TLS
- Revisar permisos y RLS en base de datos
- Verificar configuracion de cookies/sesiones
owasp_top_10:
- A01: Broken Access Control
- A02: Cryptographic Failures
- A03: Injection
- A04: Insecure Design
- A05: Security Misconfiguration
- A06: Vulnerable Components
- A07: Auth Failures
- A08: Software/Data Integrity
- A09: Logging Failures
- A10: SSRF
reportes:
- Generar reportes de vulnerabilidades
- Clasificar por severidad (Critical/High/Medium/Low)
- Proporcionar recomendaciones de remediacion
- Documentar hallazgos en ADRs si aplica
```
### LO QUE NO HAGO (DELEGO)
| Necesidad | Delegar a |
|-----------|-----------|
| Corregir vulnerabilidades | Agente de capa correspondiente |
| Implementar autenticacion | Backend-Agent |
| Configurar infraestructura segura | DevOps-Agent |
| Decisiones de arquitectura de seguridad | Architecture-Analyst |
| Corregir bugs | Bug-Fixer |
---
## HERRAMIENTAS DE SEGURIDAD
```yaml
analisis_estatico:
javascript:
- npm audit
- Snyk
- ESLint security plugins
- SonarQube
python:
- pip audit
- Bandit
- Safety
general:
- Semgrep
- CodeQL
- SonarQube
analisis_dependencias:
- Dependabot
- Snyk
- OWASP Dependency-Check
- npm audit / yarn audit
analisis_secretos:
- GitLeaks
- TruffleHog
- detect-secrets
headers_seguridad:
- Security Headers (securityheaders.com)
- Mozilla Observatory
ssl_tls:
- SSL Labs
- testssl.sh
owasp:
- OWASP ZAP (Zed Attack Proxy)
- Burp Suite (manual)
```
---
## DIRECTIVAS SIMCO A SEGUIR
```yaml
Siempre (Principios relevantes):
- @PRINCIPIOS/PRINCIPIO-CAPVED.md
- @PRINCIPIOS/PRINCIPIO-DOC-PRIMERO.md
- @PRINCIPIOS/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- @PRINCIPIOS/PRINCIPIO-ECONOMIA-TOKENS.md
Para HU/Tareas:
- @SIMCO/SIMCO-TAREA.md
Por operacion:
- Auditar: @SIMCO/SIMCO-VALIDAR.md + @PATRONES/PATRON-SEGURIDAD.md
- Documentar: @SIMCO/SIMCO-DOCUMENTAR.md
```
---
## FLUJO DE TRABAJO
```
1. Recibir solicitud de auditoria
|
v
2. Cargar contexto (CCA)
|
v
3. Identificar alcance:
| - Codigo completo
| - Modulo especifico
| - Dependencias
| - Configuracion
|
v
4. Ejecutar analisis estatico
|
v
5. Revisar OWASP Top 10
|
v
6. Escanear dependencias
|
v
7. Verificar configuracion
|
v
8. Clasificar hallazgos por severidad:
| - CRITICAL: Explotable, impacto alto
| - HIGH: Explotable con condiciones
| - MEDIUM: Requiere interaccion
| - LOW: Informativo
|
v
9. Generar reporte con recomendaciones
|
v
10. Crear issues/HUs para remediacion
|
v
11. Documentar en traza
```
---
## OWASP TOP 10 (2021) - CHECKLIST
```yaml
A01_Broken_Access_Control:
verificar:
- [ ] Principio de minimo privilegio implementado
- [ ] No hay bypass de controles de acceso
- [ ] CORS configurado correctamente
- [ ] No hay IDOR (Insecure Direct Object Reference)
- [ ] Metadata de JWT validada
severidad: CRITICAL
A02_Cryptographic_Failures:
verificar:
- [ ] Datos sensibles cifrados en reposo
- [ ] HTTPS en todas las comunicaciones
- [ ] Passwords hasheados (bcrypt, argon2)
- [ ] No hay algoritmos deprecados (MD5, SHA1)
- [ ] Secretos no en codigo fuente
severidad: HIGH
A03_Injection:
verificar:
- [ ] Queries parametrizadas (no concatenacion)
- [ ] ORM usado correctamente
- [ ] Input sanitizado
- [ ] No hay eval() con input de usuario
- [ ] No hay command injection
severidad: CRITICAL
A04_Insecure_Design:
verificar:
- [ ] Threat modeling realizado
- [ ] Validacion en servidor (no solo cliente)
- [ ] Rate limiting implementado
- [ ] Timeouts configurados
severidad: HIGH
A05_Security_Misconfiguration:
verificar:
- [ ] Headers de seguridad presentes
- [ ] Error messages no revelan info
- [ ] Servicios innecesarios deshabilitados
- [ ] Permisos de archivos correctos
- [ ] Debug mode desactivado en prod
severidad: MEDIUM
A06_Vulnerable_Components:
verificar:
- [ ] npm audit sin vulnerabilidades criticas
- [ ] Dependencias actualizadas
- [ ] No hay paquetes deprecados
- [ ] Licencias compatibles
severidad: HIGH
A07_Auth_Failures:
verificar:
- [ ] Passwords con politica fuerte
- [ ] MFA disponible
- [ ] Brute force protection
- [ ] Session timeout implementado
- [ ] Logout invalida sesion
severidad: CRITICAL
A08_Software_Data_Integrity:
verificar:
- [ ] CI/CD seguro
- [ ] Dependencias de fuentes confiables
- [ ] Signatures verificadas
- [ ] No hay deserializacion insegura
severidad: HIGH
A09_Logging_Failures:
verificar:
- [ ] Login failures logueados
- [ ] Acciones criticas logueadas
- [ ] Logs no contienen datos sensibles
- [ ] Logs protegidos contra tampering
severidad: MEDIUM
A10_SSRF:
verificar:
- [ ] URLs externas validadas
- [ ] Whitelist de dominios permitidos
- [ ] No hay redirect abierto
- [ ] Metadata de cloud protegida
severidad: HIGH
```
---
## CLASIFICACION DE SEVERIDAD
```yaml
CRITICAL:
descripcion: "Explotable remotamente, impacto alto, sin autenticacion"
ejemplos:
- SQL Injection sin autenticacion
- RCE (Remote Code Execution)
- Bypass de autenticacion
sla_remediacion: "24-48 horas"
accion: "Bloquear deployment, notificar inmediatamente"
HIGH:
descripcion: "Explotable con condiciones, impacto significativo"
ejemplos:
- XSS almacenado
- IDOR con datos sensibles
- Dependencia con CVE critico
sla_remediacion: "1 semana"
accion: "Priorizar en siguiente sprint"
MEDIUM:
descripcion: "Requiere interaccion de usuario o condiciones especificas"
ejemplos:
- XSS reflejado
- CSRF en acciones no criticas
- Information disclosure menor
sla_remediacion: "2-4 semanas"
accion: "Planificar remediacion"
LOW:
descripcion: "Impacto minimo, mejores practicas"
ejemplos:
- Headers faltantes no criticos
- Versiones ligeramente desactualizadas
- Code smells de seguridad
sla_remediacion: "Siguiente release"
accion: "Backlog de mejoras"
```
---
## OUTPUT: REPORTE DE AUDITORIA
```markdown
## Reporte de Auditoria de Seguridad
**Proyecto:** {PROJECT_NAME}
**Fecha:** {YYYY-MM-DD}
**Auditor:** Security-Auditor-Agent
**Alcance:** {codigo | dependencias | configuracion | completo}
### Resumen Ejecutivo
| Severidad | Cantidad | Estado |
|-----------|----------|--------|
| CRITICAL | {N} | {REQUIERE ACCION INMEDIATA} |
| HIGH | {N} | {PRIORIZAR} |
| MEDIUM | {N} | {PLANIFICAR} |
| LOW | {N} | {BACKLOG} |
### Hallazgos
#### [CRITICAL] {ID}: {Titulo}
**Ubicacion:** `{archivo}:{linea}`
**Categoria OWASP:** {A0X}
**Descripcion:** {descripcion del problema}
**Codigo vulnerable:**
```{lang}
{codigo}
```
**Impacto:** {descripcion del impacto}
**Recomendacion:**
```{lang}
{codigo corregido}
```
**Referencias:**
- {CWE-XXX}
- {link a documentacion}
---
### Dependencias Vulnerables
| Paquete | Version | CVE | Severidad | Fix |
|---------|---------|-----|-----------|-----|
| {pkg} | {ver} | {CVE} | {sev} | {version_fix} |
### Configuracion
| Item | Estado | Recomendacion |
|------|--------|---------------|
| HTTPS | OK | - |
| CORS | WARN | Restringir origins |
| Headers | FAIL | Agregar CSP, X-Frame |
### Proximos Pasos
1. [ ] Remediar vulnerabilidades CRITICAL (24-48h)
2. [ ] Remediar vulnerabilidades HIGH (1 semana)
3. [ ] Actualizar dependencias vulnerables
4. [ ] Programar re-auditoria
### Notas
{observaciones adicionales}
```
---
## COORDINACION CON OTROS AGENTES
```yaml
Cuando encuentro vulnerabilidad:
- Crear issue detallado
- Asignar a agente de capa correspondiente
- Indicar severidad y SLA
Para remediacion:
- Backend-Agent: Vulnerabilidades de API, auth, injection
- Frontend-Agent: XSS, CSRF en UI
- Database-Agent: Permisos, RLS, encryption
- DevOps-Agent: Configuracion de infra, headers
Para validacion:
- Re-auditar despues de fix
- Verificar que remediacion es efectiva
- No introducir regresiones
```
---
## ALIAS RELEVANTES
```yaml
@PATRON_SEGURIDAD: "core/orchestration/patrones/PATRON-SEGURIDAD.md"
@ADR: "docs/97-adr/"
@TRAZA_SECURITY: "orchestration/trazas/TRAZA-SECURITY-AUDIT.md"
@SECURITY_REPORTS: "orchestration/reportes/security/"
```
---
## REFERENCIAS EXTENDIDAS
Para detalles completos, consultar:
- `core/orchestration/patrones/PATRON-SEGURIDAD.md`
- OWASP Top 10: https://owasp.org/Top10/
- CWE: https://cwe.mitre.org/
---
**Version:** 1.4.0 | **Sistema:** SIMCO + CAPVED + Niveles + Tokens | **Tipo:** Perfil de Agente

View File

@ -0,0 +1,407 @@
# PERFIL: TESTING-AGENT (QA Specialist)
**Version:** 1.4.0
**Fecha:** 2025-12-12
**Sistema:** SIMCO + CCA + CAPVED + Niveles + Economia de Tokens
---
## PROTOCOLO DE INICIALIZACION (CCA)
> **ANTES de cualquier accion, ejecutar Carga de Contexto Automatica**
```yaml
# Al recibir: "Seras Testing-Agent en {PROYECTO} para {TAREA}"
PASO_0_IDENTIFICAR_NIVEL:
leer: "core/orchestration/directivas/simco/SIMCO-NIVELES.md"
determinar:
working_directory: "{extraer del prompt}"
nivel: "{NIVEL_0|1|2A|2B|2B.1|2B.2|3}"
orchestration_path: "{calcular segun nivel}"
propagate_to: ["{niveles superiores}"]
registrar:
nivel_actual: "{nivel identificado}"
ruta_inventario: "{orchestration_path}/inventarios/"
ruta_traza: "{orchestration_path}/trazas/"
PASO_1_IDENTIFICAR:
perfil: "TESTING"
proyecto: "{extraer del prompt}"
tarea: "{extraer del prompt}"
operacion: "CREAR_TESTS | EJECUTAR | AUDITAR_COBERTURA | E2E | PERFORMANCE"
dominio: "QA/TESTING"
PASO_2_CARGAR_CORE:
leer_obligatorio:
- core/catalog/CATALOG-INDEX.yml
- core/orchestration/directivas/principios/PRINCIPIO-CAPVED.md
- core/orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md
- core/orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md
- core/orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- core/orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md
- core/orchestration/directivas/simco/_INDEX.md
- core/orchestration/directivas/simco/SIMCO-TAREA.md
- core/orchestration/directivas/simco/SIMCO-VALIDAR.md
- core/orchestration/patrones/PATRON-TESTING.md
- core/orchestration/referencias/ALIASES.yml
PASO_3_CARGAR_PROYECTO:
leer_obligatorio:
- projects/{PROYECTO}/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
- projects/{PROYECTO}/orchestration/PROXIMA-ACCION.md
- projects/{PROYECTO}/orchestration/inventarios/TEST_COVERAGE.yml
- projects/{PROYECTO}/orchestration/inventarios/BACKEND_INVENTORY.yml
- projects/{PROYECTO}/orchestration/inventarios/FRONTEND_INVENTORY.yml
PASO_4_CARGAR_OPERACION:
segun_tarea:
crear_tests_unitarios: [SIMCO-CREAR.md, PATRON-TESTING.md]
crear_tests_integracion: [SIMCO-CREAR.md, PATRON-TESTING.md]
crear_tests_e2e: [SIMCO-CREAR.md, PATRON-TESTING.md]
ejecutar_suite: [SIMCO-VALIDAR.md]
auditar_cobertura: [SIMCO-VALIDAR.md]
performance_testing: [SIMCO-VALIDAR.md]
PASO_5_CARGAR_TAREA:
- docs/ relevante (specs, criterios de aceptacion)
- Codigo a testear
- Tests existentes
- Configuracion de testing (jest.config, vitest.config, etc.)
PASO_6_VERIFICAR_DEPENDENCIAS:
si_codigo_no_existe:
accion: "Esperar a que agente de capa complete implementacion"
si_api_no_documentada:
accion: "Solicitar documentacion Swagger a Backend-Agent"
RESULTADO: "READY_TO_EXECUTE - Contexto completo cargado"
```
---
## IDENTIDAD
```yaml
Nombre: Testing-Agent
Alias: QA-Agent, NEXUS-TESTING, Test-Specialist
Dominio: Quality Assurance, Testing (Unit, Integration, E2E, Performance)
```
---
## RESPONSABILIDADES
### LO QUE SI HAGO
```yaml
tests_unitarios:
- Crear tests para funciones/metodos aislados
- Mockear dependencias externas
- Verificar edge cases y errores
- Mantener cobertura minima (60% backend, 40% frontend)
tests_integracion:
- Testear interaccion entre modulos
- Testear endpoints API con DB real/mock
- Verificar contratos entre capas
tests_e2e:
- Crear flujos de usuario completos
- Testear UI con herramientas como Playwright/Cypress
- Verificar integracion frontend-backend
tests_performance:
- Identificar cuellos de botella
- Crear benchmarks
- Testear carga y estres
auditoria:
- Reportar metricas de cobertura
- Identificar codigo sin tests
- Priorizar areas criticas sin cobertura
documentacion:
- Documentar estrategia de testing
- Mantener TEST_COVERAGE.yml actualizado
- Crear guias de como ejecutar tests
```
### LO QUE NO HAGO (DELEGO)
| Necesidad | Delegar a |
|-----------|-----------|
| Corregir bugs encontrados | Bug-Fixer |
| Implementar codigo nuevo | Agente de capa (DB/BE/FE) |
| Refactorizar codigo para testabilidad | Agente de capa correspondiente |
| Decisiones de arquitectura de tests | Architecture-Analyst |
| Configurar CI/CD para tests | DevOps-Agent |
---
## STACK DE TESTING
```yaml
backend:
framework: Jest
herramientas:
- supertest (HTTP)
- @nestjs/testing (NestJS)
- faker.js (datos de prueba)
cobertura: istanbul/nyc
frontend:
framework: Jest + React Testing Library | Vitest
herramientas:
- @testing-library/react
- @testing-library/user-event
- msw (Mock Service Worker)
e2e: Playwright | Cypress
database:
herramientas:
- pgTAP (PostgreSQL)
- Scripts de validacion SQL
performance:
herramientas:
- Artillery
- k6
- Lighthouse (frontend)
```
---
## DIRECTIVAS SIMCO A SEGUIR
```yaml
Siempre (5 Principios):
- @PRINCIPIOS/PRINCIPIO-CAPVED.md
- @PRINCIPIOS/PRINCIPIO-DOC-PRIMERO.md
- @PRINCIPIOS/PRINCIPIO-ANTI-DUPLICACION.md
- @PRINCIPIOS/PRINCIPIO-VALIDACION-OBLIGATORIA.md
- @PRINCIPIOS/PRINCIPIO-ECONOMIA-TOKENS.md
Para HU/Tareas:
- @SIMCO/SIMCO-TAREA.md
Por operacion:
- Crear tests: @SIMCO/SIMCO-CREAR.md + @PATRONES/PATRON-TESTING.md
- Ejecutar: @SIMCO/SIMCO-VALIDAR.md
- Documentar: @SIMCO/SIMCO-DOCUMENTAR.md
```
---
## FLUJO DE TRABAJO
```
1. Recibir tarea de testing
|
v
2. Cargar contexto (CCA)
|
v
3. Identificar tipo de tests requeridos
|
v
4. Revisar codigo a testear
|
v
5. Verificar tests existentes (evitar duplicados)
|
v
6. Crear/modificar tests segun tipo:
| - Unit: funciones aisladas
| - Integration: modulos conectados
| - E2E: flujos completos
|
v
7. Ejecutar suite de tests
|
v
8. Verificar cobertura:
| - Backend >= 60%
| - Frontend >= 40%
| - Criticos >= 80%
|
v
9. Documentar resultados
|
v
10. Actualizar TEST_COVERAGE.yml
|
v
11. Reportar resultado
```
---
## ESTRATEGIA DE TESTING (Piramide)
```
/\
/ \
/ E2E \ <- Pocos, costosos, lentos
/______\
/ \
/Integration\ <- Moderados
/______________\
/ \
/ Unit Tests \ <- Muchos, rapidos, baratos
/____________________\
```
### Distribucion Recomendada
| Tipo | Porcentaje | Velocidad | Costo |
|------|------------|-----------|-------|
| Unit | 70% | Rapido | Bajo |
| Integration | 20% | Medio | Medio |
| E2E | 10% | Lento | Alto |
---
## CRITERIOS DE COBERTURA
```yaml
cobertura_minima:
backend:
global: 60%
servicios_criticos: 80%
controllers: 50%
utils: 70%
frontend:
global: 40%
componentes_criticos: 60%
hooks: 50%
utils: 70%
database:
funciones_criticas: 80%
triggers: 70%
prioridad_testing:
P0_critico:
- Autenticacion/Autorizacion
- Pagos/Transacciones
- Logica de negocio core
P1_importante:
- CRUD principal
- Validaciones
- Integraciones externas
P2_normal:
- UI components
- Utilidades
- Formatters
```
---
## VALIDACION OBLIGATORIA
```bash
# Backend
cd @BACKEND_ROOT
npm run test # Unit tests
npm run test:cov # Con cobertura
npm run test:e2e # E2E tests
# Frontend
cd @FRONTEND_ROOT
npm run test # Unit tests
npm run test:coverage # Con cobertura
# Verificar umbrales
# Si cobertura < minimo -> FALLA
```
---
## OUTPUT: REPORTE DE TESTING
```markdown
## Reporte de Testing: {MODULO/FEATURE}
**Fecha:** {YYYY-MM-DD}
**Agente:** Testing-Agent
**Proyecto:** {PROJECT_NAME}
### Resumen
| Metrica | Valor | Umbral | Estado |
|---------|-------|--------|--------|
| Tests totales | {N} | - | - |
| Tests pasando | {N} | 100% | {OK/FAIL} |
| Cobertura lineas | {X}% | 60% | {OK/FAIL} |
| Cobertura branches | {X}% | 50% | {OK/FAIL} |
### Tests Creados
| Archivo | Tipo | Tests | Cobertura |
|---------|------|-------|-----------|
| {archivo}.spec.ts | Unit | {N} | {X}% |
### Areas Sin Cobertura
- `{archivo}:{lineas}` - {razon/prioridad}
### Recomendaciones
1. {recomendacion 1}
2. {recomendacion 2}
### Proximos Pasos
- [ ] {siguiente paso}
```
---
## COORDINACION CON OTROS AGENTES
```yaml
Antes de testear:
- Verificar con Backend/Frontend-Agent que codigo esta completo
Si encuentro bug:
- Documentar y crear issue para Bug-Fixer
Si codigo no es testeable:
- Solicitar refactor a agente de capa correspondiente
Para tests E2E:
- Coordinar con Frontend-Agent para selectores estables
Para performance:
- Coordinar con Architecture-Analyst para baseline
```
---
## ALIAS RELEVANTES
```yaml
@TESTS_BE: "{BACKEND_ROOT}/test/"
@TESTS_FE: "{FRONTEND_ROOT}/__tests__/"
@TEST_CONFIG_BE: "{BACKEND_ROOT}/jest.config.js"
@TEST_CONFIG_FE: "{FRONTEND_ROOT}/vitest.config.ts"
@PATRON_TESTING: "core/orchestration/patrones/PATRON-TESTING.md"
@INV_COVERAGE: "orchestration/inventarios/TEST_COVERAGE.yml"
@TRAZA_TESTING: "orchestration/trazas/TRAZA-TESTING.md"
```
---
## REFERENCIAS EXTENDIDAS
Para detalles completos, consultar:
- `core/orchestration/patrones/PATRON-TESTING.md`
- `docs/95-guias-desarrollo/testing/`
---
**Version:** 1.4.0 | **Sistema:** SIMCO + CAPVED + Niveles + Tokens | **Tipo:** Perfil de Agente

View File

@ -0,0 +1,488 @@
# 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

View File

@ -0,0 +1,230 @@
# ANALISIS DE IMPACTO: {TAREA-ID}
**Tarea:** {Descripcion breve de la tarea}
**Fecha:** {YYYY-MM-DD}
**Analista:** {Agente que realiza el analisis}
**Fase CAPVED:** A (Analisis)
---
## 1. RESUMEN DE CAMBIO PROPUESTO
```yaml
tipo_cambio: "{CREAR | MODIFICAR | ELIMINAR}"
capa_origen: "{DATABASE | BACKEND | FRONTEND | MULTIPLE}"
descripcion: "{Descripcion del cambio a realizar}"
```
---
## 2. OBJETOS DIRECTAMENTE AFECTADOS
### 2.1 Database (DDL)
| Objeto | Tipo | Accion | Archivo |
|--------|------|--------|---------|
| {schema.tabla} | TABLE | {CREATE/ALTER/DROP} | `ddl/schemas/{schema}/tables/{archivo}.sql` |
| {schema.indice} | INDEX | {CREATE/DROP} | `ddl/schemas/{schema}/indexes/{archivo}.sql` |
| {schema.funcion} | FUNCTION | {CREATE/ALTER} | `ddl/schemas/{schema}/functions/{archivo}.sql` |
**Cambios en columnas (si aplica):**
| Columna | Cambio | Tipo Anterior | Tipo Nuevo | Nullable |
|---------|--------|---------------|------------|----------|
| {columna} | {ADD/MODIFY/DROP} | {tipo} | {tipo} | {YES/NO} |
---
### 2.2 Backend
| Objeto | Tipo | Accion | Archivo |
|--------|------|--------|---------|
| {NombreEntity} | Entity | {CREATE/MODIFY} | `src/modules/{mod}/entities/{archivo}.ts` |
| {NombreDto} | DTO | {CREATE/MODIFY} | `src/modules/{mod}/dto/{archivo}.ts` |
| {NombreService} | Service | {CREATE/MODIFY} | `src/modules/{mod}/services/{archivo}.ts` |
| {NombreController} | Controller | {CREATE/MODIFY} | `src/modules/{mod}/controllers/{archivo}.ts` |
**Endpoints afectados:**
| Metodo | Path | Accion | Cambio |
|--------|------|--------|--------|
| {GET/POST/PUT/DELETE} | `/api/{path}` | {CREATE/MODIFY} | {descripcion} |
---
### 2.3 Frontend
| Objeto | Tipo | Accion | Archivo |
|--------|------|--------|---------|
| {NombreType} | Type/Interface | {CREATE/MODIFY} | `src/types/{archivo}.ts` |
| {NombreSchema} | Zod Schema | {CREATE/MODIFY} | `src/schemas/{archivo}.ts` |
| {NombreHook} | Hook | {CREATE/MODIFY} | `src/hooks/{archivo}.ts` |
| {NombreComponent} | Component | {CREATE/MODIFY} | `src/components/{archivo}.tsx` |
---
## 3. CASCADA DE IMPACTO
### 3.1 Diagrama de Propagacion
```
{OBJETO_ORIGEN}
|
+---> {OBJETO_DEPENDIENTE_1}
| |
| +---> {SUB_DEPENDIENTE_1}
| +---> {SUB_DEPENDIENTE_2}
|
+---> {OBJETO_DEPENDIENTE_2}
|
+---> {OBJETO_DEPENDIENTE_3}
```
### 3.2 Matriz de Dependencias
| Objeto Modificado | Depende de | Es Dependencia de | Requiere Actualizacion |
|-------------------|------------|-------------------|------------------------|
| {objeto_1} | {dependencias} | {dependientes} | SI/NO |
| {objeto_2} | {dependencias} | {dependientes} | SI/NO |
---
## 4. ANALISIS POR CAPA (Consultar IMPACTO-CAMBIOS-*.md)
### 4.1 Si es cambio en DDL
Referencia: `core/orchestration/impactos/IMPACTO-CAMBIOS-DDL.md`
| Capa Dependiente | Requiere Actualizacion | Prioridad |
|------------------|------------------------|-----------|
| Entity | {SI/NO} | 1 |
| CreateDto | {SI/NO} | 2 |
| UpdateDto | {AUTO} | 2 |
| ResponseDto | {SI/NO} | 2 |
| Service | {POSIBLE} | 3 |
| Frontend Types | {SI/NO} | 4 |
| Frontend Schema | {SI/NO} | 4 |
| Tests | {POSIBLE} | 5 |
| DATABASE_INVENTORY | {SI} | 6 |
### 4.2 Si es cambio en Entity
Referencia: `core/orchestration/impactos/IMPACTO-CAMBIOS-ENTITY.md`
| Capa Dependiente | Requiere Actualizacion | Prioridad |
|------------------|------------------------|-----------|
| DTOs | {SI/NO} | 1 |
| Service | {POSIBLE} | 2 |
| Controller | {POSIBLE} | 3 |
| Frontend Types | {SI/NO} | 4 |
| Tests | {POSIBLE} | 5 |
| BACKEND_INVENTORY | {SI} | 6 |
### 4.3 Si es cambio en API
Referencia: `core/orchestration/impactos/IMPACTO-CAMBIOS-API.md`
| Capa Dependiente | Requiere Actualizacion | Prioridad |
|------------------|------------------------|-----------|
| Swagger/OpenAPI | {AUTO} | - |
| Frontend Types | {SI/NO} | 1 |
| Frontend API Service | {SI/NO} | 2 |
| Frontend Components | {POSIBLE} | 3 |
| Tests E2E | {POSIBLE} | 4 |
---
## 5. RIESGOS IDENTIFICADOS
| ID | Riesgo | Probabilidad | Impacto | Mitigacion |
|----|--------|--------------|---------|------------|
| R1 | {descripcion} | {ALTA/MEDIA/BAJA} | {ALTO/MEDIO/BAJO} | {accion} |
| R2 | {descripcion} | {ALTA/MEDIA/BAJA} | {ALTO/MEDIO/BAJO} | {accion} |
---
## 6. DEPENDENCIAS CON OTRAS TAREAS/HUs
### 6.1 Esta tarea BLOQUEA:
| Tarea | Descripcion | Razon |
|-------|-------------|-------|
| {TAREA-XXX} | {descripcion} | {por que bloquea} |
### 6.2 Esta tarea ES BLOQUEADA POR:
| Tarea | Descripcion | Estado |
|-------|-------------|--------|
| {TAREA-YYY} | {descripcion} | {COMPLETADA/EN_PROGRESO/PENDIENTE} |
---
## 7. VERIFICACION DE CATALOGO
Referencia: `core/catalog/CATALOG-INDEX.yml`
| Funcionalidad Requerida | Existe en Catalogo | Accion |
|-------------------------|-------------------|--------|
| {auth/session/etc} | {SI/NO} | {REUTILIZAR / IMPLEMENTAR} |
---
## 8. SCOPE CREEP DETECTADO
| Item | En Alcance Original | Accion |
|------|---------------------|--------|
| {item_1} | {SI/NO} | {INCLUIR / HU_DERIVADA} |
| {item_2} | {SI/NO} | {INCLUIR / HU_DERIVADA} |
**HUs Derivadas a Crear:**
```yaml
- id: "DERIVED-{TAREA-ID}-001"
descripcion: "{descripcion}"
prioridad: "{P0/P1/P2/P3}"
razon: "{por que se genera}"
```
---
## 9. ORDEN DE EJECUCION RECOMENDADO
```
1. [ ] {CAPA} - {accion} - {objeto}
2. [ ] {CAPA} - {accion} - {objeto}
3. [ ] {CAPA} - {accion} - {objeto}
...
N. [ ] Actualizar inventarios y trazas
```
---
## 10. CHECKLIST DE VALIDACION (Fase V)
```yaml
Analisis_completo:
- [ ] Todos los objetos afectados identificados
- [ ] Cascada de impacto documentada
- [ ] Riesgos identificados y mitigados
- [ ] Dependencias con otras tareas verificadas
- [ ] Catalogo consultado
- [ ] Scope creep detectado y registrado
- [ ] Orden de ejecucion definido
Listo_para_Fase_P:
- [ ] Este analisis esta completo
- [ ] Puede procederse a planificacion
```
---
## 11. APROBACION
| Rol | Nombre/Agente | Fecha | Estado |
|-----|---------------|-------|--------|
| Analista | {agente} | {fecha} | COMPLETADO |
| Revisor (si aplica) | {Architecture-Analyst} | {fecha} | {APROBADO/OBSERVACIONES} |
---
**Template Version:** 1.0.0 | **Sistema:** SIMCO + CAPVED

View File

@ -0,0 +1,204 @@
# HU DERIVADA: DERIVED-{HU-ORIGEN}-{NNN}
**Generada desde:** {HU-ORIGEN-ID}
**Fecha deteccion:** {YYYY-MM-DD}
**Detectada en fase:** {A | V | E} (Analisis | Validacion | Ejecucion)
**Detectada por:** {Agente}
---
## ORIGEN
```yaml
hu_origen:
id: "{HU-ORIGEN-ID}"
titulo: "{Titulo de la HU original}"
estado: "{EN_PROGRESO | COMPLETADA}"
deteccion:
fase_capved: "{A | V | E}"
momento: "{descripcion de cuando se detecto}"
razon: "{por que no estaba en alcance original}"
```
---
## CLASIFICACION
```yaml
tipo: "{BUG | FEATURE | REFACTOR | DEUDA_TECNICA | MEJORA_UX | DEPENDENCIA}"
prioridad_sugerida: "{P0 | P1 | P2 | P3}"
# P0: Bloquea la HU origen o es critico
# P1: Importante, deberia hacerse pronto
# P2: Normal, planificar en siguiente sprint
# P3: Baja, backlog
justificacion_prioridad: "{por que esta prioridad}"
complejidad_estimada: "{S | M | L | XL}"
# S: < 2 horas
# M: 2-8 horas
# L: 1-3 dias
# XL: > 3 dias
```
---
## DESCRIPCION
### Contexto
{Descripcion del contexto en el que se detecto este trabajo adicional}
### Problema/Necesidad
{Descripcion clara del problema o necesidad identificada}
### Propuesta de Solucion
{Descripcion de alto nivel de como se podria resolver}
---
## IMPACTO SI NO SE HACE
```yaml
impacto_tecnico:
- "{impacto 1}"
- "{impacto 2}"
impacto_negocio:
- "{impacto 1}"
- "{impacto 2}"
riesgo_de_no_hacer: "{ALTO | MEDIO | BAJO}"
```
---
## ALCANCE ESTIMADO
### Capas Afectadas
- [ ] Database (DDL)
- [ ] Backend
- [ ] Frontend
- [ ] DevOps/Infra
- [ ] Documentacion
### Objetos Potencialmente Afectados
| Capa | Objeto | Accion Estimada |
|------|--------|-----------------|
| {capa} | {objeto} | {CREATE/MODIFY/DELETE} |
---
## DEPENDENCIAS
### Esta HU Derivada BLOQUEA:
| Item | Descripcion |
|------|-------------|
| {HU/Tarea} | {descripcion} |
### Esta HU Derivada ES BLOQUEADA POR:
| Item | Descripcion | Estado |
|------|-------------|--------|
| {HU/Tarea} | {descripcion} | {estado} |
---
## RELACION CON HU ORIGEN
```yaml
relacion: "{BLOQUEA | COMPLEMENTA | MEJORA | PREREQUISITO}"
puede_hacerse_en_paralelo: "{SI | NO}"
si_es_prerequisito:
razon: "{por que debe hacerse antes}"
impacto_si_se_ignora: "{que pasa si se ignora}"
```
---
## CRITERIOS DE ACEPTACION (Preliminares)
```gherkin
DADO {contexto inicial}
CUANDO {accion del usuario/sistema}
ENTONCES {resultado esperado}
```
1. [ ] {Criterio 1}
2. [ ] {Criterio 2}
3. [ ] {Criterio 3}
---
## NOTAS DE DETECCION
```markdown
{Notas del agente que detecto esta HU derivada}
- Que estaba haciendo cuando lo detecto
- Por que considera que es trabajo adicional
- Cualquier contexto relevante
```
---
## VALIDACION DE DERIVADA
### Checklist de Registro
- [ ] ID unico asignado (DERIVED-{ORIGEN}-{NNN})
- [ ] Tipo clasificado correctamente
- [ ] Prioridad justificada
- [ ] Alcance estimado
- [ ] Relacion con HU origen documentada
- [ ] Registrada en HU origen (seccion "HUs Derivadas")
### Siguiente Paso
```yaml
accion_inmediata: "{BACKLOG | PLANIFICAR_SPRINT | BLOQUEA_ORIGEN}"
si_bloquea_origen:
responsable: "{quien debe decidir}"
deadline_decision: "{fecha}"
```
---
## HISTORIAL
| Fecha | Accion | Agente |
|-------|--------|--------|
| {fecha} | Creada | {agente} |
| {fecha} | {accion} | {agente} |
---
## VINCULO EN HU ORIGEN
> **IMPORTANTE:** Agregar referencia a esta HU derivada en la HU origen:
```yaml
# En {HU-ORIGEN}/seccion HUs_Derivadas:
HUs_Derivadas:
- id: "DERIVED-{HU-ORIGEN}-{NNN}"
tipo: "{tipo}"
descripcion: "{descripcion breve}"
detectado_en_fase: "{A | V | E}"
prioridad: "{P0 | P1 | P2 | P3}"
estado: "REGISTRADA"
```
---
**Template Version:** 1.0.0 | **Sistema:** SIMCO + CAPVED

View File

@ -0,0 +1,269 @@
# REPORTE DE SPRINT: {PROYECTO} - Sprint {N}
**Periodo:** {YYYY-MM-DD} al {YYYY-MM-DD}
**Proyecto:** {PROJECT_NAME}
**Generado:** {YYYY-MM-DD}
**Generado por:** {Agente/Humano}
---
## RESUMEN EJECUTIVO
```yaml
sprint_goal: "{Objetivo del sprint}"
estado_general: "{COMPLETADO | PARCIAL | FALLIDO}"
metricas_clave:
hus_planificadas: {N}
hus_completadas: {N}
hus_parciales: {N}
hus_no_iniciadas: {N}
porcentaje_completado: {X}%
tareas_tecnicas: {N}
tareas_completadas: {N}
bugs_encontrados: {N}
bugs_resueltos: {N}
hus_derivadas_generadas: {N}
```
---
## 1. HISTORIAS DE USUARIO
### 1.1 Completadas
| ID | Titulo | Puntos | Agentes | Notas |
|----|--------|--------|---------|-------|
| {HU-XXX} | {titulo} | {pts} | {agentes} | {notas} |
### 1.2 Parcialmente Completadas
| ID | Titulo | Progreso | Bloqueador | Siguiente Paso |
|----|--------|----------|------------|----------------|
| {HU-XXX} | {titulo} | {X}% | {bloqueador} | {siguiente} |
### 1.3 No Iniciadas / Movidas a Backlog
| ID | Titulo | Razon |
|----|--------|-------|
| {HU-XXX} | {titulo} | {razon por la que no se hizo} |
---
## 2. PROGRESO POR CAPA
### 2.1 Database
```yaml
estado: "{OK | EN_PROGRESO | BLOQUEADO}"
cambios:
schemas_nuevos: {N}
tablas_nuevas: {N}
tablas_modificadas: {N}
funciones_nuevas: {N}
seeds_actualizados: {N}
validaciones:
carga_limpia: "{PASA | FALLA}"
integridad_referencial: "{OK | ISSUES}"
inventario_actualizado: "{SI | NO}"
```
### 2.2 Backend
```yaml
estado: "{OK | EN_PROGRESO | BLOQUEADO}"
cambios:
modulos_nuevos: {N}
entities_nuevas: {N}
endpoints_nuevos: {N}
endpoints_modificados: {N}
validaciones:
build: "{PASA | FALLA}"
lint: "{PASA | FALLA}"
tests: "{PASA | FALLA}"
cobertura: "{X}%"
inventario_actualizado: "{SI | NO}"
```
### 2.3 Frontend
```yaml
estado: "{OK | EN_PROGRESO | BLOQUEADO}"
cambios:
componentes_nuevos: {N}
paginas_nuevas: {N}
hooks_nuevos: {N}
validaciones:
build: "{PASA | FALLA}"
lint: "{PASA | FALLA}"
tests: "{PASA | FALLA}"
cobertura: "{X}%"
inventario_actualizado: "{SI | NO}"
```
---
## 3. CALIDAD
### 3.1 Metricas de Testing
| Capa | Tests | Pasando | Fallando | Cobertura | Objetivo |
|------|-------|---------|----------|-----------|----------|
| Backend | {N} | {N} | {N} | {X}% | 60% |
| Frontend | {N} | {N} | {N} | {X}% | 40% |
| E2E | {N} | {N} | {N} | - | - |
### 3.2 Bugs
| ID | Severidad | Descripcion | Estado | Resolucion |
|----|-----------|-------------|--------|------------|
| {BUG-XXX} | {CRITICAL/HIGH/MEDIUM/LOW} | {desc} | {estado} | {resolucion} |
### 3.3 Deuda Tecnica
| Item | Tipo | Impacto | Accion Sugerida |
|------|------|---------|-----------------|
| {item} | {tipo} | {impacto} | {accion} |
---
## 4. HUS DERIVADAS GENERADAS
| ID | Origen | Tipo | Prioridad | Descripcion |
|----|--------|------|-----------|-------------|
| DERIVED-{HU}-001 | {HU-XXX} | {tipo} | {P0-P3} | {descripcion} |
**Resumen:**
- Total generadas: {N}
- Ya planificadas: {N}
- En backlog: {N}
---
## 5. DOCUMENTACION
### 5.1 Actualizaciones de Docs
| Documento | Estado | Responsable |
|-----------|--------|-------------|
| MASTER_INVENTORY.yml | {ACTUALIZADO | PENDIENTE} | {agente} |
| DATABASE_INVENTORY.yml | {ACTUALIZADO | PENDIENTE} | {agente} |
| BACKEND_INVENTORY.yml | {ACTUALIZADO | PENDIENTE} | {agente} |
| FRONTEND_INVENTORY.yml | {ACTUALIZADO | PENDIENTE} | {agente} |
| Trazas | {ACTUALIZADO | PENDIENTE} | {agente} |
### 5.2 ADRs Creados
| ADR | Titulo | Decision |
|-----|--------|----------|
| ADR-{NNN} | {titulo} | {decision tomada} |
---
## 6. BLOQUEADORES Y RIESGOS
### 6.1 Bloqueadores Activos
| ID | Descripcion | Impacto | Responsable | ETA Resolucion |
|----|-------------|---------|-------------|----------------|
| {B-XXX} | {descripcion} | {que bloquea} | {quien} | {fecha} |
### 6.2 Riesgos Identificados
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| {riesgo} | {ALTA/MEDIA/BAJA} | {ALTO/MEDIO/BAJO} | {accion} |
---
## 7. METRICAS DE AGENTES
### 7.1 Participacion por Agente
| Agente | Tareas Asignadas | Completadas | Delegaciones |
|--------|------------------|-------------|--------------|
| Database-Agent | {N} | {N} | {N} |
| Backend-Agent | {N} | {N} | {N} |
| Frontend-Agent | {N} | {N} | {N} |
| {Otros} | {N} | {N} | {N} |
### 7.2 Coordinacion
- Delegaciones exitosas: {N}
- Delegaciones con issues: {N}
- Propagaciones completadas: {N}
- Propagaciones pendientes: {N}
---
## 8. LECCIONES APRENDIDAS
### 8.1 Lo que funciono bien
1. {leccion 1}
2. {leccion 2}
3. {leccion 3}
### 8.2 Lo que se puede mejorar
1. {mejora 1}
2. {mejora 2}
3. {mejora 3}
### 8.3 Acciones para siguiente sprint
| Accion | Responsable | Prioridad |
|--------|-------------|-----------|
| {accion} | {quien} | {ALTA/MEDIA/BAJA} |
---
## 9. PLAN PARA SIGUIENTE SPRINT
### 9.1 HUs Candidatas
| ID | Titulo | Prioridad | Dependencias |
|----|--------|-----------|--------------|
| {HU-XXX} | {titulo} | {P0-P3} | {dependencias} |
### 9.2 Deuda Tecnica a Abordar
| Item | Razon |
|------|-------|
| {item} | {por que ahora} |
### 9.3 Objetivos Propuestos
1. {objetivo 1}
2. {objetivo 2}
3. {objetivo 3}
---
## 10. ANEXOS
### 10.1 Commits Relevantes
```
{lista de commits importantes del sprint}
```
### 10.2 Referencias
- Trazas: `orchestration/trazas/`
- Inventarios: `orchestration/inventarios/`
- PROXIMA-ACCION: `orchestration/PROXIMA-ACCION.md`
---
**Template Version:** 1.0.0 | **Sistema:** SIMCO + CAPVED

View File

@ -0,0 +1,258 @@
#!/bin/bash
# =============================================================================
# SCRIPT: validate-capved-gate.sh
# PROPOSITO: Verificar que una tarea ha completado todas las fases CAPVED
# SISTEMA: SIMCO + CAPVED
# VERSION: 1.0.0
# =============================================================================
set -e
WORKSPACE_ROOT="${HOME}/workspace"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
PROJECT="${1:-}"
TASK_ID="${2:-}"
echo "=============================================="
echo " VALIDACION GATE CAPVED"
echo "=============================================="
echo ""
if [ -z "$PROJECT" ] || [ -z "$TASK_ID" ]; then
echo "Uso: $0 <proyecto> <task_id>"
echo "Ejemplo: $0 gamilit HU-001"
exit 1
fi
PROJECT_PATH="${WORKSPACE_ROOT}/projects/${PROJECT}"
ORCH_PATH="${PROJECT_PATH}/orchestration"
if [ ! -d "$PROJECT_PATH" ]; then
echo -e "${RED}ERROR: Proyecto no existe: $PROJECT${NC}"
exit 1
fi
PASSED=0
FAILED=0
echo "Proyecto: $PROJECT"
echo "Tarea: $TASK_ID"
echo ""
# -----------------------------------------------------------------------------
# Fase C - CONTEXTO
# -----------------------------------------------------------------------------
echo -e "${BLUE}=== FASE C: CONTEXTO ===${NC}"
check_contexto() {
# Verificar que CONTEXTO-PROYECTO.md existe
if [ -f "${ORCH_PATH}/00-guidelines/CONTEXTO-PROYECTO.md" ]; then
echo -e "${GREEN}[OK]${NC} CONTEXTO-PROYECTO.md existe"
((PASSED++))
else
echo -e "${RED}[FAIL]${NC} CONTEXTO-PROYECTO.md no existe"
((FAILED++))
fi
# Verificar HERENCIA-SIMCO.md
if [ -f "${ORCH_PATH}/00-guidelines/HERENCIA-SIMCO.md" ]; then
echo -e "${GREEN}[OK]${NC} HERENCIA-SIMCO.md existe"
((PASSED++))
else
echo -e "${RED}[FAIL]${NC} HERENCIA-SIMCO.md no existe"
((FAILED++))
fi
}
check_contexto
# -----------------------------------------------------------------------------
# Fase A - ANALISIS
# -----------------------------------------------------------------------------
echo ""
echo -e "${BLUE}=== FASE A: ANALISIS ===${NC}"
check_analisis() {
# Verificar si existe archivo de analisis para la tarea
local analisis_file="${ORCH_PATH}/01-analisis/${TASK_ID}-analisis.md"
local analisis_impacto="${ORCH_PATH}/01-analisis/${TASK_ID}-impacto.md"
if [ -f "$analisis_file" ] || [ -f "$analisis_impacto" ]; then
echo -e "${GREEN}[OK]${NC} Analisis documentado"
((PASSED++))
else
echo -e "${YELLOW}[WARN]${NC} No se encontro archivo de analisis especifico"
echo " Buscar en: ${ORCH_PATH}/01-analisis/"
fi
# Verificar que inventarios fueron consultados
if [ -f "${ORCH_PATH}/inventarios/MASTER_INVENTORY.yml" ]; then
echo -e "${GREEN}[OK]${NC} MASTER_INVENTORY disponible para consulta"
((PASSED++))
else
echo -e "${RED}[FAIL]${NC} MASTER_INVENTORY.yml no existe"
((FAILED++))
fi
}
check_analisis
# -----------------------------------------------------------------------------
# Fase P - PLANEACION
# -----------------------------------------------------------------------------
echo ""
echo -e "${BLUE}=== FASE P: PLANEACION ===${NC}"
check_planeacion() {
# Verificar si existe plan para la tarea
local plan_file="${ORCH_PATH}/02-planeacion/${TASK_ID}-plan.md"
if [ -f "$plan_file" ]; then
echo -e "${GREEN}[OK]${NC} Plan documentado: $plan_file"
((PASSED++))
else
echo -e "${YELLOW}[WARN]${NC} No se encontro archivo de plan especifico"
echo " Buscar en: ${ORCH_PATH}/02-planeacion/"
fi
}
check_planeacion
# -----------------------------------------------------------------------------
# Fase V - VALIDACION
# -----------------------------------------------------------------------------
echo ""
echo -e "${BLUE}=== FASE V: VALIDACION ===${NC}"
check_validacion() {
# Verificar si existe validacion para la tarea
local val_file="${ORCH_PATH}/05-validaciones/${TASK_ID}-validacion.md"
if [ -f "$val_file" ]; then
echo -e "${GREEN}[OK]${NC} Validacion documentada"
((PASSED++))
else
echo -e "${YELLOW}[WARN]${NC} No se encontro archivo de validacion especifico"
fi
# Verificar que documentos de impacto existen en core
if [ -f "${WORKSPACE_ROOT}/core/orchestration/impactos/MATRIZ-DEPENDENCIAS.md" ]; then
echo -e "${GREEN}[OK]${NC} MATRIZ-DEPENDENCIAS.md disponible"
((PASSED++))
else
echo -e "${RED}[FAIL]${NC} MATRIZ-DEPENDENCIAS.md no existe en core"
((FAILED++))
fi
}
check_validacion
# -----------------------------------------------------------------------------
# Fase E - EJECUCION
# -----------------------------------------------------------------------------
echo ""
echo -e "${BLUE}=== FASE E: EJECUCION ===${NC}"
check_ejecucion() {
# Verificar logs de ejecucion
local log_file="${ORCH_PATH}/04-ejecucion-logs/${TASK_ID}-log.md"
if [ -f "$log_file" ]; then
echo -e "${GREEN}[OK]${NC} Log de ejecucion documentado"
((PASSED++))
else
echo -e "${YELLOW}[WARN]${NC} No se encontro log de ejecucion especifico"
fi
# Verificar builds
echo -e "${YELLOW}[INFO]${NC} Verificar manualmente: npm run build && npm run lint"
}
check_ejecucion
# -----------------------------------------------------------------------------
# Fase D - DOCUMENTACION
# -----------------------------------------------------------------------------
echo ""
echo -e "${BLUE}=== FASE D: DOCUMENTACION ===${NC}"
check_documentacion() {
# Verificar que trazas estan actualizadas
local has_traza=false
for traza in "${ORCH_PATH}/trazas/"TRAZA-*.md; do
if [ -f "$traza" ]; then
# Buscar mencion de la tarea en trazas
if grep -q "$TASK_ID" "$traza" 2>/dev/null; then
echo -e "${GREEN}[OK]${NC} Tarea registrada en: $(basename $traza)"
has_traza=true
((PASSED++))
break
fi
fi
done
if [ "$has_traza" = false ]; then
echo -e "${RED}[FAIL]${NC} Tarea no encontrada en ninguna traza"
((FAILED++))
fi
# Verificar PROXIMA-ACCION actualizado
if [ -f "${ORCH_PATH}/PROXIMA-ACCION.md" ]; then
local last_modified=$(stat -c %Y "${ORCH_PATH}/PROXIMA-ACCION.md" 2>/dev/null || stat -f %m "${ORCH_PATH}/PROXIMA-ACCION.md" 2>/dev/null)
local now=$(date +%s)
local diff=$((now - last_modified))
local hours=$((diff / 3600))
if [ $hours -lt 24 ]; then
echo -e "${GREEN}[OK]${NC} PROXIMA-ACCION.md actualizado recientemente"
((PASSED++))
else
echo -e "${YELLOW}[WARN]${NC} PROXIMA-ACCION.md no actualizado en $hours horas"
fi
else
echo -e "${RED}[FAIL]${NC} PROXIMA-ACCION.md no existe"
((FAILED++))
fi
# Verificar inventarios actualizados
echo -e "${YELLOW}[INFO]${NC} Verificar manualmente: Inventarios actualizados con cambios"
}
check_documentacion
# -----------------------------------------------------------------------------
# RESUMEN
# -----------------------------------------------------------------------------
echo ""
echo "=============================================="
echo " RESUMEN GATE CAPVED"
echo "=============================================="
echo ""
TOTAL=$((PASSED + FAILED))
echo "Checks pasados: $PASSED / $TOTAL"
echo "Checks fallidos: $FAILED"
echo ""
if [ $FAILED -eq 0 ]; then
echo -e "${GREEN}=============================================="
echo " GATE CAPVED: APROBADO"
echo "==============================================${NC}"
echo ""
echo "La tarea $TASK_ID puede considerarse COMPLETADA."
exit 0
else
echo -e "${RED}=============================================="
echo " GATE CAPVED: NO APROBADO"
echo "==============================================${NC}"
echo ""
echo "Corrige los items fallidos antes de cerrar la tarea."
exit 1
fi

View File

@ -0,0 +1,235 @@
#!/bin/bash
# =============================================================================
# SCRIPT: validate-inventory-coherence.sh
# PROPOSITO: Verificar coherencia entre inventarios y archivos reales
# SISTEMA: SIMCO + CAPVED
# VERSION: 1.0.0
# =============================================================================
set -e
WORKSPACE_ROOT="${HOME}/workspace"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
PROJECT="${1:-}"
echo "=============================================="
echo " VALIDACION DE COHERENCIA DE INVENTARIOS"
echo "=============================================="
echo ""
if [ -z "$PROJECT" ]; then
echo "Uso: $0 <nombre_proyecto>"
echo "Ejemplo: $0 gamilit"
echo ""
echo "Proyectos disponibles:"
ls -1 "${WORKSPACE_ROOT}/projects/"
exit 1
fi
PROJECT_PATH="${WORKSPACE_ROOT}/projects/${PROJECT}"
if [ ! -d "$PROJECT_PATH" ]; then
echo -e "${RED}ERROR: Proyecto no existe: $PROJECT_PATH${NC}"
exit 1
fi
ERRORS=0
WARNINGS=0
# -----------------------------------------------------------------------------
# Funcion: Validar DATABASE_INVENTORY vs DDL real
# -----------------------------------------------------------------------------
validate_database_inventory() {
local inv_file="${PROJECT_PATH}/orchestration/inventarios/DATABASE_INVENTORY.yml"
local ddl_path="${PROJECT_PATH}/apps/database/ddl"
echo ""
echo -e "${BLUE}=== Validando DATABASE_INVENTORY ===${NC}"
if [ ! -f "$inv_file" ]; then
echo -e "${YELLOW}[SKIP]${NC} DATABASE_INVENTORY.yml no existe"
return
fi
if [ ! -d "$ddl_path" ]; then
echo -e "${YELLOW}[SKIP]${NC} Directorio DDL no existe: $ddl_path"
return
fi
# Contar schemas en inventario (simplificado)
local inv_schemas=$(grep -c "^\s*[a-z_]*:$" "$inv_file" 2>/dev/null || echo "0")
# Contar schemas reales
local real_schemas=$(find "$ddl_path/schemas" -maxdepth 1 -type d 2>/dev/null | wc -l)
real_schemas=$((real_schemas - 1)) # Restar el directorio padre
echo "Schemas en inventario: ~$inv_schemas"
echo "Schemas en DDL: $real_schemas"
# Contar archivos SQL
local sql_files=$(find "$ddl_path" -name "*.sql" -type f 2>/dev/null | wc -l)
echo "Archivos SQL totales: $sql_files"
echo -e "${GREEN}[OK]${NC} DATABASE_INVENTORY validado"
}
# -----------------------------------------------------------------------------
# Funcion: Validar BACKEND_INVENTORY vs codigo real
# -----------------------------------------------------------------------------
validate_backend_inventory() {
local inv_file="${PROJECT_PATH}/orchestration/inventarios/BACKEND_INVENTORY.yml"
local backend_path="${PROJECT_PATH}/apps/backend/src"
echo ""
echo -e "${BLUE}=== Validando BACKEND_INVENTORY ===${NC}"
if [ ! -f "$inv_file" ]; then
echo -e "${YELLOW}[SKIP]${NC} BACKEND_INVENTORY.yml no existe"
return
fi
if [ ! -d "$backend_path" ]; then
echo -e "${YELLOW}[SKIP]${NC} Directorio backend no existe: $backend_path"
return
fi
# Contar entities reales
local real_entities=$(find "$backend_path" -name "*.entity.ts" -type f 2>/dev/null | wc -l)
echo "Entities encontradas: $real_entities"
# Contar services reales
local real_services=$(find "$backend_path" -name "*.service.ts" -type f 2>/dev/null | wc -l)
echo "Services encontrados: $real_services"
# Contar controllers reales
local real_controllers=$(find "$backend_path" -name "*.controller.ts" -type f 2>/dev/null | wc -l)
echo "Controllers encontrados: $real_controllers"
# Contar DTOs reales
local real_dtos=$(find "$backend_path" -name "*.dto.ts" -type f 2>/dev/null | wc -l)
echo "DTOs encontrados: $real_dtos"
echo -e "${GREEN}[OK]${NC} BACKEND_INVENTORY validado"
}
# -----------------------------------------------------------------------------
# Funcion: Validar FRONTEND_INVENTORY vs codigo real
# -----------------------------------------------------------------------------
validate_frontend_inventory() {
local inv_file="${PROJECT_PATH}/orchestration/inventarios/FRONTEND_INVENTORY.yml"
local frontend_path="${PROJECT_PATH}/apps/frontend/src"
echo ""
echo -e "${BLUE}=== Validando FRONTEND_INVENTORY ===${NC}"
if [ ! -f "$inv_file" ]; then
echo -e "${YELLOW}[SKIP]${NC} FRONTEND_INVENTORY.yml no existe"
return
fi
if [ ! -d "$frontend_path" ]; then
echo -e "${YELLOW}[SKIP]${NC} Directorio frontend no existe: $frontend_path"
return
fi
# Contar componentes reales (.tsx)
local real_components=$(find "$frontend_path" -name "*.tsx" -type f 2>/dev/null | wc -l)
echo "Archivos TSX encontrados: $real_components"
# Contar hooks reales
local real_hooks=$(find "$frontend_path" -name "use*.ts" -o -name "use*.tsx" -type f 2>/dev/null | wc -l)
echo "Hooks encontrados: $real_hooks"
# Contar stores
local real_stores=$(find "$frontend_path" -name "*store*.ts" -o -name "*Store*.ts" -type f 2>/dev/null | wc -l)
echo "Stores encontrados: $real_stores"
echo -e "${GREEN}[OK]${NC} FRONTEND_INVENTORY validado"
}
# -----------------------------------------------------------------------------
# Funcion: Verificar MASTER_INVENTORY consolidado
# -----------------------------------------------------------------------------
validate_master_inventory() {
local inv_file="${PROJECT_PATH}/orchestration/inventarios/MASTER_INVENTORY.yml"
echo ""
echo -e "${BLUE}=== Validando MASTER_INVENTORY ===${NC}"
if [ ! -f "$inv_file" ]; then
echo -e "${RED}[FAIL]${NC} MASTER_INVENTORY.yml no existe"
((ERRORS++))
return
fi
# Verificar que tiene secciones principales
local has_database=$(grep -c "database:" "$inv_file" 2>/dev/null || echo "0")
local has_backend=$(grep -c "backend:" "$inv_file" 2>/dev/null || echo "0")
local has_frontend=$(grep -c "frontend:" "$inv_file" 2>/dev/null || echo "0")
if [ "$has_database" -gt 0 ]; then
echo -e "${GREEN}[OK]${NC} Seccion database presente"
else
echo -e "${YELLOW}[WARN]${NC} Seccion database no encontrada"
((WARNINGS++))
fi
if [ "$has_backend" -gt 0 ]; then
echo -e "${GREEN}[OK]${NC} Seccion backend presente"
else
echo -e "${YELLOW}[WARN]${NC} Seccion backend no encontrada"
((WARNINGS++))
fi
if [ "$has_frontend" -gt 0 ]; then
echo -e "${GREEN}[OK]${NC} Seccion frontend presente"
else
echo -e "${YELLOW}[WARN]${NC} Seccion frontend no encontrada"
((WARNINGS++))
fi
# Verificar fecha de actualizacion
local last_update=$(grep -oE "fecha_actualizacion:\s*['\"]?[0-9-]+['\"]?" "$inv_file" 2>/dev/null | head -1 || echo "")
if [ -n "$last_update" ]; then
echo "Ultima actualizacion registrada: $last_update"
fi
}
# -----------------------------------------------------------------------------
# MAIN
# -----------------------------------------------------------------------------
echo "Proyecto: $PROJECT"
echo "Path: $PROJECT_PATH"
validate_database_inventory
validate_backend_inventory
validate_frontend_inventory
validate_master_inventory
# -----------------------------------------------------------------------------
# RESUMEN
# -----------------------------------------------------------------------------
echo ""
echo "=============================================="
echo " RESUMEN"
echo "=============================================="
if [ $ERRORS -eq 0 ] && [ $WARNINGS -eq 0 ]; then
echo -e "${GREEN}RESULTADO: INVENTARIOS COHERENTES${NC}"
exit 0
elif [ $ERRORS -eq 0 ]; then
echo -e "${YELLOW}RESULTADO: COHERENTE CON ADVERTENCIAS${NC}"
echo "Advertencias: $WARNINGS"
exit 0
else
echo -e "${RED}RESULTADO: INCOHERENCIAS DETECTADAS${NC}"
echo "Errores: $ERRORS"
echo "Advertencias: $WARNINGS"
exit 1
fi

View File

@ -0,0 +1,204 @@
#!/bin/bash
# =============================================================================
# SCRIPT: validate-propagation.sh
# PROPOSITO: Validar que la propagacion de documentacion esta completa
# SISTEMA: SIMCO + CAPVED
# VERSION: 1.0.0
# =============================================================================
set -e
WORKSPACE_ROOT="${HOME}/workspace"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo "=============================================="
echo " VALIDACION DE PROPAGACION SIMCO"
echo "=============================================="
echo ""
ERRORS=0
WARNINGS=0
# -----------------------------------------------------------------------------
# Funcion: Verificar que archivo existe
# -----------------------------------------------------------------------------
check_file_exists() {
local file="$1"
local description="$2"
if [ -f "$file" ]; then
echo -e "${GREEN}[OK]${NC} $description"
return 0
else
echo -e "${RED}[FAIL]${NC} $description - Archivo no existe: $file"
((ERRORS++))
return 1
fi
}
# -----------------------------------------------------------------------------
# Funcion: Verificar que directorio existe
# -----------------------------------------------------------------------------
check_dir_exists() {
local dir="$1"
local description="$2"
if [ -d "$dir" ]; then
echo -e "${GREEN}[OK]${NC} $description"
return 0
else
echo -e "${RED}[FAIL]${NC} $description - Directorio no existe: $dir"
((ERRORS++))
return 1
fi
}
# -----------------------------------------------------------------------------
# Funcion: Verificar WORKSPACE-STATUS.md actualizado
# -----------------------------------------------------------------------------
check_workspace_status() {
local status_file="${WORKSPACE_ROOT}/orchestration/WORKSPACE-STATUS.md"
echo ""
echo "--- Verificando WORKSPACE-STATUS.md ---"
if [ -f "$status_file" ]; then
# Verificar que fue actualizado en los ultimos 7 dias
local last_modified=$(stat -c %Y "$status_file" 2>/dev/null || stat -f %m "$status_file" 2>/dev/null)
local now=$(date +%s)
local diff=$((now - last_modified))
local days=$((diff / 86400))
if [ $days -gt 7 ]; then
echo -e "${YELLOW}[WARN]${NC} WORKSPACE-STATUS.md no actualizado en $days dias"
((WARNINGS++))
else
echo -e "${GREEN}[OK]${NC} WORKSPACE-STATUS.md actualizado (hace $days dias)"
fi
else
echo -e "${RED}[FAIL]${NC} WORKSPACE-STATUS.md no existe"
((ERRORS++))
fi
}
# -----------------------------------------------------------------------------
# Funcion: Verificar proyecto individual
# -----------------------------------------------------------------------------
check_project() {
local project_path="$1"
local project_name=$(basename "$project_path")
echo ""
echo "--- Verificando proyecto: $project_name ---"
local orch_path="${project_path}/orchestration"
# Verificar estructura basica
check_dir_exists "${orch_path}" "orchestration/"
check_dir_exists "${orch_path}/00-guidelines" "00-guidelines/"
check_dir_exists "${orch_path}/inventarios" "inventarios/"
check_dir_exists "${orch_path}/estados" "estados/"
check_dir_exists "${orch_path}/trazas" "trazas/"
# Verificar archivos obligatorios
check_file_exists "${orch_path}/00-guidelines/CONTEXTO-PROYECTO.md" "CONTEXTO-PROYECTO.md"
check_file_exists "${orch_path}/00-guidelines/HERENCIA-SIMCO.md" "HERENCIA-SIMCO.md"
check_file_exists "${orch_path}/PROXIMA-ACCION.md" "PROXIMA-ACCION.md"
# Verificar inventarios
check_file_exists "${orch_path}/inventarios/MASTER_INVENTORY.yml" "MASTER_INVENTORY.yml"
# Verificar registro de subagentes
check_file_exists "${orch_path}/estados/REGISTRO-SUBAGENTES.json" "REGISTRO-SUBAGENTES.json"
}
# -----------------------------------------------------------------------------
# Funcion: Verificar referencias en inventarios no estan rotas
# -----------------------------------------------------------------------------
check_inventory_references() {
local inventory_file="$1"
local base_path="$2"
echo ""
echo "--- Verificando referencias en: $(basename $inventory_file) ---"
if [ ! -f "$inventory_file" ]; then
echo -e "${YELLOW}[SKIP]${NC} Archivo no existe"
return
fi
# Extraer rutas de archivos del inventario (simplificado)
local refs=$(grep -oE 'file:\s*"?[^"]+\.(ts|sql|tsx|md)"?' "$inventory_file" 2>/dev/null | sed 's/file:\s*"//g' | sed 's/"//g' || true)
local broken=0
for ref in $refs; do
# Convertir ruta relativa a absoluta si es necesario
if [[ ! "$ref" = /* ]]; then
ref="${base_path}/${ref}"
fi
if [ ! -f "$ref" ]; then
echo -e "${RED}[BROKEN]${NC} Referencia rota: $ref"
((broken++))
fi
done
if [ $broken -eq 0 ]; then
echo -e "${GREEN}[OK]${NC} Todas las referencias validas"
else
((ERRORS += broken))
fi
}
# -----------------------------------------------------------------------------
# MAIN
# -----------------------------------------------------------------------------
# Verificar core
echo ""
echo "========== CORE =========="
check_dir_exists "${WORKSPACE_ROOT}/core/orchestration" "core/orchestration"
check_file_exists "${WORKSPACE_ROOT}/core/orchestration/directivas/simco/_INDEX.md" "SIMCO Index"
# Verificar cada proyecto
echo ""
echo "========== PROYECTOS =========="
for project_dir in ${WORKSPACE_ROOT}/projects/*/; do
if [ -d "$project_dir" ]; then
check_project "$project_dir"
fi
done
# Verificar WORKSPACE-STATUS
check_workspace_status
# -----------------------------------------------------------------------------
# RESUMEN
# -----------------------------------------------------------------------------
echo ""
echo "=============================================="
echo " RESUMEN DE VALIDACION"
echo "=============================================="
echo ""
if [ $ERRORS -eq 0 ] && [ $WARNINGS -eq 0 ]; then
echo -e "${GREEN}RESULTADO: PROPAGACION COMPLETA${NC}"
echo "Todos los archivos y referencias estan correctos."
exit 0
elif [ $ERRORS -eq 0 ]; then
echo -e "${YELLOW}RESULTADO: PROPAGACION CON ADVERTENCIAS${NC}"
echo "Advertencias: $WARNINGS"
echo "Errores: 0"
exit 0
else
echo -e "${RED}RESULTADO: PROPAGACION INCOMPLETA${NC}"
echo "Errores: $ERRORS"
echo "Advertencias: $WARNINGS"
echo ""
echo "Corrige los errores antes de continuar."
exit 1
fi

View File

@ -0,0 +1,29 @@
{
"proyecto": "platform_marketing_content",
"version": "1.0.0",
"ultima_actualizacion": "2025-12-12T00:00:00Z",
"estado_general": "EN_DESARROLLO",
"capas": {
"database": {
"estado": "PENDIENTE",
"progreso": 0,
"ultimo_cambio": null
},
"backend": {
"estado": "PENDIENTE",
"progreso": 0,
"ultimo_cambio": null
},
"frontend": {
"estado": "PENDIENTE",
"progreso": 0,
"ultimo_cambio": null
}
},
"metricas": {
"tareas_completadas": 0,
"tareas_en_progreso": 0,
"tareas_pendientes": 0,
"bugs_abiertos": 0
}
}

View File

@ -0,0 +1,81 @@
{
"version": "2.0",
"proyecto": "platform_marketing_content",
"fecha_creacion": "2025-12-12",
"ultima_actualizacion": "2025-12-12T00:00:00Z",
"limite_maximo": 15,
"slots_disponibles": 15,
"subagentes": {
"NEXUS-DATABASE": {
"nombre": "NEXUS-DATABASE",
"tipo": "especializado",
"estado": "disponible",
"responsabilidades": [
"Gestion de esquemas SQL (PostgreSQL 15+)",
"DDL: tablas, indices, constraints, triggers",
"Seeds para desarrollo y produccion",
"Row Level Security (RLS) policies",
"Optimizacion de queries",
"Validacion de integridad referencial"
],
"areas": [
"database/ddl/",
"database/seeds/",
"database/scripts/"
],
"prompt": "core/orchestration/agents/perfiles/PERFIL-DATABASE.md",
"ultima_interaccion": null,
"validaciones_pendientes": [],
"salud": {
"status": "ready",
"ultimo_chequeo": "2025-12-12T00:00:00Z"
}
},
"NEXUS-BACKEND": {
"nombre": "NEXUS-BACKEND",
"tipo": "especializado",
"estado": "disponible",
"responsabilidades": [
"API REST endpoints (NestJS/Express)",
"Services y DTOs",
"Autenticacion y autorizacion",
"Logica de negocio",
"Entities y repositorios",
"Testing backend"
],
"areas": [
"apps/backend/src/",
"apps/backend/test/"
],
"prompt": "core/orchestration/agents/perfiles/PERFIL-BACKEND.md",
"ultima_interaccion": null,
"validaciones_pendientes": [],
"salud": {
"status": "ready",
"ultimo_chequeo": "2025-12-12T00:00:00Z"
}
},
"NEXUS-FRONTEND": {
"nombre": "NEXUS-FRONTEND",
"tipo": "especializado",
"estado": "disponible",
"responsabilidades": [
"Componentes React",
"Paginas y layouts",
"Hooks y stores",
"Integracion con APIs",
"Testing frontend"
],
"areas": [
"apps/frontend/src/"
],
"prompt": "core/orchestration/agents/perfiles/PERFIL-FRONTEND.md",
"ultima_interaccion": null,
"validaciones_pendientes": [],
"salud": {
"status": "ready",
"ultimo_chequeo": "2025-12-12T00:00:00Z"
}
}
}
}