# π Diagram Renderer - VisualizaciΓ³n del Pipeline
## MisiΓ³n
Renderizar un diagrama visual del pipeline CI/CD actual del proyecto,
basΓ‘ndose en los datos recopilados por el Analyzer (mΓ³dulo 03).
---
## Formato del Diagrama
Generar un diagrama ASCII/Unicode que muestre el flujo completo del CI/CD.
### Diagrama de Triggers y Workflows
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Diagrama CI/CD del Proyecto
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π TRIGGERS
βββ push β [branches]
βββ pull_request β [branches]
βββ schedule β [cron]
βββ workflow_dispatch (manual)
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π WORKFLOW: [nombre-workflow.yml] β
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Job: lint βββββΆβ Job: test βββββΆβ Job: build ββ
β β [runner] β β [runner] β β [runner] ββ
β β β β β β ββ
β β β checkout β β β checkout β β β checkout ββ
β β β setup-nodeβ β β setup-nodeβ β β setup-nodeββ
β β β npm ci β β β npm ci β β β npm ci ββ
β β β npm lint β β β npm test β β β npm build ββ
β β β‘ cache: β
β β β‘ cache: β
β β β‘ cache: β
ββ
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββ β
β β Job: deploy β β
β β [runner] β β
β β β deploy β β
β β π env: prod β β
β βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
---
## Reglas de Renderizado
### 1. Dependencias entre Jobs
- Si un job tiene `needs: [otro_job]`, mostrar flecha de dependencia `ββββΆ`
- Si los jobs son paralelos (sin `needs`), mostrarlos en la misma fila
- Si hay cadenas de dependencia, mostrar flujo vertical `βΌ`
### 2. Indicadores Visuales
Usar estos iconores para cada caracterΓstica detectada:
| Icono | Significado |
|---|---|
| β‘ | Cache habilitado |
| π | Usa secrets o environment |
| π¦ | Genera/consume artifacts |
| π | Matrix strategy |
| β»οΈ | Reusable workflow |
| π‘οΈ | Permissions restringidos |
| π³ | Usa Docker/services |
| β° | Tiene timeout configurado |
| π | Concurrency group |
### 3. MΓΊltiples Workflows
Si hay mΓ‘s de un workflow, mostrar cada uno en su propio bloque,
con una secciΓ³n superior que muestre quΓ© trigger activa quΓ© workflow:
```
π MAPA DE TRIGGERS β WORKFLOWS
βββββββββββββββββββββββββββββββββββββββ
push (main) β ci.yml, deploy.yml
pull_request β ci.yml
schedule (cron) β nightly.yml
workflow_dispatch β deploy.yml
release (published) β release.yml
```
### 4. Proyecto sin CI/CD
Si no se encontrΓ³ ningΓΊn workflow, mostrar:
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Diagrama CI/CD del Proyecto
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β οΈ No se detectaron workflows de GitHub Actions
El proyecto no tiene pipelines de CI/CD configurados.
π .github/workflows/ β No existe o estΓ‘ vacΓo
π‘ RecomendaciΓ³n: Usa la opciΓ³n "Crear CI/CD desde cero"
para generar workflows adaptados a tu proyecto.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
---
## DespuΓ©s del Diagrama
Una vez mostrado el diagrama, el flujo continΓΊa con:
- **04-improvement-engine.md** β Sugerir mejoras basadas en documentaciΓ³n oficial
---
*MΓ³dulo 03 β Diagram Renderer*