You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Instrucciones para Gestión de Releases (Carpeta `release/`)
2
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:
3
+
Estas instrucciones guían a Copilot sobre cómo intervenir en el flujo de releases cuando se usa `release-please` y la skill de la carpeta `release/`.
4
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`).
5
+
## 1. Detección de contexto
9
6
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`.
7
+
- Identificar si el usuario está en:
8
+
- La rama principal (`master`/`main`) → **Modo A: crear release nuevo**.
9
+
- Una rama de release creada por `release-please` (por ejemplo `release-please--branches--master--components--simple-test-project` u otra similar) → **Modo B: completar release existente**.
10
+
- Usar el archivo `release/.releaserc.yml` para configuraciones específicas.
11
+
- Referencia de versión: `package.json` (campo `version`) y/o manifestos de `release-please`.
14
12
15
-
3.**Cierre de Release:**
16
-
- Actualizar la versión en `package.json`.
13
+
## 2. Modo A – Crear un release nuevo (desde `master`/`main`)
14
+
15
+
Cuando el usuario pida algo como **"Crea un release nuevo desde master usando release-please"** y esté en `master`/`main`:
16
+
17
+
1. Verificar que se trata de la rama principal.
18
+
2. Validar que los commits recientes siguen Conventional Commits.
19
+
3. Ayudar a disparar el workflow de `release-please` (no crear ramas/PRs manualmente si no es necesario).
20
+
4. Una vez que `release-please` genere el PR de release:
21
+
- Sugerir al usuario cambiarse a la rama de release y continuar en **Modo B**.
22
+
23
+
## 3. Modo B – Completar un PR de release-please ya creado (recomendado)
24
+
25
+
Cuando el usuario esté en una rama de release creada por `release-please` y pida algo como
26
+
**"Completa este release en esta rama de release-please: genera o actualiza el CHANGELOG en español, actualiza la versión en package.json y deja todo listo para commit en esta misma rama, sin crear un nuevo PR ni tocar master."**:
27
+
28
+
1.**Detección de contexto:**
29
+
- Confirmar que se está en una rama de release (nombre generado por `release-please`).
30
+
- No cambiar de rama a `master`/`main` ni crear nuevas ramas de release.
31
+
32
+
2.**Generación de changelog en español:**
33
+
- Analizar los commits del PR/rama actual (desde el último tag).
34
+
- Generar o actualizar `release/CHANGELOG.md` con secciones en español (ej. "Características", "Correcciones", "Documentación").
35
+
- Seguir el formato definido en `.releaserc.yml`.
36
+
37
+
3.**Cierre de release en la rama actual:**
38
+
- Actualizar la versión en `package.json` (campo `version`) según la versión del release actual.
17
39
- Realizar un commit con el mensaje: `chore: release v{version} [spanish changelog]`.
18
40
- 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).
41
+
- Dejar el PR listo para revisión y merge manual a `master`.
42
+
- No crear un nuevo PR ni una nueva versión de release.
43
+
44
+
> Nota: si ya existe un PR de release abierto, Copilot **no debe** intentar generar otro PR de release ni forzar un nuevo cálculo de versión; solo debe completar el contenido del PR actual.
Copy file name to clipboardExpand all lines: release/skill.md
+28-8Lines changed: 28 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,12 +5,12 @@ Este documento describe la "skill" que reside en la carpeta `release/` y que per
5
5
### ¿Qué hace?
6
6
7
7
- Detecta configuración del proyecto mediante `.releaserc.yml`.
8
-
- Se activa cuando `release-please` crea una rama `release/v{VERSION}`.
8
+
- Se activa cuando `release-please` crea una rama de release (por ejemplo `release-please--branches--master--components--simple-test-project` u otro nombre generado por la acción).
9
9
- Inspecciona commits desde el último tag siguiendo conventional commits.
10
10
- Genera o actualiza el `CHANGELOG.md` en español con secciones estándares.
11
11
- Actualiza la versión en `package.json`.
12
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`.
13
+
- Deja el PR listo para revisión y merge manual a `master`, sin crear PRs adicionales.
14
14
15
15
### Estructura de la carpeta
16
16
@@ -21,9 +21,28 @@ Este documento describe la "skill" que reside en la carpeta `release/` y que per
21
21
22
22
### Uso
23
23
24
-
El usuario simplemente formula una petición a Copilot del tipo:
24
+
La skill tiene dos modos de uso, según la rama en la que estés:
25
25
26
-
> "Crea un release" o "Genera un release automático".
26
+
1.**Modo A – Crear un release nuevo (desde `master`/`main`)**
27
+
28
+
Úsalo solo cuando estés en la rama principal (`master` o `main`) y quieras que `release-please` calcule una nueva versión y genere un PR de release:
29
+
30
+
> "Crea un release nuevo desde master usando la configuración de release-please."
31
+
32
+
En este modo, el agente valida convenciones y ayuda a disparar el workflow de `release-please`, que creará la rama y el PR de release correspondientes.
33
+
34
+
2.**Modo B – Completar un PR de release-please ya creado (recomendado)**
35
+
36
+
Úsalo cuando ya exista un PR de release generado por `release-please` y estés situado en la **rama de ese PR** (por ejemplo `release-please--branches--master--components--simple-test-project`):
37
+
38
+
> "Completa este release en esta rama de release-please: genera o actualiza el CHANGELOG en español, actualiza la versión en package.json y deja todo listo para commit en esta misma rama, sin crear un nuevo PR ni tocar master."
39
+
40
+
En este modo, el agente:
41
+
- Trabaja únicamente sobre la rama de release ya creada por `release-please`.
42
+
- No recalcula la versión ni crea un nuevo PR.
43
+
- Genera/actualiza `CHANGELOG.md`, actualiza `package.json` y ejecuta el Release & Communication Agent para dejar el PR listo para revisión.
44
+
45
+
> Importante: para evitar crear otra versión y otro PR cuando ya existe uno abierto, no uses el prompt genérico "Crea un release" estando en la rama de release. En ese caso, usa siempre el modo B ("Completa este release en esta rama…").
27
46
28
47
Copilot toma el control mediante los agentes definidos y ejecuta el flujo anterior, respetando la configuración en `release/.releaserc.yml`.
29
48
@@ -33,7 +52,7 @@ Copilot toma el control mediante los agentes definidos y ejecuta el flujo anteri
33
52
34
53
Para cada release se sigue este flujo:
35
54
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.
55
+
1.**Creación Automática:**`release-please` detecta commits en `master` y crea una rama de release y su respectivo PR (el nombre puede ser `release/v{VERSION}`o el formato por defecto de release-please, como `release-please--branches--master--components--simple-test-project`).
37
56
2.**Intervención de Copilot:** Una vez en la rama, Copilot:
38
57
- Actualiza `package.json` (campo `version`).
39
58
- Genera `release/CHANGELOG.md` en español.
@@ -42,15 +61,16 @@ Para cada release se sigue este flujo:
42
61
4.**Revisión:** El desarrollador revisa el PR que ya contiene el changelog y la síntesis.
43
62
5.**Merge a master:** Al mergear el PR, `release-please` crea el tag de Git automáticamente.
44
63
45
-
**Ejemplo de comando Copilot:**
64
+
**Ejemplos de comandos para Copilot:**
46
65
47
66
```
48
-
"Crea un release"
67
+
"Crea un release nuevo desde master usando release-please."
68
+
"Completa este release en esta rama de release-please (changelog en español y versión actualizada), sin crear un nuevo PR."
49
69
```
50
70
51
71
El sistema automáticamente:
52
72
53
-
- ✅ Detecta rama `release/v1.2.0` creada por release-please
73
+
- ✅ Detecta la rama de release creada por release-please
0 commit comments