Skip to content

Commit effff82

Browse files
committed
chore: update release flow to include release-please
1 parent 2ad2c2b commit effff82

File tree

3 files changed

+130
-0
lines changed

3 files changed

+130
-0
lines changed

.github/copilot-instructions.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Instrucciones para Gestión de Releases (Carpeta `release/`)
2+
3+
Cuando se detecte una rama `release/v{VERSION}` creada automáticamente por `release-please` (al detectar commits en `master`), Copilot debe intervenir para finalizar el release:
4+
5+
1. **Detección de Contexto:**
6+
- Confirmar que se encuentra en una rama `release/v{VERSION}`.
7+
- Usar el archivo `release/.releaserc.yml` para configuraciones específicas.
8+
- Referencia de versión: `package.json` (campo `version`).
9+
10+
2. **Generación de Changelog en Español:**
11+
- Analizar los commits del PR/rama actual.
12+
- Generar/Actualizar `release/CHANGELOG.md` con secciones en español (ej. "Características", "Correcciones").
13+
- El formato debe seguir lo definido en `.releaserc.yml`.
14+
15+
3. **Cierre de Release:**
16+
- Actualizar la versión en `package.json`.
17+
- Realizar un commit con el mensaje: `chore: release v{version} [spanish changelog]`.
18+
- Ejecutar el **Release & Communication Agent** para generar la síntesis para stakeholders (evidencia, riesgos, etc.).
19+
- Dejar el PR listo para revisión y merge manual a `master`. (El tag final lo creará `release-please` al mergear).

release/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Gestión de Releases - ePayco-tl
2+
3+
Esta carpeta contiene el setup automatizado para gestión de releases usando agentes y skills de GitHub Copilot, inspirado en "release-skills" de baoyu-skills.
4+
5+
## Archivos
6+
7+
- `.releaserc.yml`: Configuración del skill (versión, changelog, secciones, etc.).
8+
- `CHANGELOG.md`: Registro de cambios en español.
9+
10+
## Cómo Usar
11+
12+
### Cuando se detecta una rama de release
13+
14+
Una vez que `release-please` crea automáticamente una rama `release/v{VERSION}` al detectar commits en `master`, abre esa rama y ejecuta en Copilot:
15+
16+
```
17+
"Completa el release"
18+
```
19+
20+
Copilot seguirá el workflow para finalizar el PR:
21+
22+
1. ✅ Detectar la versión desde la rama/PR creada por release-please
23+
2. ✅ Generar changelog detallado en español en `release/CHANGELOG.md`
24+
3. ✅ Actualizar versión en `package.json`
25+
4. ✅ Ejecutar el Release & Communication Agent para síntesis de stakeholders
26+
5. ✅ Notificar que el PR está listo para mergear a `master`
27+
28+
## Workflow Automatizado
29+
30+
La rama de trabajo actual: `feat/release-skills-setup`
31+
32+
La rama base es: `master`
33+
34+
- **Disparador:** Commit en `master`.
35+
- **Acción 1 (Auto):** `release-please` crea rama `release/v{VERSION}` y PR.
36+
- **Acción 2 (Copilot):**
37+
- Genera changelog actualizado en `CHANGELOG.md` (Español).
38+
- Actualiza `package.json` con la nueva versión.
39+
- Genera síntesis para stakeholders (Release & Communication Agent).
40+
- **Acción 3 (Manual):** Revisión y Merge del PR a `master`.
41+
- **Acción 4 (Auto):** `release-please` crea el Tag final en GitHub.
42+
43+
## Configuración
44+
45+
- **Versión actual:** `1.0.0` (en `package.json`)
46+
- **Rama de trabajo:** `feat/release-skills-setup`
47+
- **Rama destino:** `master`
48+
- **Idioma del changelog:** Español
49+
50+
Para más detalles, consulta `.github/copilot-instructions.md`, `skill.md` y la [Investigación de Agentes de Release](file:///home/danielaescobar/Documentos/GitHub/simple-test-project-/docs/research/epayco-release-agentes.md).

release/skill.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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

Comments
 (0)