@the-bearded-bear/claude-craft 3.0.2 → 3.1.0-next.a356bbd
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/de/Common/commands/setup-project-context.md +286 -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/en/Common/commands/setup-project-context.md +286 -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/es/Common/commands/setup-project-context.md +286 -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/fr/Common/commands/setup-project-context.md +286 -0
- package/Dev/i18n/pt/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/pt/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/pt/Common/commands/setup-project-context.md +286 -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,286 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-project-context
|
|
3
|
+
description: Analizar el codigo y configurar el contexto del proyecto interactivamente
|
|
4
|
+
arguments:
|
|
5
|
+
- name: mode
|
|
6
|
+
description: Modo de deteccion (--auto preguntas minimas, --full cuestionario completo)
|
|
7
|
+
required: false
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Configuracion del Contexto del Proyecto
|
|
11
|
+
|
|
12
|
+
Configura `.claude/rules/00-project-context.md` analizando el codigo y haciendo preguntas especificas.
|
|
13
|
+
|
|
14
|
+
## Ejecucion
|
|
15
|
+
|
|
16
|
+
### Fase 1: Deteccion Automatica
|
|
17
|
+
|
|
18
|
+
Analizar los siguientes archivos y directorios:
|
|
19
|
+
|
|
20
|
+
**Archivos de Configuracion:**
|
|
21
|
+
- `package.json` → Nombre del proyecto Node.js, dependencias, scripts
|
|
22
|
+
- `composer.json` → Nombre del proyecto PHP, dependencias, framework
|
|
23
|
+
- `pubspec.yaml` → Nombre del proyecto Flutter/Dart, dependencias
|
|
24
|
+
- `requirements.txt` / `pyproject.toml` → Dependencias Python
|
|
25
|
+
- `Cargo.toml` → Proyecto Rust
|
|
26
|
+
- `go.mod` → Modulo Go
|
|
27
|
+
|
|
28
|
+
**Entorno y Configuracion:**
|
|
29
|
+
- `.env`, `.env.example` → Base de datos, servicios
|
|
30
|
+
- `config/` → Configuracion del framework
|
|
31
|
+
- `docker-compose.yml` → Servicios (DB, Redis, etc.)
|
|
32
|
+
|
|
33
|
+
**Estructura:**
|
|
34
|
+
- `src/`, `lib/`, `app/` → Ubicacion del codigo fuente
|
|
35
|
+
- `tests/`, `spec/` → Framework de testing
|
|
36
|
+
- `docs/`, `specifications/` → Documentacion
|
|
37
|
+
- `.github/`, `.gitlab-ci.yml` → CI/CD
|
|
38
|
+
|
|
39
|
+
**Dominio (si aplica):**
|
|
40
|
+
- `src/Entity/`, `src/Domain/` → Entidades de negocio (PHP/Symfony)
|
|
41
|
+
- `lib/models/`, `lib/domain/` → Modelos (Flutter/Dart)
|
|
42
|
+
- `models/`, `schemas/` → Modelos de datos
|
|
43
|
+
- `migrations/` → Esquema de base de datos
|
|
44
|
+
|
|
45
|
+
Mostrar resultados del analisis:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
49
|
+
║ RESULTADOS DEL ANALISIS DEL PROYECTO ║
|
|
50
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
51
|
+
|
|
52
|
+
✅ Informacion Detectada:
|
|
53
|
+
┌─────────────────┬────────────────────────────────┐
|
|
54
|
+
│ Elemento │ Valor │
|
|
55
|
+
├─────────────────┼────────────────────────────────┤
|
|
56
|
+
│ Nombre Proyecto │ {nombre_detectado} │
|
|
57
|
+
│ Lenguaje │ {lenguaje_detectado} │
|
|
58
|
+
│ Framework │ {framework_detectado} │
|
|
59
|
+
│ Base de Datos │ {database_detectada} │
|
|
60
|
+
│ Testing │ {testing_detectado} │
|
|
61
|
+
│ CI/CD │ {cicd_detectado} │
|
|
62
|
+
└─────────────────┴────────────────────────────────┘
|
|
63
|
+
|
|
64
|
+
📁 Estructura del Proyecto:
|
|
65
|
+
{estructura_detectada}
|
|
66
|
+
|
|
67
|
+
📄 Documentacion Encontrada:
|
|
68
|
+
{docs_detectados}
|
|
69
|
+
|
|
70
|
+
❌ No Detectado (se preguntara):
|
|
71
|
+
- {elementos_faltantes}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Fase 2: Preguntas Interactivas
|
|
75
|
+
|
|
76
|
+
Preguntar solo por informacion NO detectada en la Fase 1.
|
|
77
|
+
Omitir preguntas si se usa el modo `--auto` y existe un valor por defecto razonable.
|
|
78
|
+
|
|
79
|
+
**Preguntas Esenciales:**
|
|
80
|
+
|
|
81
|
+
1. **Tipo de Aplicacion** (si no se detecto):
|
|
82
|
+
```
|
|
83
|
+
Que tipo de aplicacion es?
|
|
84
|
+
[ ] API REST [ ] Aplicacion Web [ ] Aplicacion Movil
|
|
85
|
+
[ ] Herramienta CLI [ ] Libreria/Paquete [ ] Monorepo
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. **Dominio de Negocio**:
|
|
89
|
+
```
|
|
90
|
+
Cual es el dominio de negocio?
|
|
91
|
+
[ ] E-commerce [ ] Plataforma SaaS [ ] FinTech
|
|
92
|
+
[ ] HealthTech [ ] EdTech [ ] Social/Comunidad
|
|
93
|
+
[ ] Media/Contenido [ ] IoT [ ] Otro: _____
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
3. **Usuarios Objetivo** (2-3 personas):
|
|
97
|
+
```
|
|
98
|
+
Describe a tus usuarios principales:
|
|
99
|
+
|
|
100
|
+
Usuario Principal:
|
|
101
|
+
> Rol: _____
|
|
102
|
+
> Objetivo principal: _____
|
|
103
|
+
|
|
104
|
+
Usuario Secundario (opcional):
|
|
105
|
+
> Rol: _____
|
|
106
|
+
> Objetivo principal: _____
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
4. **Requisitos de Cumplimiento**:
|
|
110
|
+
```
|
|
111
|
+
Que requisitos de cumplimiento aplican?
|
|
112
|
+
[ ] GDPR (Proteccion de datos UE)
|
|
113
|
+
[ ] HIPAA (Salud EEUU)
|
|
114
|
+
[ ] PCI-DSS (Tarjetas de pago)
|
|
115
|
+
[ ] SOC2 (Seguridad)
|
|
116
|
+
[ ] Ninguno / No aplica
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Preguntas Extendidas** (solo con modo `--full`):
|
|
120
|
+
|
|
121
|
+
5. **Objetivos de Negocio**:
|
|
122
|
+
```
|
|
123
|
+
Objetivos a corto plazo (3-6 meses):
|
|
124
|
+
> _____
|
|
125
|
+
|
|
126
|
+
Objetivos a mediano plazo (6-12 meses):
|
|
127
|
+
> _____
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
6. **Problemas Conocidos/Deuda Tecnica**:
|
|
131
|
+
```
|
|
132
|
+
Hay problemas conocidos o deuda tecnica a documentar?
|
|
133
|
+
> _____
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
7. **Terminos del Glosario**:
|
|
137
|
+
```
|
|
138
|
+
Terminos clave de negocio a definir (separados por comas):
|
|
139
|
+
> _____
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Fase 3: Generar Archivo de Contexto
|
|
143
|
+
|
|
144
|
+
Crear `.claude/rules/00-project-context.md`:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
# Contexto del Proyecto - {NOMBRE_PROYECTO}
|
|
148
|
+
|
|
149
|
+
> Generado automaticamente por `/common:setup-project-context` el {FECHA}
|
|
150
|
+
> Revisar y personalizar segun sea necesario.
|
|
151
|
+
|
|
152
|
+
## Vision General
|
|
153
|
+
|
|
154
|
+
**{NOMBRE_PROYECTO}** es una aplicacion {TIPO} para el dominio {DOMINIO}.
|
|
155
|
+
|
|
156
|
+
{DESCRIPCION_DESDE_README_O_USUARIO}
|
|
157
|
+
|
|
158
|
+
## Stack Tecnico
|
|
159
|
+
|
|
160
|
+
| Componente | Tecnologia |
|
|
161
|
+
|--------------|----------------------|
|
|
162
|
+
| Lenguaje | {LENGUAJE} |
|
|
163
|
+
| Framework | {FRAMEWORK} |
|
|
164
|
+
| Base Datos | {DATABASE} |
|
|
165
|
+
| Cache | {CACHE_SI_DETECTADO} |
|
|
166
|
+
| Testing | {FRAMEWORKS_TEST} |
|
|
167
|
+
| CI/CD | {PLATAFORMA_CICD} |
|
|
168
|
+
|
|
169
|
+
## Estructura del Proyecto
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
{ESTRUCTURA_DETECTADA}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Dominio de Negocio
|
|
176
|
+
|
|
177
|
+
### Conceptos Clave
|
|
178
|
+
|
|
179
|
+
{ENTIDADES_SI_DETECTADAS}
|
|
180
|
+
|
|
181
|
+
### Bounded Contexts
|
|
182
|
+
|
|
183
|
+
<!-- Agregar si usa DDD -->
|
|
184
|
+
- Contexto 1: ...
|
|
185
|
+
- Contexto 2: ...
|
|
186
|
+
|
|
187
|
+
## Usuarios y Personas
|
|
188
|
+
|
|
189
|
+
### {ROL_USUARIO_PRINCIPAL}
|
|
190
|
+
- **Objetivo:** {OBJETIVO_USUARIO_PRINCIPAL}
|
|
191
|
+
- **Puntos de friccion:** Por documentar
|
|
192
|
+
- **Flujos clave:** Por documentar
|
|
193
|
+
|
|
194
|
+
### {ROL_USUARIO_SECUNDARIO}
|
|
195
|
+
- **Objetivo:** {OBJETIVO_USUARIO_SECUNDARIO}
|
|
196
|
+
- **Puntos de friccion:** Por documentar
|
|
197
|
+
- **Flujos clave:** Por documentar
|
|
198
|
+
|
|
199
|
+
## Restricciones
|
|
200
|
+
|
|
201
|
+
### Cumplimiento
|
|
202
|
+
{REQUISITOS_CUMPLIMIENTO}
|
|
203
|
+
|
|
204
|
+
### Objetivos de Rendimiento
|
|
205
|
+
- Tiempo de carga de pagina: < 3s
|
|
206
|
+
- Tiempo de respuesta API: < 200ms
|
|
207
|
+
- Disponibilidad: 99.9%
|
|
208
|
+
|
|
209
|
+
### Requisitos de Seguridad
|
|
210
|
+
- Cumplimiento OWASP Top 10
|
|
211
|
+
- Validacion de entrada en todos los endpoints
|
|
212
|
+
- Autenticacion requerida para recursos protegidos
|
|
213
|
+
|
|
214
|
+
## Objetivos
|
|
215
|
+
|
|
216
|
+
### Corto plazo
|
|
217
|
+
{OBJETIVOS_CORTO_PLAZO_O_PLACEHOLDER}
|
|
218
|
+
|
|
219
|
+
### Mediano plazo
|
|
220
|
+
{OBJETIVOS_MEDIANO_PLAZO_O_PLACEHOLDER}
|
|
221
|
+
|
|
222
|
+
## Problemas Conocidos / Deuda Tecnica
|
|
223
|
+
|
|
224
|
+
{PROBLEMAS_O_PLACEHOLDER}
|
|
225
|
+
|
|
226
|
+
## Glosario
|
|
227
|
+
|
|
228
|
+
| Termino | Definicion |
|
|
229
|
+
|---------|------------|
|
|
230
|
+
{TERMINOS_GLOSARIO_O_EJEMPLOS}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Fase 4: Validacion y Siguientes Pasos
|
|
234
|
+
|
|
235
|
+
Mostrar resumen y recomendaciones:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
239
|
+
║ CONTEXTO DEL PROYECTO GENERADO ║
|
|
240
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
241
|
+
|
|
242
|
+
✅ Archivo creado: .claude/rules/00-project-context.md
|
|
243
|
+
|
|
244
|
+
Resumen:
|
|
245
|
+
┌─────────────────┬────────────────────────────────┐
|
|
246
|
+
│ Proyecto │ {NOMBRE_PROYECTO} │
|
|
247
|
+
│ Tipo │ {TIPO} │
|
|
248
|
+
│ Stack │ {FRAMEWORK} + {DATABASE} │
|
|
249
|
+
│ Dominio │ {DOMINIO} │
|
|
250
|
+
│ Cumplimiento │ {CUMPLIMIENTO} │
|
|
251
|
+
│ Personas │ {CANTIDAD} definidos │
|
|
252
|
+
└─────────────────┴────────────────────────────────┘
|
|
253
|
+
|
|
254
|
+
📋 Siguientes Pasos Recomendados:
|
|
255
|
+
|
|
256
|
+
1. Revisar archivo generado y completar secciones placeholder
|
|
257
|
+
2. Agregar bounded contexts detallados si usa DDD
|
|
258
|
+
3. Documentar flujos de negocio clave
|
|
259
|
+
4. Considerar ejecutar agentes especializados:
|
|
260
|
+
- @database-architect → Documentar esquema de base de datos
|
|
261
|
+
- @api-designer → Documentar endpoints de API
|
|
262
|
+
- @security-reviewer → Revisar restricciones de seguridad
|
|
263
|
+
|
|
264
|
+
Desea que abra el archivo para revision?
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Modos
|
|
268
|
+
|
|
269
|
+
| Modo | Comportamiento |
|
|
270
|
+
|------|----------------|
|
|
271
|
+
| (defecto) | Deteccion + preguntas esenciales (tipo, dominio, usuarios, cumplimiento) |
|
|
272
|
+
| `--auto` | Deteccion maxima, omitir preguntas con valores por defecto razonables |
|
|
273
|
+
| `--full` | Todas las preguntas incluyendo objetivos, problemas y glosario |
|
|
274
|
+
|
|
275
|
+
## Ejemplos
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Modo estandar - deteccion y preguntas equilibradas
|
|
279
|
+
/common:setup-project-context
|
|
280
|
+
|
|
281
|
+
# Modo auto - interaccion minima
|
|
282
|
+
/common:setup-project-context --auto
|
|
283
|
+
|
|
284
|
+
# Modo completo - cuestionario exhaustivo
|
|
285
|
+
/common:setup-project-context --full
|
|
286
|
+
```
|