Yamly es una aplicación web construida con Streamlit que actúa como hub de referencia para GitHub Actions. Ofrece tres secciones principales:
- 🏠 Inicio — visión general de las categorías y acceso rápido a las plantillas
- 📦 Plantillas — 12 workflows listos para copiar, filtrar por categoría y descargar
- 📚 Aprende — guía educativa con conceptos clave, eventos, secretos y buenas prácticas
| # | Nombre | Categoría | Nivel |
|---|---|---|---|
| 1 | Python CI | CI/CD | 🟢 Principiante |
| 2 | Node.js CI | CI/CD | 🟢 Principiante |
| 3 | Docker Build & Push | CI/CD | 🟡 Intermedio |
| 4 | Deploy to GitHub Pages | Despliegue | 🟢 Principiante |
| 5 | Auto Release | Automatización | 🟡 Intermedio |
| 6 | CodeQL Security Scan | Seguridad | 🟡 Intermedio |
| 7 | Dependabot Auto-merge | Automatización | 🟡 Intermedio |
| 8 | PR Auto-labeler | Automatización | 🟢 Principiante |
| 9 | Stale Issues & PRs | Automatización | 🟢 Principiante |
| 10 | Multi-environment Deploy | Despliegue | 🔴 Avanzado |
| 11 | Super Linter | Calidad de Código | 🟢 Principiante |
| 12 | SonarCloud Analysis | Calidad de Código | 🟡 Intermedio |
# Instalar dependencias
uv sync
# Ejecutar la app
uv run streamlit run main.py# Construir y levantar
docker compose up --build
# Solo levantar (si la imagen ya existe)
docker compose upLa app queda disponible en http://localhost:8501.
yamly/
├── main.py # Entrypoint de Streamlit
├── pyproject.toml # Dependencias y configuración
├── Dockerfile # Build multi-stage con uv
├── docker-compose.yml
├── .github/
│ └── workflows/
│ └── lint.yml # Ruff en cada push/PR
└── app/
├── config.py # Constantes globales
├── components/ # Estilos, sidebar, cards, viewer
├── pages/ # home, explorer, learn
└── templates/ # Modelos y catálogo de plantillas
Cada push y pull request ejecuta Ruff automáticamente mediante la action oficial astral-sh/ruff-action. La configuración se lee directamente desde pyproject.toml.
