Skip to content

Commit cdd0f9b

Browse files
committed
feat: v0.4.1 - configuracion inicial automatica y limpieza de worktrees
- Paso 0 en _composicion.md: al usar Alfred por primera vez en un proyecto, pregunta si se quiere modo interactivo o autopilot - Eliminado modulo worktree.py y sus tests (funcionalidad retirada) - Actualizada version a 0.4.1 en todos los ficheros - CHANGELOG, README y web actualizados
1 parent d9bc369 commit cdd0f9b

File tree

20 files changed

+115
-622
lines changed

20 files changed

+115
-622
lines changed

.claude-plugin/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
{
1010
"name": "alfred-dev",
1111
"description": "Plugin de ingeniería de software completa: 17 agentes (9 de núcleo + 8 opcionales), 60 skills, memoria persistente, quality gates y compliance europeo integrado.",
12-
"version": "0.4.0",
12+
"version": "0.4.1",
1313
"source": "./",
1414
"author": {
1515
"name": "686f6c61"

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "alfred-dev",
33
"description": "Plugin de ingeniería de software completa: 9 agentes de núcleo y 8 opcionales con personalidad propia, memoria persistente por proyecto, quality gates y flujos automatizados desde la idea hasta producción.",
4-
"version": "0.4.0",
4+
"version": "0.4.1",
55
"author": {
66
"name": "686f6c61"
77
},

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,5 @@ docs/plans/
2121
htmlcov/
2222
.coverage
2323

24-
# Worktrees temporales
25-
.alfred-worktrees/
26-
2724
# Informes generados
2825
docs/alfred-reports/

CHANGELOG.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,27 @@ y el proyecto usa [versionado semántico](https://semver.org/lang/es/).
77

88
---
99

10+
## [0.4.1] - 2026-03-13
11+
12+
### Added
13+
14+
- **Configuracion inicial automatica (onboarding)**: cuando Alfred se usa por primera vez en un proyecto (no hay configuracion de autonomia en `alfred-dev.local.md`), pregunta automaticamente si el usuario quiere modo interactivo o autopilot. La respuesta se guarda en el fichero de configuracion local y el flujo continua sin necesidad de reiniciar ni ejecutar comandos adicionales. Implementado en `_composicion.md` (Paso 0) para que aplique a todos los flujos (feature, fix, ship, spike, audit).
15+
16+
### Fixed
17+
18+
- **Modo autopilot desconectado de los comandos**: las instrucciones de los comandos (`feature.md`, `fix.md`, `ship.md`) no mencionaban el modo autopilot, por lo que Claude nunca lo activaba aunque el backend (`orchestrator.py`) lo soportase. Añadida seccion "Modo autopilot" a los tres comandos y "Paso 2b" a `_composicion.md` para que Claude compruebe el estado de autopilot y salte las gates de usuario cuando proceda.
19+
20+
---
21+
1022
## [0.4.0] - 2026-03-13
1123

1224
### Added
1325

1426
- **Verificacion de evidencia (evidence guard)**: nuevo hook PostToolUse que registra cada ejecucion de tests como evidencia verificable. Cuando un agente afirma que los tests pasan, el sistema puede comprobar que efectivamente se ejecutaron en los ultimos 10 minutos. Fichero de evidencia en `.claude/alfred-evidence.json` con rotacion a 50 registros.
1527
- **Informe de sesion al cierre**: al finalizar una sesion de trabajo completada, se genera automaticamente un informe en `docs/alfred-reports/` con resumen de fases completadas, evidencia de tests, equipo de sesion y artefactos generados. Integrado en el stop-hook existente.
1628
- **Loop iterativo dentro de fases**: los agentes pueden iterar dentro de una fase (hasta 5 intentos por defecto) hasta superar la gate correspondiente. Esto habilita ciclos TDD naturales, pasadas de QA repetidas y correccion iterativa sin intervencion manual. Al agotar las iteraciones, se escala al usuario.
17-
- **Aislamiento con git worktrees**: nuevo modulo `core/worktree.py` que crea worktrees aislados con ramas `alfred/<tipo>/<nombre>` para trabajo seguro. Si algo sale mal, se descarta el worktree sin afectar a la rama principal. Incluye funciones de creacion, fusion, limpieza y listado.
1829
- **Modo autopilot**: `run_flow_autopilot()` ejecuta un flujo completo sin interrupcion humana. Las gates de tipo «usuario» se aprueban automaticamente; las gates automaticas y de seguridad se evaluan normalmente. Solo se detiene si una gate automatica o de seguridad falla.
19-
- **46 tests nuevos**: cobertura completa de evidence guard (deteccion de runners, resultados, almacenamiento), informe de sesion (secciones, duracion, generacion), worktrees (creacion, merge, limpieza), loop iterativo (retry, escalado, reset) y autopilot (gates automaticas, seguridad, usuario).
30+
- **Tests nuevos**: cobertura de evidence guard (deteccion de runners, resultados, almacenamiento), informe de sesion (secciones, duracion, generacion), loop iterativo (retry, escalado, reset) y autopilot (gates automaticas, seguridad, usuario).
2031

2132
### Changed
2233

@@ -348,6 +359,8 @@ y el proyecto usa [versionado semántico](https://semver.org/lang/es/).
348359

349360
---
350361

362+
[0.4.1]: https://github.com/686f6c61/alfred-dev/compare/v0.4.0...v0.4.1
363+
[0.4.0]: https://github.com/686f6c61/alfred-dev/compare/v0.3.9...v0.4.0
351364
[0.3.9]: https://github.com/686f6c61/alfred-dev/compare/v0.3.8...v0.3.9
352365
[0.3.8]: https://github.com/686f6c61/alfred-dev/compare/v0.3.7...v0.3.8
353366
[0.3.7]: https://github.com/686f6c61/alfred-dev/compare/v0.3.6...v0.3.7

README.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
**Plugin de ingeniería de software automatizada para [Claude Code](https://docs.anthropic.com/en/docs/claude-code).**
44

5-
17 agentes especializados con personalidad propia (9 de nucleo + 8 opcionales), 60 skills en 13 dominios, memoria persistente de decisiones por proyecto, 5 flujos de trabajo con quality gates infranqueables, verificacion de evidencia automatica, modo autopilot con aislamiento en worktrees y compliance europeo (RGPD, NIS2, CRA) integrado desde el diseno.
5+
17 agentes especializados con personalidad propia (9 de nucleo + 8 opcionales), 60 skills en 13 dominios, memoria persistente de decisiones por proyecto, 5 flujos de trabajo con quality gates infranqueables, verificacion de evidencia automatica, modo autopilot y compliance europeo (RGPD, NIS2, CRA) integrado desde el diseno.
66

77
[Documentación completa](https://686f6c61.github.io/alfred-dev/) -- [Instalar](#instalación) -- [Comandos](#comandos) -- [Arquitectura](#arquitectura)
88

@@ -68,15 +68,23 @@ Una vez instalado, estos tres pasos muestran Alfred Dev en accion:
6868

6969
Alfred activara el flujo de 6 fases (producto, arquitectura, desarrollo, calidad, documentacion, entrega) y pedira confirmacion en cada quality gate antes de avanzar. Para una tarea mas rapida, prueba `/alfred fix` con una descripcion del bug o `/alfred spike` para investigar una tecnologia sin compromiso de implementacion.
7070

71-
## Novedades en v0.4.0
71+
## Novedades en v0.4.1
7272

73-
La v0.4.0 incorpora cinco capacidades nuevas orientadas a fiabilidad, autonomia controlada y trazabilidad de resultados:
73+
La v0.4.1 mejora la experiencia de primer uso y corrige la conexion entre el modo autopilot y los comandos:
74+
75+
| Novedad | Descripcion |
76+
|---------|-------------|
77+
| **Configuracion inicial automatica** | Al usar Alfred por primera vez en un proyecto, pregunta si se quiere modo interactivo o autopilot. Sin pasos manuales, sin reinicios. |
78+
| **Autopilot conectado a los comandos** | Los comandos `feature`, `fix` y `ship` ahora comprueban el estado de autopilot y saltan las gates de usuario cuando esta activo. |
79+
80+
### Novedades de v0.4.0
81+
82+
La v0.4.0 incorporo cinco capacidades orientadas a fiabilidad, autonomia controlada y trazabilidad de resultados:
7483

7584
| Novedad | Descripcion |
7685
|---------|-------------|
7786
| **Verificacion de evidencia** | El hook `evidence-guard.py` intercepta cada ejecucion de tests y registra si hubo exitos o fallos reales. Cuando un agente afirma que «los tests pasan», el orquestador verifica la evidencia registrada antes de aprobar la gate. Sin salida real de tests, no hay aprobacion. |
7887
| **Loop iterativo en fases** | Si una fase no supera su quality gate, el orquestador puede reintentar hasta 5 veces (`should_retry_phase`) antes de escalar al usuario. Cada reintento incluye el feedback del fallo anterior para que el agente corrija su enfoque. |
79-
| **Aislamiento con git worktrees** | El modulo `worktree.py` crea ramas aisladas (`alfred/<tipo>/<nombre>`) en worktrees temporales para que el trabajo de Alfred no interfiera con la rama principal. El ciclo completo (crear, trabajar, merge, limpieza) esta gestionado por el orquestador. |
8088
| **Modo autopilot** | `run_flow_autopilot()` permite ejecutar flujos completos con aprobacion automatica de las gates de usuario, manteniendo las gates de seguridad y calidad intactas. El nivel de autonomia se configura por fase en `/alfred config`. |
8189
| **Informes de sesion** | Al finalizar cada sesion, `session_report.py` genera un informe Markdown en `docs/alfred-reports/` con las fases completadas, duraciones, equipo de agentes, evidencia recopilada y artefactos producidos. |
8290

@@ -193,17 +201,16 @@ Plantillas estandarizadas que los agentes usan para generar artefactos con estru
193201
- `changelog-entry.md` -- Entrada de changelog (Keep a Changelog)
194202
- `release-notes.md` -- Notas de release con resumen ejecutivo
195203

196-
### Core (6 modulos)
204+
### Core (5 modulos)
197205

198-
El nucleo del plugin esta implementado en Python con tests unitarios (530 tests):
206+
El nucleo del plugin esta implementado en Python con tests unitarios:
199207

200208
| Modulo | Funcion |
201209
|--------|---------|
202210
| `orchestrator.py` | Maquina de estados de flujos, gestion de sesiones, evaluacion de gates, modo autopilot, loop iterativo |
203211
| `personality.py` | Motor de personalidad: frases, tono, anuncios, formato de veredicto |
204212
| `config_loader.py` | Carga de configuracion, deteccion de stack, preferencias de proyecto |
205213
| `memory.py` | Base de datos SQLite de memoria persistente: decisiones, commits, iteraciones, eventos |
206-
| `worktree.py` | Gestion de git worktrees: creacion, merge y limpieza de ramas aisladas |
207214
| `session_report.py` | Generacion de informes de sesion en Markdown con fases, evidencia y artefactos |
208215

209216
```bash
@@ -287,7 +294,7 @@ alfred-dev/
287294
skills/ # 60 skills en 13 dominios
288295
hooks/ # Hooks del ciclo de vida
289296
hooks.json # Configuracion de eventos
290-
core/ # Motor de orquestacion, memoria, worktrees e informes (Python)
297+
core/ # Motor de orquestacion, memoria e informes (Python)
291298
mcp/ # Servidor MCP stdio (memoria persistente)
292299
templates/ # 7 plantillas de artefactos
293300
tests/ # Tests unitarios (pytest)

commands/_composicion.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,67 @@ Este fichero define el protocolo compartido para componer el equipo de cada sesi
44
Lo usan todos los comandos de Alfred (feature, fix, spike, audit, ship). Cualquier
55
cambio aquí se refleja en todos los flujos.
66

7+
## Paso 0 -- Configuración inicial del proyecto
8+
9+
Antes de cualquier otra cosa, comprueba si el proyecto ya tiene configurado el modo
10+
de autonomía. Lee `.claude/alfred-dev.local.md` y busca la sección `autonomia:` en
11+
el frontmatter YAML.
12+
13+
**Si la sección `autonomia:` NO existe** (primera vez que se usa Alfred en este proyecto):
14+
15+
1. Presenta al usuario las dos opciones con `AskUserQuestion`:
16+
17+
```
18+
AskUserQuestion({
19+
questions: [
20+
{
21+
question: "¿Cómo quieres trabajar con Alfred en este proyecto?",
22+
header: "Modo de trabajo",
23+
options: [
24+
{
25+
label: "Interactivo",
26+
description: "Alfred pide tu aprobación en cada fase. Tienes control total sobre cada decisión."
27+
},
28+
{
29+
label: "Autopilot",
30+
description: "Alfred avanza solo aprobando las gates de usuario. Solo se detiene si falla seguridad o tests."
31+
}
32+
]
33+
}
34+
]
35+
})
36+
```
37+
38+
2. Según la respuesta, escribe la configuración en `.claude/alfred-dev.local.md`:
39+
40+
- **Interactivo**: añade al frontmatter YAML:
41+
```yaml
42+
autonomia:
43+
producto: interactivo
44+
arquitectura: interactivo
45+
desarrollo: interactivo
46+
calidad: interactivo
47+
documentacion: interactivo
48+
entrega: interactivo
49+
```
50+
51+
- **Autopilot**: añade al frontmatter YAML:
52+
```yaml
53+
autonomia:
54+
producto: autonomo
55+
arquitectura: autonomo
56+
desarrollo: autonomo
57+
calidad: autonomo
58+
documentacion: autonomo
59+
entrega: autonomo
60+
```
61+
62+
3. Muestra un mensaje breve confirmando la elección y continúa con el paso 1.
63+
64+
**Si la sección `autonomia:` YA existe:** salta este paso y continúa directamente.
65+
66+
**Nota:** el usuario puede cambiar el modo en cualquier momento con `/alfred config`.
67+
768
## Paso 1 -- Contexto del proyecto
869

970
Llama a `suggest_optional_agents(project_dir)` para obtener señales basadas en I/O

core/session_report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
4141
---
4242
43-
*Generado automaticamente por Alfred Dev v0.4.0*
43+
*Generado automaticamente por Alfred Dev v0.4.1*
4444
"""
4545

4646

0 commit comments

Comments
 (0)