claude-agent-framework 1.0.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.
Files changed (111) hide show
  1. package/README.md +128 -0
  2. package/bin/claude-framework +3 -0
  3. package/framework/agents/design-lead.md +240 -0
  4. package/framework/agents/product-owner.md +179 -0
  5. package/framework/agents/tech-lead.md +226 -0
  6. package/framework/commands/ayuda.md +127 -0
  7. package/framework/commands/a/303/261adir.md +98 -0
  8. package/framework/commands/backup.md +397 -0
  9. package/framework/commands/cambiar.md +110 -0
  10. package/framework/commands/cloud.md +457 -0
  11. package/framework/commands/code.md +142 -0
  12. package/framework/commands/debug.md +334 -0
  13. package/framework/commands/deploy.md +383 -0
  14. package/framework/commands/deshacer.md +120 -0
  15. package/framework/commands/estado.md +218 -0
  16. package/framework/commands/explica.md +227 -0
  17. package/framework/commands/feature.md +120 -0
  18. package/framework/commands/git.md +427 -0
  19. package/framework/commands/historial.md +202 -0
  20. package/framework/commands/learn.md +408 -0
  21. package/framework/commands/movil.md +245 -0
  22. package/framework/commands/nuevo.md +118 -0
  23. package/framework/commands/plan.md +134 -0
  24. package/framework/commands/prd.md +113 -0
  25. package/framework/commands/probar.md +148 -0
  26. package/framework/commands/revisar.md +208 -0
  27. package/framework/commands/seeds.md +230 -0
  28. package/framework/commands/seguridad.md +226 -0
  29. package/framework/commands/tasks.md +157 -0
  30. package/framework/skills/architecture/algorithms.md +970 -0
  31. package/framework/skills/architecture/clean-code.md +1080 -0
  32. package/framework/skills/architecture/design-patterns.md +1984 -0
  33. package/framework/skills/architecture/functional-programming.md +972 -0
  34. package/framework/skills/architecture/solid.md +991 -0
  35. package/framework/skills/cloud/cloud-aws.md +848 -0
  36. package/framework/skills/cloud/cloud-azure.md +931 -0
  37. package/framework/skills/cloud/cloud-gcp.md +848 -0
  38. package/framework/skills/cloud/message-queues.md +1229 -0
  39. package/framework/skills/core/accessibility.md +401 -0
  40. package/framework/skills/core/api.md +474 -0
  41. package/framework/skills/core/authentication.md +306 -0
  42. package/framework/skills/core/authorization.md +388 -0
  43. package/framework/skills/core/background-jobs.md +341 -0
  44. package/framework/skills/core/caching.md +473 -0
  45. package/framework/skills/core/code-review.md +341 -0
  46. package/framework/skills/core/controllers.md +290 -0
  47. package/framework/skills/core/cua.md +285 -0
  48. package/framework/skills/core/documentation.md +472 -0
  49. package/framework/skills/core/file-uploads.md +351 -0
  50. package/framework/skills/core/hotwire-native.md +296 -0
  51. package/framework/skills/core/hotwire.md +278 -0
  52. package/framework/skills/core/i18n.md +334 -0
  53. package/framework/skills/core/imports-exports.md +750 -0
  54. package/framework/skills/core/infrastructure.md +337 -0
  55. package/framework/skills/core/models.md +228 -0
  56. package/framework/skills/core/notifications.md +672 -0
  57. package/framework/skills/core/payments.md +581 -0
  58. package/framework/skills/core/performance.md +361 -0
  59. package/framework/skills/core/rails-scaffold.md +131 -0
  60. package/framework/skills/core/search.md +518 -0
  61. package/framework/skills/core/security.md +565 -0
  62. package/framework/skills/core/seeds.md +307 -0
  63. package/framework/skills/core/seo.md +542 -0
  64. package/framework/skills/core/testing.md +393 -0
  65. package/framework/skills/core/views.md +260 -0
  66. package/framework/skills/core/websockets.md +564 -0
  67. package/framework/skills/data/advanced-sql.md +1204 -0
  68. package/framework/skills/data/nosql.md +1141 -0
  69. package/framework/skills/devops/containers-advanced.md +1237 -0
  70. package/framework/skills/devops/debugging.md +834 -0
  71. package/framework/skills/devops/git-workflow.md +752 -0
  72. package/framework/skills/devops/networking.md +932 -0
  73. package/framework/skills/devops/shell-scripting.md +1132 -0
  74. package/framework/sub-agents/architecture-patterns-agent.md +1450 -0
  75. package/framework/sub-agents/cloud-agent.md +677 -0
  76. package/framework/sub-agents/data.md +504 -0
  77. package/framework/sub-agents/debugging-agent.md +554 -0
  78. package/framework/sub-agents/devops.md +483 -0
  79. package/framework/sub-agents/docs.md +176 -0
  80. package/framework/sub-agents/frontend-dev.md +349 -0
  81. package/framework/sub-agents/git-workflow-agent.md +697 -0
  82. package/framework/sub-agents/integrations.md +630 -0
  83. package/framework/sub-agents/native-dev.md +434 -0
  84. package/framework/sub-agents/qa.md +138 -0
  85. package/framework/sub-agents/rails-dev.md +375 -0
  86. package/framework/sub-agents/security.md +526 -0
  87. package/framework/sub-agents/ui.md +437 -0
  88. package/framework/sub-agents/ux.md +284 -0
  89. package/framework/templates/api-spec.md +500 -0
  90. package/framework/templates/component-spec.md +248 -0
  91. package/framework/templates/feature.json +13 -0
  92. package/framework/templates/model-spec.md +318 -0
  93. package/framework/templates/prd-template.md +80 -0
  94. package/framework/templates/task-plan.md +122 -0
  95. package/framework/templates/task-user-story.md +52 -0
  96. package/framework/templates/technical-spec.md +260 -0
  97. package/framework/templates/user-story.md +95 -0
  98. package/package.json +42 -0
  99. package/project-templates/CLAUDE.md +42 -0
  100. package/project-templates/contexts/architecture.md +25 -0
  101. package/project-templates/contexts/conventions.md +46 -0
  102. package/project-templates/contexts/design-system.md +47 -0
  103. package/project-templates/contexts/requirements.md +38 -0
  104. package/project-templates/contexts/stack.md +30 -0
  105. package/project-templates/history/active/models.md +11 -0
  106. package/project-templates/history/changelog.md +15 -0
  107. package/project-templates/workspace/.gitkeep +0 -0
  108. package/src/cli.js +52 -0
  109. package/src/init.js +104 -0
  110. package/src/status.js +75 -0
  111. package/src/update.js +88 -0
@@ -0,0 +1,120 @@
1
+ # Comando: /deshacer
2
+
3
+ Revierte el último cambio realizado en el proyecto.
4
+
5
+ ## Flujo de trabajo
6
+
7
+ ### Paso 1: Identificar el último cambio
8
+
9
+ 1. Lee `.claude/history/changelog.md`
10
+ 2. Identifica la entrada más reciente
11
+ 3. Muestra al usuario qué se va a deshacer:
12
+ ```
13
+ El último cambio fue:
14
+ - Fecha: [fecha]
15
+ - Descripción: [qué se hizo]
16
+ - Archivos afectados: [lista]
17
+
18
+ ¿Quieres deshacer este cambio?
19
+ ```
20
+
21
+ ### Paso 2: Confirmar con el usuario
22
+
23
+ **Importante**: Siempre pedir confirmación antes de deshacer.
24
+
25
+ Si el usuario confirma, continuar. Si no, preguntar qué cambio específico quiere deshacer.
26
+
27
+ ### Paso 3: Verificar disponibilidad de backup
28
+
29
+ 1. Buscar en `.claude/history/legacy/` si existe backup del estado anterior
30
+ 2. Si existe, usarlo para restaurar
31
+ 3. Si no existe, intentar revertir manualmente
32
+
33
+ ### Paso 4: Revertir el cambio
34
+
35
+ #### Si hay backup:
36
+ ```bash
37
+ # Restaurar archivos desde backup
38
+ cp -r .claude/history/legacy/[timestamp]/* [destino]
39
+ ```
40
+
41
+ #### Si es un cambio de código simple:
42
+ 1. Identificar los archivos modificados
43
+ 2. Revertir cada archivo a su estado anterior
44
+
45
+ #### Si es una migración de base de datos:
46
+ ```bash
47
+ # Revertir última migración
48
+ rails db:rollback
49
+
50
+ # Si son varias migraciones
51
+ rails db:rollback STEP=n
52
+ ```
53
+
54
+ ### Paso 5: Verificar
55
+
56
+ 1. Ejecutar tests: `bundle exec rspec`
57
+ 2. Verificar que la app funciona
58
+ 3. Confirmar visualmente si aplica
59
+
60
+ ### Paso 6: Actualizar historial
61
+
62
+ Añadir entrada en `.claude/history/changelog.md`:
63
+ ```markdown
64
+ ## [Fecha] - Revertido: [Descripción del cambio deshecho]
65
+
66
+ ### Motivo
67
+ [Por qué se deshizo - si el usuario lo especificó]
68
+
69
+ ### Estado restaurado
70
+ La aplicación ha vuelto al estado anterior a [descripción del cambio].
71
+ ```
72
+
73
+ ### Paso 7: Confirmar al usuario
74
+
75
+ ```
76
+ ✅ Cambio deshecho exitosamente.
77
+
78
+ Se ha revertido: [descripción]
79
+ La aplicación está ahora en el estado de [fecha/descripción del estado anterior].
80
+ ```
81
+
82
+ ## Casos especiales
83
+
84
+ ### Cambios que no se pueden deshacer fácilmente
85
+
86
+ Algunos cambios son difíciles de revertir:
87
+ - Eliminación de datos de la base de datos
88
+ - Cambios en archivos que luego fueron modificados de nuevo
89
+ - Múltiples cambios interdependientes
90
+
91
+ En estos casos:
92
+ 1. Explicar la situación al usuario
93
+ 2. Ofrecer alternativas:
94
+ - Crear una nueva versión que "arregle" el problema
95
+ - Restaurar desde un backup de base de datos si existe
96
+ - Recrear manualmente el estado anterior
97
+
98
+ ### Deshacer varios cambios
99
+
100
+ Si el usuario quiere deshacer más de un cambio:
101
+
102
+ 1. Mostrar lista de cambios recientes
103
+ 2. Preguntar cuántos quiere deshacer
104
+ 3. Advertir sobre posibles conflictos
105
+ 4. Proceder paso a paso, confirmando cada uno
106
+
107
+ ## Ejemplos de uso
108
+
109
+ - "Deshaz el último cambio"
110
+ - "Vuelve atrás"
111
+ - "Eso no me gusta, déjalo como estaba"
112
+ - "Revierte los cambios de hoy"
113
+
114
+ ## Notas importantes
115
+
116
+ - **Siempre confirmar** antes de deshacer
117
+ - Mantener el historial actualizado
118
+ - Si no hay backup, ser honesto sobre las limitaciones
119
+ - Para cambios de base de datos, verificar que no haya pérdida de datos
120
+ - Si el cambio afectó múltiples archivos, revertir todos juntos
@@ -0,0 +1,218 @@
1
+ # Comando: /estado
2
+
3
+ Muestra un resumen del estado actual del proyecto.
4
+
5
+ ## Flujo de trabajo
6
+
7
+ ### Paso 1: Recopilar información
8
+
9
+ Leer archivos de contexto:
10
+ - `.claude/contexts/requirements.md`
11
+ - `.claude/contexts/architecture.md`
12
+ - `.claude/history/changelog.md`
13
+ - `.claude/history/active/`
14
+
15
+ ### Paso 1b: Verificar Features (si existen)
16
+
17
+ Buscar en `features/*/feature.json`:
18
+
19
+ ```bash
20
+ ls features/*/feature.json 2>/dev/null
21
+ ```
22
+
23
+ Si hay features, incluir en el resumen:
24
+
25
+ ```markdown
26
+ ## Features Activos
27
+
28
+ | Feature | Estado | Progreso | Siguiente Acción |
29
+ |---------|--------|----------|------------------|
30
+ | {título} | {status} | {X}% | /plan {path} |
31
+
32
+ ### Detalle de Feature en Progreso
33
+ {Para cada feature con status in_progress}
34
+ - Tareas completadas: X/Y
35
+ - Tarea actual: {nombre}
36
+ - Próxima acción: {comando sugerido}
37
+ ```
38
+
39
+ ### Paso 2: Analizar el proyecto
40
+
41
+ ```bash
42
+ # Contar modelos
43
+ ls -la app/models/*.rb 2>/dev/null | wc -l
44
+
45
+ # Contar controladores
46
+ ls -la app/controllers/*.rb 2>/dev/null | wc -l
47
+
48
+ # Contar vistas
49
+ find app/views -name "*.erb" 2>/dev/null | wc -l
50
+
51
+ # Contar tests
52
+ find spec -name "*_spec.rb" 2>/dev/null | wc -l
53
+
54
+ # Verificar estado de tests
55
+ bundle exec rspec --format progress 2>/dev/null || echo "Tests no configurados"
56
+ ```
57
+
58
+ ### Paso 3: Generar resumen
59
+
60
+ ```markdown
61
+ # Estado del Proyecto: [Nombre]
62
+
63
+ ## Información General
64
+ - **Nombre**: [nombre del proyecto]
65
+ - **Creado**: [fecha de creación]
66
+ - **Última modificación**: [fecha]
67
+ - **Stack**: Rails 8.1 + SQLite3 + Tailwind + Hotwire
68
+
69
+ ## Estructura Actual
70
+
71
+ ### Modelos (X)
72
+ | Modelo | Campos principales | Relaciones |
73
+ |--------|-------------------|------------|
74
+ | User | email, name | has_many :articles |
75
+ | Article | title, body, published | belongs_to :user |
76
+
77
+ ### Controladores (X)
78
+ - `ApplicationController`
79
+ - `SessionsController`
80
+ - `ArticlesController`
81
+ - ...
82
+
83
+ ### Vistas (X páginas)
84
+ - Home
85
+ - Artículos (index, show, new, edit)
86
+ - Autenticación (login, registro)
87
+
88
+ ## Funcionalidades
89
+
90
+ ### ✅ Implementadas
91
+ - [x] Autenticación de usuarios
92
+ - [x] CRUD de artículos
93
+ - [x] Sistema de comentarios
94
+
95
+ ### 🔄 En progreso
96
+ - [ ] [Funcionalidad en desarrollo]
97
+
98
+ ### 📋 Pendientes
99
+ - [ ] [Funcionalidad planificada]
100
+ - [ ] [Otra funcionalidad]
101
+
102
+ ## Tests
103
+
104
+ | Tipo | Total | Pasando | Fallando |
105
+ |------|-------|---------|----------|
106
+ | Modelos | X | X | 0 |
107
+ | Controladores | X | X | 0 |
108
+ | Features | X | X | 0 |
109
+
110
+ **Cobertura estimada**: X%
111
+
112
+ ## Últimos Cambios
113
+
114
+ ### [Fecha más reciente]
115
+ - [Cambio 1]
116
+ - [Cambio 2]
117
+
118
+ ### [Fecha anterior]
119
+ - [Cambio 3]
120
+
121
+ ## Métricas del Proyecto
122
+
123
+ | Métrica | Valor |
124
+ |---------|-------|
125
+ | Archivos Ruby | X |
126
+ | Líneas de código | ~X |
127
+ | Migraciones | X |
128
+ | Rutas | X |
129
+
130
+ ## Dependencias Principales
131
+
132
+ ```ruby
133
+ # Gemfile highlights
134
+ rails (~> 8.1)
135
+ sqlite3
136
+ tailwindcss-rails
137
+ turbo-rails
138
+ stimulus-rails
139
+ pundit
140
+ ```
141
+
142
+ ## Próximos Pasos Sugeridos
143
+
144
+ 1. [Sugerencia basada en el estado actual]
145
+ 2. [Otra sugerencia]
146
+ 3. [Tercera sugerencia]
147
+
148
+ ## Comandos Útiles
149
+
150
+ ```bash
151
+ # Iniciar servidor
152
+ bin/dev
153
+
154
+ # Correr tests
155
+ bundle exec rspec
156
+
157
+ # Consola de Rails
158
+ rails console
159
+
160
+ # Ver rutas
161
+ rails routes
162
+ ```
163
+ ```
164
+
165
+ ### Paso 4: Mostrar al usuario
166
+
167
+ Presentar el resumen de forma amigable:
168
+
169
+ 1. Estado general (todo bien / hay problemas)
170
+ 2. Lo que está funcionando
171
+ 3. Lo que falta por hacer
172
+ 4. Recomendaciones
173
+
174
+ ## Variantes del comando
175
+
176
+ ### `/estado breve`
177
+ Muestra solo un resumen corto:
178
+ ```
179
+ 📊 Proyecto: [Nombre]
180
+ ✅ 5 modelos, 8 controladores, 15 vistas
181
+ 🧪 45 tests pasando
182
+ 📝 Última modificación: hace 2 horas
183
+ ```
184
+
185
+ ### `/estado modelos`
186
+ Muestra detalle de los modelos y sus relaciones.
187
+
188
+ ### `/estado tests`
189
+ Muestra estado detallado de los tests.
190
+
191
+ ### `/estado cambios`
192
+ Muestra los últimos cambios realizados.
193
+
194
+ ## Información adicional
195
+
196
+ ### Si hay problemas
197
+ ```
198
+ ⚠️ Se detectaron algunos problemas:
199
+ - 3 tests fallando
200
+ - 1 migración pendiente
201
+
202
+ ¿Quieres que los arregle?
203
+ ```
204
+
205
+ ### Si todo está bien
206
+ ```
207
+ ✅ Todo en orden
208
+ - Tests pasando
209
+ - Sin migraciones pendientes
210
+ - Sin errores detectados
211
+ ```
212
+
213
+ ## Notas importantes
214
+
215
+ - Mantener actualizado el archivo de requirements
216
+ - Actualizar changelog con cada cambio
217
+ - Si falta información, sugerir crearla
218
+ - Usar lenguaje sencillo y visual (emojis para estado)
@@ -0,0 +1,227 @@
1
+ # Comando: /explica
2
+
3
+ Explica cualquier concepto técnico en lenguaje sencillo.
4
+
5
+ ## Flujo de trabajo
6
+
7
+ ### Paso 1: Identificar qué explicar
8
+
9
+ El usuario puede preguntar sobre:
10
+ - Conceptos técnicos ("¿qué es una migración?")
11
+ - Código específico ("explícame este archivo")
12
+ - Arquitectura ("¿cómo funciona el sistema de usuarios?")
13
+ - Errores ("¿qué significa este error?")
14
+ - Decisiones ("¿por qué usamos SQLite?")
15
+
16
+ ### Paso 2: Adaptar la explicación
17
+
18
+ Usar analogías del mundo real y evitar jerga técnica:
19
+
20
+ #### Ejemplo: Explicar una base de datos
21
+ ```
22
+ ❌ Técnico:
23
+ "SQLite es un sistema de gestión de bases de datos relacional
24
+ que implementa un motor SQL autónomo, sin servidor, de
25
+ configuración cero y transaccional."
26
+
27
+ ✅ Sencillo:
28
+ "La base de datos es como un archivador muy organizado donde
29
+ guardamos toda la información de tu app.
30
+
31
+ Imagina que tienes:
32
+ - Una carpeta para usuarios
33
+ - Una carpeta para artículos
34
+ - Una carpeta para comentarios
35
+
36
+ Cada carpeta tiene fichas ordenadas, y podemos encontrar
37
+ cualquier información rápidamente. SQLite es el encargado
38
+ de mantener todo esto ordenado."
39
+ ```
40
+
41
+ ### Paso 3: Estructurar la respuesta
42
+
43
+ ```markdown
44
+ ## [Concepto]
45
+
46
+ ### ¿Qué es?
47
+ [Explicación en una o dos frases simples]
48
+
49
+ ### ¿Para qué sirve?
50
+ [Propósito práctico]
51
+
52
+ ### Analogía
53
+ [Comparación con algo cotidiano]
54
+
55
+ ### En tu proyecto
56
+ [Cómo se usa específicamente en este proyecto]
57
+
58
+ ### Ejemplo práctico
59
+ [Código o demostración simple si aplica]
60
+ ```
61
+
62
+ ## Explicaciones comunes
63
+
64
+ ### MVC (Model-View-Controller)
65
+ ```markdown
66
+ ## MVC - Cómo se organiza tu app
67
+
68
+ ### ¿Qué es?
69
+ Es una forma de organizar el código en tres partes separadas.
70
+
71
+ ### Analogía: Un restaurante
72
+ - **Modelo (Cocina)**: Donde se prepara la comida (los datos)
73
+ - **Vista (Mesa)**: Lo que ve el cliente (las páginas web)
74
+ - **Controlador (Mesero)**: Conecta pedidos con cocina (la lógica)
75
+
76
+ ### En tu proyecto
77
+ ```
78
+ app/
79
+ ├── models/ ← Los datos (User, Article)
80
+ ├── views/ ← Las páginas HTML
81
+ └── controllers/ ← La lógica que conecta todo
82
+ ```
83
+
84
+ Cuando alguien visita /articles:
85
+ 1. El controlador recibe la visita
86
+ 2. Pide los artículos al modelo
87
+ 3. Los envía a la vista para mostrarlos
88
+ ```
89
+
90
+ ### Migraciones
91
+ ```markdown
92
+ ## Migraciones - Cambios en la base de datos
93
+
94
+ ### ¿Qué es?
95
+ Son instrucciones para modificar la estructura de tu base de datos.
96
+
97
+ ### Analogía: Reformas en una casa
98
+ Imagina que tu base de datos es una casa:
99
+ - Añadir un campo = añadir un enchufe
100
+ - Crear una tabla = construir una habitación nueva
101
+ - Una migración = el plano de la reforma
102
+
103
+ Las migraciones guardan el historial de todos los cambios,
104
+ así que siempre puedes ver qué modificaciones se hicieron.
105
+
106
+ ### Ejemplo
107
+ ```ruby
108
+ # "Añadir columna 'avatar' a la tabla 'users'"
109
+ add_column :users, :avatar, :string
110
+ ```
111
+ ```
112
+
113
+ ### Rutas
114
+ ```markdown
115
+ ## Rutas - Las direcciones de tu app
116
+
117
+ ### ¿Qué es?
118
+ Las rutas conectan las URLs con el código que debe ejecutarse.
119
+
120
+ ### Analogía: Recepción de un edificio
121
+ Cuando alguien llega y dice "quiero ir a contabilidad",
122
+ el recepcionista le indica el piso y oficina correctos.
123
+
124
+ Las rutas hacen lo mismo:
125
+ - Alguien visita `/articles`
126
+ - Rails lo envía al controlador de artículos
127
+ - Se muestra la lista de artículos
128
+
129
+ ### En tu proyecto
130
+ ```ruby
131
+ # config/routes.rb
132
+ resources :articles
133
+ # Esto crea automáticamente:
134
+ # GET /articles → ver todos
135
+ # GET /articles/1 → ver uno
136
+ # GET /articles/new → formulario nuevo
137
+ # POST /articles → crear
138
+ # GET /articles/1/edit → formulario editar
139
+ # PATCH /articles/1 → actualizar
140
+ # DELETE /articles/1 → borrar
141
+ ```
142
+ ```
143
+
144
+ ### Hotwire
145
+ ```markdown
146
+ ## Hotwire - Páginas rápidas sin JavaScript complejo
147
+
148
+ ### ¿Qué es?
149
+ Una forma de hacer páginas web rápidas y dinámicas sin escribir
150
+ mucho JavaScript.
151
+
152
+ ### Analogía: Remodelación vs Reconstrucción
153
+ Sin Hotwire: Cada vez que haces clic, se derriba toda la casa
154
+ y se construye de nuevo (la página se recarga completamente).
155
+
156
+ Con Hotwire: Solo se cambia la habitación que necesita cambios
157
+ (se actualiza solo una parte de la página).
158
+
159
+ ### Componentes
160
+ - **Turbo Drive**: Hace clics más rápidos automáticamente
161
+ - **Turbo Frames**: Actualiza solo partes de la página
162
+ - **Turbo Streams**: Actualiza varias partes a la vez
163
+ - **Stimulus**: JavaScript simple para interacciones
164
+
165
+ ### Ejemplo
166
+ Cuando añades un comentario, solo aparece el comentario nuevo
167
+ sin recargar toda la página.
168
+ ```
169
+
170
+ ## Variantes del comando
171
+
172
+ ### `/explica [concepto]`
173
+ Explica un concepto técnico general.
174
+
175
+ ### `/explica [archivo]`
176
+ Explica qué hace un archivo específico.
177
+
178
+ ### `/explica [error]`
179
+ Explica qué significa un mensaje de error.
180
+
181
+ ### `/explica arquitectura`
182
+ Explica cómo está organizado el proyecto.
183
+
184
+ ## Formato de respuesta
185
+
186
+ Para errores:
187
+ ```markdown
188
+ ## Error: [mensaje de error]
189
+
190
+ ### ¿Qué significa?
191
+ [Explicación en lenguaje sencillo]
192
+
193
+ ### ¿Por qué ocurre?
194
+ [Causa común]
195
+
196
+ ### ¿Cómo solucionarlo?
197
+ [Pasos para arreglarlo]
198
+ ```
199
+
200
+ Para código:
201
+ ```markdown
202
+ ## Este código hace...
203
+
204
+ ### Resumen
205
+ [Una frase explicando el propósito]
206
+
207
+ ### Línea por línea
208
+ ```ruby
209
+ # Esta línea busca al usuario por su email
210
+ user = User.find_by(email: params[:email])
211
+
212
+ # Esta comprueba si la contraseña es correcta
213
+ if user&.authenticate(params[:password])
214
+ ```
215
+
216
+ ### En contexto
217
+ [Cómo encaja en el resto de la aplicación]
218
+ ```
219
+
220
+ ## Notas importantes
221
+
222
+ - Siempre usar lenguaje sencillo
223
+ - Incluir analogías del mundo real
224
+ - Evitar acrónimos sin explicarlos
225
+ - Si algo es complejo, dividirlo en partes
226
+ - Usar ejemplos concretos del proyecto
227
+ - Preguntar si la explicación fue clara
@@ -0,0 +1,120 @@
1
+ # Comando: /feature
2
+
3
+ Gestiona features del proyecto: crea nuevos, lista existentes, o detecta automáticamente el trabajo pendiente.
4
+
5
+ ## Argumentos
6
+ - `description` (opcional): Descripción del feature a crear
7
+
8
+ ## Comportamiento
9
+
10
+ ### Sin argumentos: Listar y Recomendar
11
+
12
+ 1. Buscar `features/*/feature.json`
13
+ 2. Mostrar cada feature con: ID, título, estado, progreso, lista de tareas
14
+ 3. **Detectar siguiente acción** para features en progreso:
15
+
16
+ | Estado de Tarea | Siguiente Comando |
17
+ |-----------------|-------------------|
18
+ | `defined` | `/plan {task_path}` |
19
+ | `planned` | `/code {task_path}` |
20
+ | `in_progress` | `/code {task_path}` |
21
+
22
+ Buscar la primera tarea no completada (ordenadas por priority) y recomendar el comando apropiado.
23
+
24
+ **Ejemplo de salida:**
25
+ ```
26
+ FEATURES DEL PROYECTO
27
+ =====================
28
+
29
+ ID: 2025-12-19-175523-crm-rails
30
+ Título: CRM con Rails y Tailwind
31
+ Estado: in_progress
32
+ Progreso: [███████░░░░░░░░░] 43% (3/7 tareas)
33
+
34
+ Tareas:
35
+ ✓ 001 - Setup del Proyecto
36
+ ✓ 002 - CRUD de Empresas
37
+ ✓ 003 - CRUD de Contactos
38
+ ○ 004 - CRUD de Oportunidades (planned) ← PRIMERA PENDIENTE
39
+ ○ 005 - Dashboard con Métricas (defined)
40
+ ○ 006 - Búsqueda (defined)
41
+ ○ 007 - Vista Pipeline (defined)
42
+
43
+ ═══════════════════════════════════════════════════════════════
44
+ SIGUIENTE ACCIÓN:
45
+
46
+ /code features/.../tasks/004-crud-oportunidades
47
+ ═══════════════════════════════════════════════════════════════
48
+ ```
49
+
50
+ **Si no hay features:**
51
+ ```
52
+ No hay features creados todavía.
53
+
54
+ Para crear uno nuevo:
55
+ /feature "Descripción de lo que quieres construir..."
56
+ ```
57
+
58
+ ### Con descripción: Crear Feature
59
+
60
+ 1. **Verificar solapamiento** con features existentes (revisar títulos, descripciones, PRDs)
61
+ - Si hay solapamiento potencial, alertar y pedir confirmación
62
+ 2. **Generar ID**: `{YYYY-MM-DD-hhmmss}-{slug}`
63
+ - Slug: palabras clave, lowercase, sin acentos, guiones, max 30 chars
64
+ 3. **Crear estructura**:
65
+ ```
66
+ features/{id}/
67
+ features/{id}/feature.json
68
+ ```
69
+ 4. **Crear feature.json** usando template de `.claude/templates/feature.json`:
70
+ ```json
71
+ {
72
+ "version": "1.0",
73
+ "id": "{id}",
74
+ "title": "{título inferido}",
75
+ "description": "{descripción}",
76
+ "original_request": "{texto exacto del usuario}",
77
+ "created_at": "{ISO timestamp}",
78
+ "updated_at": "{ISO timestamp}",
79
+ "status": "created",
80
+ "progress": 0,
81
+ "current_phase": "initial",
82
+ "tasks": []
83
+ }
84
+ ```
85
+
86
+ **IMPORTANTE:** El campo `original_request` debe contener el texto EXACTO que el usuario proporcionó, sin modificaciones.
87
+
88
+ 5. **Validar** que se creó correctamente
89
+ 6. **Actualizar** `.claude/history/changelog.md`
90
+
91
+ ## Report de Creación
92
+
93
+ ```
94
+ Feature creado exitosamente!
95
+
96
+ ## Metadata
97
+ id: `{id}`
98
+ created_at: `{timestamp}`
99
+
100
+ ## Detalles
101
+ Título: {título}
102
+ Ubicación: features/{id}/
103
+
104
+ ## Request Original
105
+ > {original_request}
106
+
107
+ ## Análisis de Solapamiento
108
+ Features revisados: {N}
109
+ Solapamientos detectados: {M}
110
+ {lista de solapamientos si hay}
111
+
112
+ ## Siguiente Paso
113
+ /prd {id}
114
+ ```
115
+
116
+ ## Notas importantes
117
+
118
+ - Siempre mostrar el siguiente paso recomendado
119
+ - Mantener el historial actualizado
120
+ - Detectar y alertar sobre solapamientos antes de crear