specleap-framework 2.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.
- package/.agents/backend.md +419 -0
- package/.agents/frontend.md +577 -0
- package/.agents/producto.md +516 -0
- package/.commands/adoptar.md +323 -0
- package/.commands/ayuda.md +142 -0
- package/.commands/crear-tickets.md +55 -0
- package/.commands/documentar.md +285 -0
- package/.commands/explicar.md +234 -0
- package/.commands/implementar.md +383 -0
- package/.commands/inicio.md +824 -0
- package/.commands/nuevo/README.md +292 -0
- package/.commands/nuevo/questions-base.yaml +320 -0
- package/.commands/nuevo/responses-example.yaml +53 -0
- package/.commands/planificar.md +253 -0
- package/.commands/refinar.md +306 -0
- package/LICENSE +21 -0
- package/README.md +603 -0
- package/SETUP.md +351 -0
- package/install.sh +152 -0
- package/package.json +60 -0
- package/proyectos/_template/.gitkeep +1 -0
- package/proyectos/_template/ANEXOS.md +21 -0
- package/proyectos/_template/CONTRATO.md +26 -0
- package/proyectos/_template/context/.gitkeep +1 -0
- package/rules/development-rules.md +113 -0
- package/rules/environment-protection.md +97 -0
- package/rules/git-workflow.md +142 -0
- package/rules/session-protocol.md +121 -0
- package/scripts/README.md +129 -0
- package/scripts/analyze-project.sh +826 -0
- package/scripts/create-asana-tasks.sh +133 -0
- package/scripts/detect-project-type.sh +141 -0
- package/scripts/estimate-effort.sh +290 -0
- package/scripts/generate-asana-structure.sh +262 -0
- package/scripts/generate-contract.sh +360 -0
- package/scripts/generate-contrato.sh +555 -0
- package/scripts/install-git-hooks.sh +141 -0
- package/scripts/install-skills.sh +130 -0
- package/scripts/lib/asana-utils.sh +191 -0
- package/scripts/lib/jira-project-utils.sh +222 -0
- package/scripts/lib/questions.json +831 -0
- package/scripts/lib/render-contrato.py +195 -0
- package/scripts/lib/validate.sh +325 -0
- package/scripts/parse-contrato.sh +190 -0
- package/scripts/setup-mcp.sh +654 -0
- package/scripts/test-cuestionario.sh +428 -0
- package/setup.sh +458 -0
package/README.md
ADDED
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
# 🏛️ SpecLeap — Spec-Driven Development Framework
|
|
2
|
+
|
|
3
|
+
> **Forja tu arquitectura de software con IA.**
|
|
4
|
+
|
|
5
|
+
Un framework de desarrollo que combina contratos inmutables, agentes conversacionales y standards de código para entregar software de calidad sin improvisación.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🎯 ¿Qué es SpecLeap?
|
|
10
|
+
|
|
11
|
+
SpecLeap transforma cualquier IDE con asistente de IA en una máquina de desarrollo **spec-first**:
|
|
12
|
+
|
|
13
|
+
- 📋 **CONTRATO.md inmutable** — Define alcance y nunca cambia
|
|
14
|
+
- 🤖 **Agentes especializados** — Backend, Frontend, Producto
|
|
15
|
+
- 💬 **Comandos en español** — `refinar`, `planificar`, `implementar`
|
|
16
|
+
- 📦 **Multi-proyecto** — Cada proyecto independiente con su contrato
|
|
17
|
+
- 📚 **Standards globales** — Laravel, React, documentación
|
|
18
|
+
- 🔧 **CLI opcional** — `openspec` para automatización
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 💡 El Problema que Resuelve
|
|
23
|
+
|
|
24
|
+
❌ **Sin SpecLeap:**
|
|
25
|
+
- La IA improvisa código sin contexto
|
|
26
|
+
- Specs incompletas → implementación incorrecta
|
|
27
|
+
- Sin memoria → repite errores
|
|
28
|
+
- Cambios de scope sin control
|
|
29
|
+
|
|
30
|
+
✅ **Con SpecLeap:**
|
|
31
|
+
- CONTRATO define alcance inmutable
|
|
32
|
+
- Context/ guarda decisiones arquitectónicas
|
|
33
|
+
- Agentes especializados siguen standards
|
|
34
|
+
- Comandos conversacionales guían el flujo
|
|
35
|
+
- Memoria persistente por proyecto
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 🚀 Instalación
|
|
40
|
+
|
|
41
|
+
### Opción 1: Instalación desde npm (Recomendado)
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx specleap-framework@latest
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Instalador interactivo que pide todos los tokens:**
|
|
48
|
+
- ✅ GitHub token (control versiones + CodeRabbit)
|
|
49
|
+
- ✅ Asana token + workspace (backlog automático)
|
|
50
|
+
- ✅ Instala 20 Agent Skills automáticamente
|
|
51
|
+
- ✅ Configura CodeRabbit (.coderabbit.yaml)
|
|
52
|
+
- ✅ Crea estructura completa
|
|
53
|
+
- ⏱️ **Tiempo total: 10-15 minutos**
|
|
54
|
+
|
|
55
|
+
### Opción 2: Clonar desde GitHub
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
git clone https://github.com/iapanderson/specleap-framework.git
|
|
59
|
+
cd specleap-framework/
|
|
60
|
+
bash setup.sh
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Mismo instalador interactivo. La diferencia es solo el método de descarga.**
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 📋 Tokens Necesarios (se piden durante instalación)
|
|
68
|
+
|
|
69
|
+
### GitHub Token (Obligatorio)
|
|
70
|
+
|
|
71
|
+
**Cómo obtener los tokens:**
|
|
72
|
+
|
|
73
|
+
1. **GitHub Token:**
|
|
74
|
+
- Ve a https://github.com/settings/tokens
|
|
75
|
+
- "Generate new token (classic)"
|
|
76
|
+
- Scopes: `repo`, `workflow`
|
|
77
|
+
|
|
78
|
+
2. **Asana Token:**
|
|
79
|
+
- Ve a https://app.asana.com/0/my-apps
|
|
80
|
+
- "Create new token"
|
|
81
|
+
- Nombre: "SpecLeap Integration"
|
|
82
|
+
- Copia el token (empieza con `0/`)
|
|
83
|
+
|
|
84
|
+
**El instalador te pedirá estos tokens y configurará todo automáticamente.**
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## ⭐ Agent Skills — Lo Que Hace la Diferencia
|
|
89
|
+
|
|
90
|
+
SpecLeap incluye **20 skills especializadas** que transforman la calidad del código:
|
|
91
|
+
|
|
92
|
+
### Sin Skills vs Con Skills
|
|
93
|
+
|
|
94
|
+
| Aspecto | Sin Skills | Con Skills TIER 1 |
|
|
95
|
+
|---------|-----------|-------------------|
|
|
96
|
+
| **Diseño** | Bootstrap genérico | Estilo Vercel/Linear profesional |
|
|
97
|
+
| **Seguridad** | Vulnerabilidades básicas | OWASP Top 10 + STRIDE threat modeling |
|
|
98
|
+
| **Código** | Duplicación frecuente | DRY automático, verifica antes de crear |
|
|
99
|
+
| **APIs** | Diseño inconsistente | REST/GraphQL best practices |
|
|
100
|
+
| **Tests** | Coverage <60% | TDD methodology, coverage >=90% |
|
|
101
|
+
|
|
102
|
+
### TIER 1 (20 Skills Esenciales)
|
|
103
|
+
|
|
104
|
+
#### 🔒 Seguridad (5)
|
|
105
|
+
- SAST configuration
|
|
106
|
+
- STRIDE threat modeling
|
|
107
|
+
- Security requirement extraction
|
|
108
|
+
- Backend/API security
|
|
109
|
+
- Frontend/Mobile security
|
|
110
|
+
|
|
111
|
+
#### 🔄 Consistencia (3)
|
|
112
|
+
- **Verification-before-completion** ⭐ **CRÍTICO**
|
|
113
|
+
- Code review excellence
|
|
114
|
+
- Systematic debugging
|
|
115
|
+
|
|
116
|
+
#### 🎨 Diseño/Frontend (6)
|
|
117
|
+
- Web design guidelines (Vercel)
|
|
118
|
+
- Frontend design (Anthropic)
|
|
119
|
+
- UI/UX pro max
|
|
120
|
+
- Tailwind design system
|
|
121
|
+
- shadcn/ui components
|
|
122
|
+
- Responsive design
|
|
123
|
+
|
|
124
|
+
#### 🛠️ Backend/Dev (6)
|
|
125
|
+
- Laravel specialist
|
|
126
|
+
- React best practices
|
|
127
|
+
- Test-driven development
|
|
128
|
+
- API design principles
|
|
129
|
+
- PostgreSQL table design
|
|
130
|
+
- Error handling patterns
|
|
131
|
+
|
|
132
|
+
**Instalación:** Automática con `setup-mcp.sh` o manual — [Ver SETUP.md](SETUP.md)
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 🎯 Cuestionario Interactivo — De Idea a CONTRATO en 20 Minutos
|
|
137
|
+
|
|
138
|
+
**Nuevo en SpecLeap:** Sistema de 58 preguntas que genera tu CONTRATO.md automáticamente.
|
|
139
|
+
|
|
140
|
+
### ¿Cómo Funciona?
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Ejecuta el cuestionario
|
|
144
|
+
./scripts/generate-contrato.sh
|
|
145
|
+
|
|
146
|
+
# Te hace 58 preguntas sobre tu proyecto
|
|
147
|
+
# Guarda progreso cada 10 preguntas (puedes interrumpir)
|
|
148
|
+
# Genera CONTRATO.md completo con YAML frontmatter
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Lo Que Obtienes
|
|
152
|
+
|
|
153
|
+
✅ **CONTRATO.md completo** con:
|
|
154
|
+
- Información del proyecto (nombre, responsable, fecha)
|
|
155
|
+
- Identidad (objetivo, problema que resuelve, público objetivo)
|
|
156
|
+
- Stack tecnológico (backend, frontend, base de datos, DevOps)
|
|
157
|
+
- Funcionalidades core y secundarias
|
|
158
|
+
- Sistema de usuarios (roles, autenticación, permisos)
|
|
159
|
+
- Diseño (colores, estilo visual, responsive)
|
|
160
|
+
- Arquitectura (patrón, separación)
|
|
161
|
+
- Seguridad (nivel, GDPR, datos sensibles)
|
|
162
|
+
- Rendimiento (targets de carga, usuarios concurrentes)
|
|
163
|
+
- Testing (unit, integration, e2e, coverage)
|
|
164
|
+
- Restricciones (plazo, presupuesto, fuera de alcance)
|
|
165
|
+
|
|
166
|
+
✅ **Validaciones inteligentes:**
|
|
167
|
+
- Tipos de datos (string, select, boolean, number, array)
|
|
168
|
+
- Rangos y longitudes
|
|
169
|
+
- Patterns regex (slug, hexcolor, etc.)
|
|
170
|
+
- Skip condicional (si no tiene auth, no pregunta métodos)
|
|
171
|
+
- Auto-sugerencias (si eliges Laravel, sugiere PHP 8.3)
|
|
172
|
+
|
|
173
|
+
✅ **Guardado parcial:**
|
|
174
|
+
- Checkpoint cada 10 preguntas
|
|
175
|
+
- Puedes interrumpir y continuar después
|
|
176
|
+
- Detecta sesiones incompletas automáticamente
|
|
177
|
+
|
|
178
|
+
✅ **Integración Asana:**
|
|
179
|
+
- Genera backlog (secciones + user tareas)
|
|
180
|
+
- Preview visual antes de crear
|
|
181
|
+
- Confirmación manual
|
|
182
|
+
- Actualiza CONTRATO.md con metadata Asana
|
|
183
|
+
|
|
184
|
+
### Workflow Completo
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
1. Ejecuta cuestionario (20 min)
|
|
188
|
+
↓
|
|
189
|
+
2. Responde 58 preguntas
|
|
190
|
+
↓
|
|
191
|
+
3. CONTRATO.md generado automáticamente
|
|
192
|
+
↓
|
|
193
|
+
4. Push a GitHub (OBLIGATORIO — control de versiones)
|
|
194
|
+
↓
|
|
195
|
+
5. planificar → crea backlog Asana
|
|
196
|
+
↓
|
|
197
|
+
6. implementar → desarrolla según spec
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**⚠️ IMPORTANTE:** El CONTRATO.md DEBE guardarse en GitHub. Es la fuente de verdad del proyecto y debe estar versionado junto con el código.
|
|
201
|
+
|
|
202
|
+
### Ejemplo de Uso
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
$ cd specleap
|
|
206
|
+
$ ./scripts/generate-contrato.sh
|
|
207
|
+
|
|
208
|
+
🎯 SpecLeap — Generador de CONTRATO.md
|
|
209
|
+
════════════════════════════════════════
|
|
210
|
+
|
|
211
|
+
⏱️ Tiempo estimado: 15-20 minutos
|
|
212
|
+
💾 Guardado automático cada 10 preguntas
|
|
213
|
+
🔄 Puedes interrumpir con Ctrl+C
|
|
214
|
+
|
|
215
|
+
¿Listo para comenzar? [s/N]: s
|
|
216
|
+
|
|
217
|
+
━━━ Información del Proyecto ━━━
|
|
218
|
+
|
|
219
|
+
Pregunta 1/56: ¿Nombre del proyecto? (slug-style)
|
|
220
|
+
💡 Usa solo minúsculas, números y guiones
|
|
221
|
+
📝 Ejemplo: mi-proyecto
|
|
222
|
+
> mi-tienda-online
|
|
223
|
+
|
|
224
|
+
Pregunta 2/56: ¿Nombre completo para mostrar?
|
|
225
|
+
💡 Puede tener mayúsculas, espacios
|
|
226
|
+
📝 Ejemplo: Mi Proyecto Awesome
|
|
227
|
+
> Mi Tienda Online
|
|
228
|
+
|
|
229
|
+
... (54 preguntas más)
|
|
230
|
+
|
|
231
|
+
✅ ¡Cuestionario completado! 🎉
|
|
232
|
+
|
|
233
|
+
━━━ Generando CONTRATO.md ━━━
|
|
234
|
+
|
|
235
|
+
✅ CONTRATO.md generado exitosamente
|
|
236
|
+
📄 Ubicación: proyectos/mi-tienda-online/CONTRATO.md
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Más información:** Ver [docs/SPEC-CUESTIONARIO-INTERACTIVO.md](docs/SPEC-CUESTIONARIO-INTERACTIVO.md)
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 📦 Estructura del Framework
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
specleap/
|
|
247
|
+
├── proyectos/ # Proyectos independientes
|
|
248
|
+
│ ├── _template/ # Template para nuevos proyectos
|
|
249
|
+
│ │ ├── CONTRATO.md # 🔒 Contrato inmutable
|
|
250
|
+
│ │ ├── ANEXOS.md # ✏️ Mejoras/módulos adicionales
|
|
251
|
+
│ │ ├── context/ # Memory-bank del proyecto
|
|
252
|
+
│ │ │ ├── brief.md
|
|
253
|
+
│ │ │ ├── architecture.md
|
|
254
|
+
│ │ │ ├── tech-stack.md
|
|
255
|
+
│ │ │ ├── conventions.md
|
|
256
|
+
│ │ │ ├── decisions.md
|
|
257
|
+
│ │ │ ├── personas.md
|
|
258
|
+
│ │ │ └── user-stories.md
|
|
259
|
+
│ │ └── openspec/ # CLI state (propuestas)
|
|
260
|
+
│ │ └── proposals/
|
|
261
|
+
│ └── mi-proyecto/ # Tu proyecto activo
|
|
262
|
+
│ └── [misma estructura]
|
|
263
|
+
├── .agents/ # Agentes especializados
|
|
264
|
+
│ ├── backend.md
|
|
265
|
+
│ ├── frontend.md
|
|
266
|
+
│ └── producto.md
|
|
267
|
+
├── .commands/ # Comandos conversacionales
|
|
268
|
+
│ ├── inicio.md # Cuestionario 58 preguntas
|
|
269
|
+
│ ├── refinar.md
|
|
270
|
+
│ ├── planificar.md
|
|
271
|
+
│ ├── implementar.md
|
|
272
|
+
│ ├── documentar.md
|
|
273
|
+
│ ├── explicar.md
|
|
274
|
+
│ └── adoptar.md
|
|
275
|
+
├── rules/ # Standards globales
|
|
276
|
+
│ ├── PHP-LARAVEL.md
|
|
277
|
+
│ ├── JAVASCRIPT-REACT.md
|
|
278
|
+
│ ├── CSS-TAILWIND.md
|
|
279
|
+
│ └── DOCS.md
|
|
280
|
+
├── scripts/ # Automatización
|
|
281
|
+
│ ├── generate-contrato.sh # Cuestionario interactivo ⭐
|
|
282
|
+
│ ├── generate-jira-structure.sh
|
|
283
|
+
│ ├── analyze-project.sh
|
|
284
|
+
│ ├── setup-mcp.sh # Install Asana + Skills
|
|
285
|
+
│ └── install-skills.sh # Agent Skills installer
|
|
286
|
+
├── openspec/ # CLI (opcional)
|
|
287
|
+
│ ├── bin/openspec
|
|
288
|
+
│ └── src/
|
|
289
|
+
├── CLAUDE.md # Reglas generales para IA
|
|
290
|
+
├── AGENTS.md # Orquestación de agentes
|
|
291
|
+
└── SETUP.md # Guía completa de setup
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 🎮 Comandos Conversacionales
|
|
297
|
+
|
|
298
|
+
Habla con Claude/Cursor/Continue usando comandos en español:
|
|
299
|
+
|
|
300
|
+
### Para Nuevos Proyectos
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
Hola
|
|
304
|
+
→ Inicia cuestionario de 58 preguntas
|
|
305
|
+
→ Genera CONTRATO.md completo automáticamente
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Para Proyectos Existentes
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
refinar "añadir sistema de notificaciones push"
|
|
312
|
+
→ Analiza viabilidad
|
|
313
|
+
→ Genera propuesta de cambio
|
|
314
|
+
→ Actualiza context/
|
|
315
|
+
|
|
316
|
+
planificar
|
|
317
|
+
→ Lee CONTRATO.md
|
|
318
|
+
→ Genera backlog Asana
|
|
319
|
+
→ Crea secciones + user stories
|
|
320
|
+
|
|
321
|
+
implementar "login con google"
|
|
322
|
+
→ Verifica si está en CONTRATO
|
|
323
|
+
→ Lee context/ para contexto
|
|
324
|
+
→ Genera código siguiendo standards
|
|
325
|
+
|
|
326
|
+
documentar "api de usuarios"
|
|
327
|
+
→ Genera docs API (OpenAPI/Swagger)
|
|
328
|
+
→ Actualiza README técnico
|
|
329
|
+
|
|
330
|
+
explicar "arquitectura del sistema"
|
|
331
|
+
→ Genera diagrama + explicación
|
|
332
|
+
→ Basado en context/architecture.md
|
|
333
|
+
|
|
334
|
+
adoptar
|
|
335
|
+
→ Analiza proyecto existente
|
|
336
|
+
→ Genera CONTRATO retroactivo
|
|
337
|
+
→ Extrae arquitectura y decisiones
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Detalle completo:** Ver [docs/COMANDOS.md](docs/COMANDOS.md)
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 🤔 Dos Formas de Trabajar: Conversacional vs CLI Formal
|
|
345
|
+
|
|
346
|
+
SpecLeap ofrece **dos workflows** que conviven perfectamente según tus necesidades:
|
|
347
|
+
|
|
348
|
+
### 🗣️ **Modo Conversacional** (Recomendado para empezar)
|
|
349
|
+
|
|
350
|
+
**Usa comandos en chat** con tu asistente IA (Claude, Copilot, etc.):
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
# Ver todos los comandos disponibles
|
|
354
|
+
ayuda
|
|
355
|
+
|
|
356
|
+
# Comandos principales
|
|
357
|
+
refinar "Como usuario quiero login"
|
|
358
|
+
planificar
|
|
359
|
+
implementar
|
|
360
|
+
documentar
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Cuándo usarlo:**
|
|
364
|
+
- ✅ Equipos pequeños (1-3 devs) o desarrollo individual
|
|
365
|
+
- ✅ Prefieres chat natural vs terminal
|
|
366
|
+
- ✅ Desarrollo ágil y rápido
|
|
367
|
+
- ✅ Proyectos personales o startups
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
### ⚙️ **Modo CLI Formal** (OpenSpec)
|
|
372
|
+
|
|
373
|
+
**Usa comandos de terminal** para workflow estructurado:
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
# Ver todos los comandos CLI
|
|
377
|
+
openspec --help
|
|
378
|
+
|
|
379
|
+
# Workflow completo con propuestas formales
|
|
380
|
+
openspec new CHANGE-001 "Añadir autenticación JWT"
|
|
381
|
+
openspec ff CHANGE-001 # Fast-forward: genera propuesta completa
|
|
382
|
+
openspec apply CHANGE-001 # Implementa
|
|
383
|
+
openspec verify CHANGE-001 # Verifica tests + specs
|
|
384
|
+
openspec code-review CHANGE-001 # Review con CodeRabbit
|
|
385
|
+
openspec archive CHANGE-001 # Archiva completado
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
**Cuándo usarlo:**
|
|
389
|
+
- ✅ Equipos grandes (4+ devs) o distribuidos
|
|
390
|
+
- ✅ Necesitas propuestas de cambio formales y trazables
|
|
391
|
+
- ✅ Workflow enterprise con auditoría y trazabilidad completa
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
### 🔄 **¿Se Pueden Combinar?**
|
|
396
|
+
|
|
397
|
+
**¡Sí!** Usa conversacional para el día a día y CLI para cambios grandes:
|
|
398
|
+
|
|
399
|
+
```
|
|
400
|
+
# Desarrollo normal (conversacional)
|
|
401
|
+
implementar "fix bug en login"
|
|
402
|
+
|
|
403
|
+
# Feature grande (CLI formal con trazabilidad)
|
|
404
|
+
openspec new CHANGE-015 "Rediseño completo sistema de permisos"
|
|
405
|
+
openspec ff CHANGE-015
|
|
406
|
+
openspec apply CHANGE-015
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
**Detalle completo CLI:** Ver `openspec/README.md` y `openspec/cli/COMMAND_REFERENCE.md`
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## 🎨 Funciona con tu IDE Favorito
|
|
414
|
+
|
|
415
|
+
**SpecLeap es agnóstico al IDE.** Funciona con **cualquier editor que tenga asistente de IA**:
|
|
416
|
+
|
|
417
|
+
- ✅ **VSCode** — Con GitHub Copilot, Claude Code, Continue extension
|
|
418
|
+
- ✅ **Cursor** — IDE nativo con Claude integrado
|
|
419
|
+
- ✅ **JetBrains** (IntelliJ, PhpStorm, WebStorm) — Con AI Assistant
|
|
420
|
+
- ✅ **Vim/Neovim** — Con plugins de IA (copilot.vim, etc.)
|
|
421
|
+
- ✅ **Zed** — Editor moderno con IA integrada
|
|
422
|
+
- ✅ **Cualquier IDE con asistente IA** — Si tu editor tiene IA, SpecLeap funciona
|
|
423
|
+
|
|
424
|
+
**Cómo funciona:**
|
|
425
|
+
- Lee archivos del proyecto (CLAUDE.md, GEMINI.md, .cursorrules, .copilot-instructions.md)
|
|
426
|
+
- Aplica Agent Skills automáticamente
|
|
427
|
+
- Usa comandos conversacionales o CLI según tu preferencia
|
|
428
|
+
|
|
429
|
+
**No hay IDE "recomendado"** — Usa el que más te guste. SpecLeap se adapta.
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## 🛡️ Sistema de Validación en 3 Capas
|
|
434
|
+
|
|
435
|
+
SpecLeap garantiza calidad de código con **3 capas de validación automática**:
|
|
436
|
+
|
|
437
|
+
### **🔹 Capa 1: Git Hooks Pre-Commit** (Validación rápida - <5 seg)
|
|
438
|
+
|
|
439
|
+
**Se ejecuta ANTES de cada commit automáticamente.**
|
|
440
|
+
|
|
441
|
+
✅ **Valida:**
|
|
442
|
+
- Sintaxis (PHP, JS/TS)
|
|
443
|
+
- Linters (ESLint, PHPStan)
|
|
444
|
+
- Formatters (Prettier, PHP-CS-Fixer)
|
|
445
|
+
- CONTRATO.md no se modifica (es inmutable)
|
|
446
|
+
- No hay console.log / var_dump olvidados
|
|
447
|
+
|
|
448
|
+
❌ **Si falla:** Rechaza el commit y muestra errores
|
|
449
|
+
|
|
450
|
+
**Instalación:**
|
|
451
|
+
```bash
|
|
452
|
+
cd tu-proyecto
|
|
453
|
+
bash scripts/install-git-hooks.sh
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**Para saltarte (NO recomendado):**
|
|
457
|
+
```bash
|
|
458
|
+
git commit --no-verify -m "mensaje"
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
### **🔹 Capa 2: Validación Completa en `implementar`** (1-5 min)
|
|
464
|
+
|
|
465
|
+
**Se ejecuta al terminar una feature antes de push.**
|
|
466
|
+
|
|
467
|
+
✅ **Valida:**
|
|
468
|
+
- Tests unitarios
|
|
469
|
+
- Tests de integración
|
|
470
|
+
- Validación vs CONTRATO.md
|
|
471
|
+
- Validación vs specs
|
|
472
|
+
- Coverage > 80%
|
|
473
|
+
|
|
474
|
+
❌ **Si falla:** NO hace push ni crea PR
|
|
475
|
+
|
|
476
|
+
✅ **Si pasa:** Commit + Push + Crea PR automáticamente
|
|
477
|
+
|
|
478
|
+
**Uso:**
|
|
479
|
+
```
|
|
480
|
+
implementar "login con Google"
|
|
481
|
+
→ Escribe código
|
|
482
|
+
→ Valida TODO automáticamente
|
|
483
|
+
→ Si pasa: push + PR creado
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
### **🔹 Capa 3: CodeRabbit en PR** (Revisión profunda - 5-10 min)
|
|
489
|
+
|
|
490
|
+
**Se ejecuta automáticamente al crear PR en GitHub.**
|
|
491
|
+
|
|
492
|
+
✅ **Valida:**
|
|
493
|
+
- Arquitectura y patrones
|
|
494
|
+
- Seguridad (vulnerabilidades)
|
|
495
|
+
- Lógica de negocio
|
|
496
|
+
- Cumplimiento de specs
|
|
497
|
+
- Complejidad ciclomática
|
|
498
|
+
- Documentación
|
|
499
|
+
|
|
500
|
+
✅ **Comenta en el PR con:**
|
|
501
|
+
- Problemas encontrados
|
|
502
|
+
- Sugerencias de mejora
|
|
503
|
+
- Labels automáticos
|
|
504
|
+
- Estimación de esfuerzo de review
|
|
505
|
+
|
|
506
|
+
**Setup:**
|
|
507
|
+
```bash
|
|
508
|
+
# 1. .coderabbit.yaml ya está incluido en SpecLeap
|
|
509
|
+
# 2. Instala CodeRabbit en tu repo: https://github.com/apps/coderabbit-ai
|
|
510
|
+
# 3. Crea un PR → CodeRabbit revisa automáticamente
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
**Perfil configurado:** "assertive" (riguroso pero constructivo)
|
|
514
|
+
**Idioma:** Español
|
|
515
|
+
**Más info:** Ver `.coderabbit.yaml`
|
|
516
|
+
|
|
517
|
+
---
|
|
518
|
+
|
|
519
|
+
### **🎯 Resultado: Código de Calidad Garantizado**
|
|
520
|
+
|
|
521
|
+
```
|
|
522
|
+
Escribes código
|
|
523
|
+
↓
|
|
524
|
+
🔹 Capa 1: Pre-commit hook valida básicos
|
|
525
|
+
↓ (si pasa)
|
|
526
|
+
git commit exitoso
|
|
527
|
+
↓
|
|
528
|
+
Comando `implementar` termina
|
|
529
|
+
↓
|
|
530
|
+
🔹 Capa 2: Validación completa (tests + specs)
|
|
531
|
+
↓ (si pasa)
|
|
532
|
+
Push + PR creado
|
|
533
|
+
↓
|
|
534
|
+
🔹 Capa 3: CodeRabbit revisa arquitectura + seguridad
|
|
535
|
+
↓
|
|
536
|
+
Merge (solo si las 3 capas pasan)
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
**Beneficios:**
|
|
540
|
+
- ✅ Menos bugs en producción
|
|
541
|
+
- ✅ Code reviews más rápidos (lo obvio ya está validado)
|
|
542
|
+
- ✅ Aprendes de CodeRabbit (explica el "por qué")
|
|
543
|
+
- ✅ Cumplimiento de specs garantizado
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
## 📚 Documentación Completa
|
|
548
|
+
|
|
549
|
+
- 📖 [SETUP.md](SETUP.md) — Instalación paso a paso
|
|
550
|
+
- 🎯 `.commands/inicio.md` — Sistema 58 preguntas interactivo
|
|
551
|
+
- 💬 `.commands/ayuda.md` — Lista completa de comandos
|
|
552
|
+
- 🛠️ `openspec/README.md` — CLI formal OpenSpec
|
|
553
|
+
- 🤖 `.agents/` — Agentes especializados (backend, frontend, producto)
|
|
554
|
+
- ⭐ `scripts/install-skills.sh` — 20 Agent Skills TIER 1
|
|
555
|
+
- 📋 `proyectos/_template/CONTRATO.md` — Template contrato
|
|
556
|
+
- 🏗️ `CLAUDE.md` — Configuración para Claude Code
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
560
|
+
## 💖 Apoya el Proyecto
|
|
561
|
+
|
|
562
|
+
SpecLeap es **100% gratuito y open-source**. Si te resulta útil, puedes apoyar su desarrollo:
|
|
563
|
+
|
|
564
|
+
[](https://ko-fi.com/specleap)
|
|
565
|
+
[](https://www.buymeacoffee.com/specleap)
|
|
566
|
+
|
|
567
|
+
Las donaciones nos ayudan a:
|
|
568
|
+
- ✅ Mantener el framework actualizado
|
|
569
|
+
- ✅ Desarrollar nuevas features
|
|
570
|
+
- ✅ Mejorar documentación
|
|
571
|
+
- ✅ Crear más Agent Skills
|
|
572
|
+
- ✅ Soporte a la comunidad
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
576
|
+
## 📜 Licencia
|
|
577
|
+
|
|
578
|
+
MIT License - Ver [LICENSE](LICENSE)
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
## 🤝 Contribuciones
|
|
583
|
+
|
|
584
|
+
¡Contribuciones bienvenidas! Por favor:
|
|
585
|
+
|
|
586
|
+
1. Fork el proyecto
|
|
587
|
+
2. Crea una branch (`git checkout -b feature/nueva-feature`)
|
|
588
|
+
3. Commit tus cambios (`git commit -am 'Add nueva feature'`)
|
|
589
|
+
4. Push a la branch (`git push origin feature/nueva-feature`)
|
|
590
|
+
5. Abre un Pull Request
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
## 🔗 Enlaces
|
|
595
|
+
|
|
596
|
+
- 🌐 **Website:** [specleap.com](https://specleap.com)
|
|
597
|
+
- 📦 **GitHub:** [github.com/iapanderson/specleap](https://github.com/iapanderson/specleap-framework)
|
|
598
|
+
- 💬 **Comunidad:** (próximamente Discord/Slack)
|
|
599
|
+
- 📧 **Contacto:** [Abrir Issue en GitHub](https://github.com/iapanderson/specleap-framework/issues)
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
**Hecho con ❤️ por la comunidad SpecLeap**
|