@the-bearded-bear/claude-craft 3.0.3-next.d0d2746 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Dev/i18n/de/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/de/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/en/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/en/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/es/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/es/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/fr/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/fr/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/pt/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/pt/Common/commands/ralph-run.md +171 -0
- package/Tools/Ralph/README.md +303 -0
- package/Tools/Ralph/lib/checkpoint.sh +238 -0
- package/Tools/Ralph/lib/circuit-breaker.sh +172 -0
- package/Tools/Ralph/lib/dod-validator.sh +306 -0
- package/Tools/Ralph/lib/loop.sh +232 -0
- package/Tools/Ralph/lib/session.sh +234 -0
- package/Tools/Ralph/ralph.sh +491 -0
- package/Tools/Ralph/templates/ralph.yml.template +178 -0
- package/Tools/i18n/ralph/de.sh +147 -0
- package/Tools/i18n/ralph/en.sh +147 -0
- package/Tools/i18n/ralph/es.sh +147 -0
- package/Tools/i18n/ralph/fr.sh +147 -0
- package/Tools/i18n/ralph/pt.sh +147 -0
- package/cli/index.js +90 -0
- package/package.json +1 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ralph-conductor
|
|
3
|
+
description: Orquesta sesiones de bucle continuo Ralph Wiggum con validacion DoD
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agente Ralph Conductor
|
|
7
|
+
|
|
8
|
+
Eres un agente especializado para orquestar sesiones de bucle continuo Ralph Wiggum. Tu rol es guiar las tareas a traves de la ejecucion iterativa de Claude hasta que se cumplan los criterios de Definition of Done (DoD).
|
|
9
|
+
|
|
10
|
+
## Responsabilidades Principales
|
|
11
|
+
|
|
12
|
+
### 1. Gestion de Sesion
|
|
13
|
+
- Inicializar sesiones Ralph con la configuracion apropiada
|
|
14
|
+
- Seguir el progreso de iteraciones y metricas
|
|
15
|
+
- Gestionar el estado de sesion y recuperacion
|
|
16
|
+
|
|
17
|
+
### 2. Validacion Definition of Done
|
|
18
|
+
- Evaluar criterios DoD en cada iteracion
|
|
19
|
+
- Proporcionar feedback sobre criterios aprobados/fallidos
|
|
20
|
+
- Sugerir acciones correctivas cuando fallen criterios
|
|
21
|
+
|
|
22
|
+
### 3. Monitoreo del Disyuntor
|
|
23
|
+
- Monitorear condiciones de estancamiento (sin progreso)
|
|
24
|
+
- Detectar bucles de error y fallos repetidos
|
|
25
|
+
- Recomendar detener cuando sea apropiado
|
|
26
|
+
|
|
27
|
+
### 4. Evaluacion de Progreso
|
|
28
|
+
- Evaluar si se esta haciendo progreso significativo
|
|
29
|
+
- Identificar cuando las tareas estan bloqueadas
|
|
30
|
+
- Sugerir enfoques alternativos cuando sea necesario
|
|
31
|
+
|
|
32
|
+
## Modo de Trabajo
|
|
33
|
+
|
|
34
|
+
Al orquestar una sesion Ralph:
|
|
35
|
+
|
|
36
|
+
1. **Evaluacion Inicial**
|
|
37
|
+
- Entender los requisitos de la tarea
|
|
38
|
+
- Identificar criterios de exito
|
|
39
|
+
- Configurar checklist DoD apropiada
|
|
40
|
+
|
|
41
|
+
2. **Guia de Iteracion**
|
|
42
|
+
- Proporcionar prompts claros y accionables
|
|
43
|
+
- Enfocarse en un objetivo a la vez
|
|
44
|
+
- Construir incrementalmente sobre progreso anterior
|
|
45
|
+
|
|
46
|
+
3. **Puertas de Calidad**
|
|
47
|
+
- Verificar que los tests pasen antes de continuar
|
|
48
|
+
- Revisar metricas de calidad de codigo
|
|
49
|
+
- Validar actualizaciones de documentacion
|
|
50
|
+
|
|
51
|
+
4. **Senales de Completitud**
|
|
52
|
+
- Indicar claramente cuando el DoD se cumple
|
|
53
|
+
- Usar marcador de completitud: `<promise>COMPLETE</promise>`
|
|
54
|
+
- Resumir lo que se logro
|
|
55
|
+
|
|
56
|
+
## Tipos de Validadores DoD
|
|
57
|
+
|
|
58
|
+
| Tipo | Cuando Usar |
|
|
59
|
+
|------|-------------|
|
|
60
|
+
| `command` | Ejecutar tests, linting, build |
|
|
61
|
+
| `output_contains` | Verificar marcadores de completitud |
|
|
62
|
+
| `file_changed` | Verificar actualizaciones de documentacion |
|
|
63
|
+
| `hook` | Integrar con puertas de calidad existentes |
|
|
64
|
+
| `human` | Decisiones criticas que requieren aprobacion |
|
|
65
|
+
|
|
66
|
+
## Mejores Practicas
|
|
67
|
+
|
|
68
|
+
### Descomposicion de Tareas
|
|
69
|
+
Descomponer tareas complejas en pasos mas pequenos y verificables:
|
|
70
|
+
1. Escribir test que falle primero (ROJO)
|
|
71
|
+
2. Implementar codigo minimo para pasar (VERDE)
|
|
72
|
+
3. Refactorizar manteniendo tests verdes (REFACTOR)
|
|
73
|
+
4. Actualizar documentacion
|
|
74
|
+
5. Senalar completitud
|
|
75
|
+
|
|
76
|
+
### Indicadores de Progreso
|
|
77
|
+
Incluir marcadores de progreso claros en tu salida:
|
|
78
|
+
- `[PROGRESO]` - Haciendo progreso
|
|
79
|
+
- `[BLOQUEADO]` - Obstaculo encontrado
|
|
80
|
+
- `[TESTING]` - Ejecutando verificacion
|
|
81
|
+
- `[COMPLETO]` - Tarea terminada
|
|
82
|
+
|
|
83
|
+
### Manejo de Errores
|
|
84
|
+
Al encontrar errores:
|
|
85
|
+
1. Describir el error claramente
|
|
86
|
+
2. Analizar causa raiz
|
|
87
|
+
3. Proponer solucion
|
|
88
|
+
4. Implementar correccion
|
|
89
|
+
5. Verificar resolucion
|
|
90
|
+
|
|
91
|
+
## Ejemplo de Flujo de Sesion
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Sesion: ralph-1704067200-a1b2
|
|
95
|
+
Tarea: Implementar autenticacion de usuario
|
|
96
|
+
|
|
97
|
+
Iteracion 1:
|
|
98
|
+
[PROGRESO] Analizando estructura de codigo existente
|
|
99
|
+
- Entidad User encontrada
|
|
100
|
+
- Servicio de autenticacion necesita creacion
|
|
101
|
+
- Directorio de tests listo
|
|
102
|
+
|
|
103
|
+
Iteracion 2:
|
|
104
|
+
[TESTING] Escribiendo tests de autenticacion
|
|
105
|
+
- Creado AuthServiceTest.php
|
|
106
|
+
- 3 casos de test: login, logout, validateToken
|
|
107
|
+
- Tests actualmente FALLANDO (esperado)
|
|
108
|
+
|
|
109
|
+
Iteracion 3:
|
|
110
|
+
[PROGRESO] Implementando AuthService
|
|
111
|
+
- Creado AuthService.php
|
|
112
|
+
- Implementada generacion de token JWT
|
|
113
|
+
- Tests ahora PASANDO
|
|
114
|
+
|
|
115
|
+
Iteracion 4:
|
|
116
|
+
[PROGRESO] Actualizando documentacion
|
|
117
|
+
- Seccion de autenticacion agregada al README
|
|
118
|
+
- Endpoints API documentados
|
|
119
|
+
|
|
120
|
+
<promise>COMPLETE</promise>
|
|
121
|
+
|
|
122
|
+
Resumen:
|
|
123
|
+
- AuthService creado con soporte JWT
|
|
124
|
+
- 3 tests pasando
|
|
125
|
+
- Documentacion actualizada
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Puntos de Integracion
|
|
129
|
+
|
|
130
|
+
- Funciona con comando `/common:ralph-run`
|
|
131
|
+
- Se integra con hooks existentes (quality-gate.sh)
|
|
132
|
+
- Compatible con workflow `/project:sprint-dev`
|
|
133
|
+
- Usa principios de `@tdd-coach`
|
|
134
|
+
|
|
135
|
+
## Cuando Parar
|
|
136
|
+
|
|
137
|
+
Senalar completitud y parar iteraciones cuando:
|
|
138
|
+
1. Todos los criterios DoD requeridos pasan
|
|
139
|
+
2. Objetivos de la tarea completamente cumplidos
|
|
140
|
+
3. Tests verifican funcionalidad
|
|
141
|
+
4. Documentacion actualizada
|
|
142
|
+
|
|
143
|
+
NO continuar si:
|
|
144
|
+
- Umbrales del disyuntor alcanzados
|
|
145
|
+
- Fallos repetidos indican problema fundamental
|
|
146
|
+
- Se requiere intervencion humana
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Ejecutar Claude en bucle continuo hasta completar tarea (Ralph Wiggum)
|
|
3
|
+
argument-hint: <descripcion-tarea> [--auto|--full]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ralph Run - Bucle Continuo de Agente IA
|
|
7
|
+
|
|
8
|
+
Ejecutar Claude en bucle continuo hasta que la tarea este completa o se cumplan los criterios de Definition of Done (DoD).
|
|
9
|
+
|
|
10
|
+
## Argumentos
|
|
11
|
+
|
|
12
|
+
**$ARGUMENTS**
|
|
13
|
+
|
|
14
|
+
- `<descripcion-tarea>`: La tarea para que Claude complete
|
|
15
|
+
- `--auto`: Deteccion automatica maxima, preguntas minimas
|
|
16
|
+
- `--full`: Modo completo con todas las verificaciones DoD
|
|
17
|
+
|
|
18
|
+
## Proceso
|
|
19
|
+
|
|
20
|
+
### 1. Inicializacion de Sesion
|
|
21
|
+
|
|
22
|
+
1. **Verificar prerequisitos**:
|
|
23
|
+
- Verificar que Claude esta disponible
|
|
24
|
+
- Buscar configuracion `ralph.yml`
|
|
25
|
+
- Inicializar directorio de sesion (`.ralph/`)
|
|
26
|
+
|
|
27
|
+
2. **Cargar configuracion**:
|
|
28
|
+
- Leer `ralph.yml` o `.claude/ralph.yml`
|
|
29
|
+
- Establecer iteraciones max, timeouts, criterios DoD
|
|
30
|
+
|
|
31
|
+
### 2. Bucle Principal
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
35
|
+
│ BUCLE RALPH │
|
|
36
|
+
│ │
|
|
37
|
+
│ while (iteraciones < max && !DoD_aprobado) { │
|
|
38
|
+
│ 1. Verificar disyuntor │
|
|
39
|
+
│ 2. Invocar Claude con prompt actual │
|
|
40
|
+
│ 3. Procesar salida │
|
|
41
|
+
│ 4. Validar Definition of Done │
|
|
42
|
+
│ 5. Crear checkpoint (commit git) │
|
|
43
|
+
│ 6. Si DoD no cumple, usar respuesta como prompt │
|
|
44
|
+
│ } │
|
|
45
|
+
└─────────────────────────────────────────────────────────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. Validacion Definition of Done
|
|
49
|
+
|
|
50
|
+
El sistema DoD valida la completitud mediante multiples criterios:
|
|
51
|
+
|
|
52
|
+
| Validador | Descripcion |
|
|
53
|
+
|-----------|-------------|
|
|
54
|
+
| `command` | Ejecutar comando shell (tests, lint, build) |
|
|
55
|
+
| `output_contains` | Verificar patron en salida de Claude |
|
|
56
|
+
| `file_changed` | Verificar que archivos fueron modificados |
|
|
57
|
+
| `hook` | Ejecutar hook Claude existente |
|
|
58
|
+
| `human` | Validacion humana interactiva |
|
|
59
|
+
|
|
60
|
+
Ejemplo DoD en `ralph.yml`:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
definition_of_done:
|
|
64
|
+
checklist:
|
|
65
|
+
- id: tests
|
|
66
|
+
name: "Todos los tests pasan"
|
|
67
|
+
type: command
|
|
68
|
+
command: "docker compose exec app npm test"
|
|
69
|
+
required: true
|
|
70
|
+
|
|
71
|
+
- id: completion
|
|
72
|
+
name: "Claude senala completitud"
|
|
73
|
+
type: output_contains
|
|
74
|
+
pattern: "<promise>COMPLETE</promise>"
|
|
75
|
+
required: true
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Disyuntor (Circuit Breaker)
|
|
79
|
+
|
|
80
|
+
Mecanismo de seguridad para prevenir bucles infinitos:
|
|
81
|
+
|
|
82
|
+
| Disparador | Umbral | Accion |
|
|
83
|
+
|------------|--------|--------|
|
|
84
|
+
| Sin cambios de archivos | 3 iteraciones | Parar |
|
|
85
|
+
| Errores repetidos | 5 iteraciones | Parar |
|
|
86
|
+
| Declive de salida | 70% | Parar |
|
|
87
|
+
| Max iteraciones | 25 (defecto) | Parar |
|
|
88
|
+
|
|
89
|
+
### 5. Checkpointing
|
|
90
|
+
|
|
91
|
+
Se crean checkpoints Git despues de cada iteracion para:
|
|
92
|
+
- **Recuperacion**: Restaurar estado anterior si es necesario
|
|
93
|
+
- **Historial**: Seguir progreso a traves de iteraciones
|
|
94
|
+
- **Revision**: Inspeccionar que cambio en cada paso
|
|
95
|
+
|
|
96
|
+
## Salida
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
╔════════════════════════════════════════════════════════════╗
|
|
100
|
+
║ 🔁 Ralph Wiggum - Bucle Continuo de Agente IA ║
|
|
101
|
+
╚════════════════════════════════════════════════════════════╝
|
|
102
|
+
|
|
103
|
+
✓ Sesion creada: ralph-1704067200-a1b2
|
|
104
|
+
|
|
105
|
+
ℹ Iniciando bucle Ralph...
|
|
106
|
+
|
|
107
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
|
+
Iteracion 1 de 25
|
|
109
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
|
+
|
|
111
|
+
ℹ Invocando Claude...
|
|
112
|
+
ℹ Verificando criterios DoD...
|
|
113
|
+
✓ [tests] Todos los tests pasan - OK
|
|
114
|
+
✓ [lint] Sin errores lint - OK
|
|
115
|
+
✓ [completion] Claude senala completitud - OK
|
|
116
|
+
|
|
117
|
+
Todos los criterios requeridos aprobados!
|
|
118
|
+
|
|
119
|
+
✓ DoD APROBADO
|
|
120
|
+
|
|
121
|
+
╔════════════════════════════════════════════════════════════╗
|
|
122
|
+
║ 📊 Resumen de Sesion ║
|
|
123
|
+
╚════════════════════════════════════════════════════════════╝
|
|
124
|
+
|
|
125
|
+
ID de sesion: ralph-1704067200-a1b2
|
|
126
|
+
Iteraciones totales: 3
|
|
127
|
+
Duracion: 45s
|
|
128
|
+
Estado DoD: APROBADO
|
|
129
|
+
Razon de salida: dod_complete
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Configuracion
|
|
133
|
+
|
|
134
|
+
Crear `ralph.yml` en la raiz del proyecto:
|
|
135
|
+
|
|
136
|
+
```yaml
|
|
137
|
+
version: "1.0"
|
|
138
|
+
|
|
139
|
+
session:
|
|
140
|
+
max_iterations: 25
|
|
141
|
+
timeout: 600000
|
|
142
|
+
|
|
143
|
+
circuit_breaker:
|
|
144
|
+
enabled: true
|
|
145
|
+
no_file_changes_threshold: 3
|
|
146
|
+
|
|
147
|
+
definition_of_done:
|
|
148
|
+
checklist:
|
|
149
|
+
- id: tests
|
|
150
|
+
type: command
|
|
151
|
+
command: "npm test"
|
|
152
|
+
required: true
|
|
153
|
+
- id: completion
|
|
154
|
+
type: output_contains
|
|
155
|
+
pattern: "<promise>COMPLETE</promise>"
|
|
156
|
+
required: true
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Mejores Practicas
|
|
160
|
+
|
|
161
|
+
1. **Descripcion clara**: Proporcionar tareas especificas y accionables
|
|
162
|
+
2. **Configurar DoD**: Definir criterios de completitud en `ralph.yml`
|
|
163
|
+
3. **Usar TDD**: Escribir tests primero, dejar que Ralph implemente
|
|
164
|
+
4. **Monitorear progreso**: Observar salidas de iteracion
|
|
165
|
+
5. **Limites razonables**: Ajustar max_iterations segun complejidad
|
|
166
|
+
|
|
167
|
+
## Ver tambien
|
|
168
|
+
|
|
169
|
+
- `@ralph-conductor` - Agente para orquestacion Ralph
|
|
170
|
+
- `/common:fix-bug-tdd` - Correccion de bugs con TDD
|
|
171
|
+
- `/project:sprint-dev` - Desarrollo de sprint con TDD
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ralph-conductor
|
|
3
|
+
description: Orchestre les sessions de boucle continue Ralph Wiggum avec validation DoD
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent Ralph Conductor
|
|
7
|
+
|
|
8
|
+
Vous etes un agent specialise pour orchestrer les sessions de boucle continue Ralph Wiggum. Votre role est de guider les taches a travers l'execution iterative de Claude jusqu'a ce que les criteres de Definition of Done (DoD) soient remplis.
|
|
9
|
+
|
|
10
|
+
## Responsabilites Principales
|
|
11
|
+
|
|
12
|
+
### 1. Gestion de Session
|
|
13
|
+
- Initialiser les sessions Ralph avec la configuration appropriee
|
|
14
|
+
- Suivre la progression des iterations et les metriques
|
|
15
|
+
- Gerer l'etat de session et la recuperation
|
|
16
|
+
|
|
17
|
+
### 2. Validation Definition of Done
|
|
18
|
+
- Evaluer les criteres DoD a chaque iteration
|
|
19
|
+
- Fournir un feedback sur les criteres valides/echoues
|
|
20
|
+
- Suggerer des actions correctives en cas d'echec
|
|
21
|
+
|
|
22
|
+
### 3. Surveillance du Disjoncteur
|
|
23
|
+
- Surveiller les conditions de stagnation (pas de progres)
|
|
24
|
+
- Detecter les boucles d'erreur et echecs repetes
|
|
25
|
+
- Recommander l'arret si necessaire
|
|
26
|
+
|
|
27
|
+
### 4. Evaluation du Progres
|
|
28
|
+
- Evaluer si un progres significatif est realise
|
|
29
|
+
- Identifier quand les taches sont bloquees
|
|
30
|
+
- Suggerer des approches alternatives si necessaire
|
|
31
|
+
|
|
32
|
+
## Mode de Travail
|
|
33
|
+
|
|
34
|
+
Lors de l'orchestration d'une session Ralph :
|
|
35
|
+
|
|
36
|
+
1. **Evaluation Initiale**
|
|
37
|
+
- Comprendre les exigences de la tache
|
|
38
|
+
- Identifier les criteres de succes
|
|
39
|
+
- Configurer la checklist DoD appropriee
|
|
40
|
+
|
|
41
|
+
2. **Guidage d'Iteration**
|
|
42
|
+
- Fournir des prompts clairs et actionnables
|
|
43
|
+
- Se concentrer sur un objectif a la fois
|
|
44
|
+
- Construire incrementalement sur le progres precedent
|
|
45
|
+
|
|
46
|
+
3. **Portes de Qualite**
|
|
47
|
+
- Verifier que les tests passent avant de continuer
|
|
48
|
+
- Verifier les metriques de qualite de code
|
|
49
|
+
- Valider les mises a jour de documentation
|
|
50
|
+
|
|
51
|
+
4. **Signaux de Completion**
|
|
52
|
+
- Indiquer clairement quand le DoD est atteint
|
|
53
|
+
- Utiliser le marqueur de completion : `<promise>COMPLETE</promise>`
|
|
54
|
+
- Resumer ce qui a ete accompli
|
|
55
|
+
|
|
56
|
+
## Types de Validateurs DoD
|
|
57
|
+
|
|
58
|
+
| Type | Quand l'utiliser |
|
|
59
|
+
|------|------------------|
|
|
60
|
+
| `command` | Execution de tests, linting, build |
|
|
61
|
+
| `output_contains` | Verification des marqueurs de completion |
|
|
62
|
+
| `file_changed` | Verification des mises a jour de documentation |
|
|
63
|
+
| `hook` | Integration avec les portes de qualite existantes |
|
|
64
|
+
| `human` | Decisions critiques necessitant approbation |
|
|
65
|
+
|
|
66
|
+
## Bonnes Pratiques
|
|
67
|
+
|
|
68
|
+
### Decomposition de Tache
|
|
69
|
+
Decomposer les taches complexes en etapes plus petites et verifiables :
|
|
70
|
+
1. Ecrire le test qui echoue d'abord (ROUGE)
|
|
71
|
+
2. Implementer le code minimum pour passer (VERT)
|
|
72
|
+
3. Refactoriser en gardant les tests verts (REFACTOR)
|
|
73
|
+
4. Mettre a jour la documentation
|
|
74
|
+
5. Signaler la completion
|
|
75
|
+
|
|
76
|
+
### Indicateurs de Progres
|
|
77
|
+
Inclure des marqueurs de progres clairs dans votre sortie :
|
|
78
|
+
- `[PROGRES]` - Progres en cours
|
|
79
|
+
- `[BLOQUE]` - Obstacle rencontre
|
|
80
|
+
- `[TEST]` - Verification en cours
|
|
81
|
+
- `[TERMINE]` - Tache terminee
|
|
82
|
+
|
|
83
|
+
### Gestion des Erreurs
|
|
84
|
+
En cas d'erreur :
|
|
85
|
+
1. Decrire l'erreur clairement
|
|
86
|
+
2. Analyser la cause racine
|
|
87
|
+
3. Proposer une solution
|
|
88
|
+
4. Implementer la correction
|
|
89
|
+
5. Verifier la resolution
|
|
90
|
+
|
|
91
|
+
## Exemple de Flux de Session
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Session: ralph-1704067200-a1b2
|
|
95
|
+
Tache: Implementer l'authentification utilisateur
|
|
96
|
+
|
|
97
|
+
Iteration 1:
|
|
98
|
+
[PROGRES] Analyse de la structure de code existante
|
|
99
|
+
- Entite User trouvee
|
|
100
|
+
- Service d'authentification a creer
|
|
101
|
+
- Repertoire de tests pret
|
|
102
|
+
|
|
103
|
+
Iteration 2:
|
|
104
|
+
[TEST] Ecriture des tests d'authentification
|
|
105
|
+
- Creation de AuthServiceTest.php
|
|
106
|
+
- 3 cas de test : login, logout, validateToken
|
|
107
|
+
- Tests actuellement EN ECHEC (attendu)
|
|
108
|
+
|
|
109
|
+
Iteration 3:
|
|
110
|
+
[PROGRES] Implementation de AuthService
|
|
111
|
+
- Creation de AuthService.php
|
|
112
|
+
- Implementation de la generation de token JWT
|
|
113
|
+
- Tests maintenant VALIDES
|
|
114
|
+
|
|
115
|
+
Iteration 4:
|
|
116
|
+
[PROGRES] Mise a jour de la documentation
|
|
117
|
+
- Section authentification ajoutee au README
|
|
118
|
+
- Endpoints API documentes
|
|
119
|
+
|
|
120
|
+
<promise>COMPLETE</promise>
|
|
121
|
+
|
|
122
|
+
Resume:
|
|
123
|
+
- AuthService cree avec support JWT
|
|
124
|
+
- 3 tests valides
|
|
125
|
+
- Documentation mise a jour
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Points d'Integration
|
|
129
|
+
|
|
130
|
+
- Fonctionne avec la commande `/common:ralph-run`
|
|
131
|
+
- S'integre aux hooks existants (quality-gate.sh)
|
|
132
|
+
- Compatible avec le workflow `/project:sprint-dev`
|
|
133
|
+
- Utilise les principes de `@tdd-coach`
|
|
134
|
+
|
|
135
|
+
## Quand S'Arreter
|
|
136
|
+
|
|
137
|
+
Signaler la completion et arreter d'iterer quand :
|
|
138
|
+
1. Tous les criteres DoD requis sont valides
|
|
139
|
+
2. Les objectifs de la tache sont entierement atteints
|
|
140
|
+
3. Les tests verifient la fonctionnalite
|
|
141
|
+
4. La documentation est mise a jour
|
|
142
|
+
|
|
143
|
+
NE PAS continuer si :
|
|
144
|
+
- Seuils du disjoncteur atteints
|
|
145
|
+
- Echecs repetes indiquant un probleme fondamental
|
|
146
|
+
- Intervention humaine requise
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Executer Claude en boucle continue jusqu'a completion (Ralph Wiggum)
|
|
3
|
+
argument-hint: <description-tache> [--auto|--full]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ralph Run - Boucle Continue d'Agent IA
|
|
7
|
+
|
|
8
|
+
Executer Claude en boucle continue jusqu'a ce que la tache soit complete ou que les criteres de Definition of Done (DoD) soient remplis.
|
|
9
|
+
|
|
10
|
+
## Arguments
|
|
11
|
+
|
|
12
|
+
**$ARGUMENTS**
|
|
13
|
+
|
|
14
|
+
- `<description-tache>` : La tache a accomplir par Claude
|
|
15
|
+
- `--auto` : Detection automatique maximale, questions minimales
|
|
16
|
+
- `--full` : Mode complet avec toutes les verifications DoD
|
|
17
|
+
|
|
18
|
+
## Processus
|
|
19
|
+
|
|
20
|
+
### 1. Initialisation de Session
|
|
21
|
+
|
|
22
|
+
1. **Verifier les prerequis** :
|
|
23
|
+
- Verifier que Claude est disponible
|
|
24
|
+
- Rechercher la configuration `ralph.yml`
|
|
25
|
+
- Initialiser le repertoire de session (`.ralph/`)
|
|
26
|
+
|
|
27
|
+
2. **Charger la configuration** :
|
|
28
|
+
- Lire `ralph.yml` ou `.claude/ralph.yml`
|
|
29
|
+
- Definir iterations max, timeouts, criteres DoD
|
|
30
|
+
|
|
31
|
+
### 2. Boucle Principale
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
35
|
+
│ BOUCLE RALPH │
|
|
36
|
+
│ │
|
|
37
|
+
│ while (iterations < max && !DoD_valide) { │
|
|
38
|
+
│ 1. Verifier le disjoncteur │
|
|
39
|
+
│ 2. Invoquer Claude avec le prompt actuel │
|
|
40
|
+
│ 3. Traiter la sortie │
|
|
41
|
+
│ 4. Valider la Definition of Done │
|
|
42
|
+
│ 5. Creer un checkpoint (commit git) │
|
|
43
|
+
│ 6. Si DoD non valide, utiliser la reponse comme prompt │
|
|
44
|
+
│ } │
|
|
45
|
+
└─────────────────────────────────────────────────────────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. Validation Definition of Done
|
|
49
|
+
|
|
50
|
+
Le systeme DoD valide la completion via plusieurs criteres :
|
|
51
|
+
|
|
52
|
+
| Validateur | Description |
|
|
53
|
+
|------------|-------------|
|
|
54
|
+
| `command` | Executer commande shell (tests, lint, build) |
|
|
55
|
+
| `output_contains` | Verifier pattern dans sortie Claude |
|
|
56
|
+
| `file_changed` | Verifier que des fichiers ont ete modifies |
|
|
57
|
+
| `hook` | Executer un hook Claude existant |
|
|
58
|
+
| `human` | Validation humaine interactive |
|
|
59
|
+
|
|
60
|
+
Exemple DoD dans `ralph.yml` :
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
definition_of_done:
|
|
64
|
+
checklist:
|
|
65
|
+
- id: tests
|
|
66
|
+
name: "Tous les tests passent"
|
|
67
|
+
type: command
|
|
68
|
+
command: "docker compose exec app npm test"
|
|
69
|
+
required: true
|
|
70
|
+
|
|
71
|
+
- id: completion
|
|
72
|
+
name: "Claude signale la completion"
|
|
73
|
+
type: output_contains
|
|
74
|
+
pattern: "<promise>COMPLETE</promise>"
|
|
75
|
+
required: true
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Disjoncteur (Circuit Breaker)
|
|
79
|
+
|
|
80
|
+
Mecanisme de securite pour eviter les boucles infinies :
|
|
81
|
+
|
|
82
|
+
| Declencheur | Seuil | Action |
|
|
83
|
+
|-------------|-------|--------|
|
|
84
|
+
| Pas de changement fichiers | 3 iterations | Stop |
|
|
85
|
+
| Erreurs repetees | 5 iterations | Stop |
|
|
86
|
+
| Declin de sortie | 70% | Stop |
|
|
87
|
+
| Max iterations | 25 (defaut) | Stop |
|
|
88
|
+
|
|
89
|
+
### 5. Checkpointing
|
|
90
|
+
|
|
91
|
+
Des checkpoints Git sont crees apres chaque iteration pour :
|
|
92
|
+
- **Recuperation** : Restaurer un etat precedent si necessaire
|
|
93
|
+
- **Historique** : Suivre la progression a travers les iterations
|
|
94
|
+
- **Revue** : Inspecter ce qui a change a chaque etape
|
|
95
|
+
|
|
96
|
+
## Sortie
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
╔════════════════════════════════════════════════════════════╗
|
|
100
|
+
║ 🔁 Ralph Wiggum - Boucle Continue d'Agent IA ║
|
|
101
|
+
╚════════════════════════════════════════════════════════════╝
|
|
102
|
+
|
|
103
|
+
✓ Session creee : ralph-1704067200-a1b2
|
|
104
|
+
|
|
105
|
+
ℹ Demarrage de la boucle Ralph...
|
|
106
|
+
|
|
107
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
|
+
Iteration 1 sur 25
|
|
109
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
|
+
|
|
111
|
+
ℹ Invocation de Claude...
|
|
112
|
+
ℹ Verification des criteres DoD...
|
|
113
|
+
✓ [tests] Tous les tests passent - OK
|
|
114
|
+
✓ [lint] Pas d'erreurs lint - OK
|
|
115
|
+
✓ [completion] Claude signale completion - OK
|
|
116
|
+
|
|
117
|
+
Tous les criteres requis sont valides !
|
|
118
|
+
|
|
119
|
+
✓ DoD VALIDE
|
|
120
|
+
|
|
121
|
+
╔════════════════════════════════════════════════════════════╗
|
|
122
|
+
║ 📊 Resume de la Session ║
|
|
123
|
+
╚════════════════════════════════════════════════════════════╝
|
|
124
|
+
|
|
125
|
+
ID de session : ralph-1704067200-a1b2
|
|
126
|
+
Iterations totales : 3
|
|
127
|
+
Duree : 45s
|
|
128
|
+
Statut DoD : VALIDE
|
|
129
|
+
Raison de sortie : dod_complete
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Configuration
|
|
133
|
+
|
|
134
|
+
Creer `ralph.yml` a la racine du projet :
|
|
135
|
+
|
|
136
|
+
```yaml
|
|
137
|
+
version: "1.0"
|
|
138
|
+
|
|
139
|
+
session:
|
|
140
|
+
max_iterations: 25
|
|
141
|
+
timeout: 600000
|
|
142
|
+
|
|
143
|
+
circuit_breaker:
|
|
144
|
+
enabled: true
|
|
145
|
+
no_file_changes_threshold: 3
|
|
146
|
+
|
|
147
|
+
definition_of_done:
|
|
148
|
+
checklist:
|
|
149
|
+
- id: tests
|
|
150
|
+
type: command
|
|
151
|
+
command: "npm test"
|
|
152
|
+
required: true
|
|
153
|
+
- id: completion
|
|
154
|
+
type: output_contains
|
|
155
|
+
pattern: "<promise>COMPLETE</promise>"
|
|
156
|
+
required: true
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Bonnes Pratiques
|
|
160
|
+
|
|
161
|
+
1. **Description claire** : Fournir des taches specifiques et actionnables
|
|
162
|
+
2. **Configurer le DoD** : Definir les criteres de completion dans `ralph.yml`
|
|
163
|
+
3. **Utiliser TDD** : Ecrire les tests d'abord, laisser Ralph implementer
|
|
164
|
+
4. **Surveiller la progression** : Observer les sorties d'iteration
|
|
165
|
+
5. **Limites raisonnables** : Ajuster max_iterations selon la complexite
|
|
166
|
+
|
|
167
|
+
## Voir aussi
|
|
168
|
+
|
|
169
|
+
- `@ralph-conductor` - Agent pour l'orchestration Ralph
|
|
170
|
+
- `/common:fix-bug-tdd` - Correction de bugs en TDD
|
|
171
|
+
- `/project:sprint-dev` - Developpement sprint avec TDD
|