|
| 1 | +# Skill de Releases Automatizados |
| 2 | + |
| 3 | +Este documento describe la "skill" que reside en la carpeta `release/` y que permite a GitHub Copilot gestionar releases de forma automatizada. |
| 4 | + |
| 5 | +### ¿Qué hace? |
| 6 | + |
| 7 | +- Detecta configuración del proyecto mediante `.releaserc.yml`. |
| 8 | +- Se activa cuando `release-please` crea una rama `release/v{VERSION}`. |
| 9 | +- Inspecciona commits desde el último tag siguiendo conventional commits. |
| 10 | +- Genera o actualiza el `CHANGELOG.md` en español con secciones estándares. |
| 11 | +- Actualiza la versión en `package.json`. |
| 12 | +- Invoca al Release & Communication Agent para producir notas de versión y gestionar comunicación para stakeholders. |
| 13 | +- Deja el PR listo para revisión y merge manual a `master`. |
| 14 | + |
| 15 | +### Estructura de la carpeta |
| 16 | + |
| 17 | +- `.releaserc.yml` – configuración del comportamiento. |
| 18 | +- `CHANGELOG.md` – registro de cambios. |
| 19 | +- `README.md` – guía de uso de la skill. |
| 20 | +- `skill.md` – descripción funcional (este archivo). |
| 21 | + |
| 22 | +### Uso |
| 23 | + |
| 24 | +El usuario simplemente formula una petición a Copilot del tipo: |
| 25 | + |
| 26 | +> "Crea un release" o "Genera un release automático". |
| 27 | +
|
| 28 | +Copilot toma el control mediante los agentes definidos y ejecuta el flujo anterior, respetando la configuración en `release/.releaserc.yml`. |
| 29 | + |
| 30 | +--- |
| 31 | + |
| 32 | +### Flujo de Ramas y Pull Requests |
| 33 | + |
| 34 | +Para cada release se sigue este flujo: |
| 35 | + |
| 36 | +1. **Creación Automática:** `release-please` detecta commits en `master` y crea la rama `release/v{VERSION}` (ej: `release/v1.2.0`) y su respectivo PR. |
| 37 | +2. **Intervención de Copilot:** Una vez en la rama, Copilot: |
| 38 | + - Actualiza `package.json` (campo `version`). |
| 39 | + - Genera `release/CHANGELOG.md` en español. |
| 40 | + - Ejecuta el Release & Communication Agent para síntesis de stakeholders. |
| 41 | +3. **Commit de Copilot:** Mensaje: `chore: release v{version} [spanish changelog]`. |
| 42 | +4. **Revisión:** El desarrollador revisa el PR que ya contiene el changelog y la síntesis. |
| 43 | +5. **Merge a master:** Al mergear el PR, `release-please` crea el tag de Git automáticamente. |
| 44 | + |
| 45 | +**Ejemplo de comando Copilot:** |
| 46 | + |
| 47 | +``` |
| 48 | +"Crea un release" |
| 49 | +``` |
| 50 | + |
| 51 | +El sistema automáticamente: |
| 52 | + |
| 53 | +- ✅ Detecta rama `release/v1.2.0` creada por release-please |
| 54 | +- ✅ Traduce y genera changelog a español |
| 55 | +- ✅ Actualiza versión en package.json |
| 56 | +- ✅ Prepara síntesis de comunicación |
| 57 | +- ✅ Actualiza el PR existente |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +La intención es que todo lo relacionado con releases quede concentrado en esta carpeta, sin necesidad de instalaciones externas. |
0 commit comments