specleap-framework 2.0.10 → 2.0.12

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/CLAUDE.md CHANGED
@@ -1,444 +1,357 @@
1
- # SpecLeap Framework — Claude Context
1
+ # SpecLeap — Context for Claude Code & Claude API
2
2
 
3
- **Metodología:** Spec-Driven Development (SDD). Primero CONTRATO.md, luego código.
3
+ **Methodology:** Spec-Driven Development (SDD). Spec first, never code first.
4
4
 
5
5
  ---
6
6
 
7
- ## 🌐 Idioma por Defecto: ESPAÑOL
7
+ ## 🌐 Default Language: SPANISH
8
8
 
9
- **CRÍTICO:** Todo feedback, mensajes de commit, y texto para usuario DEBE ser en ESPAÑOL.
9
+ **CRITICAL:** All feedback, messages, commit messages, and user-facing text MUST be in SPANISH.
10
10
 
11
- **Ejemplos:**
11
+ This project is for Spanish-speaking teams. All agents, commands, and responses must use Spanish unless explicitly overridden.
12
+
13
+ **Examples:**
12
14
  ❌ "Generating plan..."
13
15
  ✅ "Generando plan..."
14
16
 
15
17
  ❌ "Tests passed"
16
18
  ✅ "Tests pasaron"
17
19
 
18
- Ver archivos de agentes individuales (`.agents/*.md`) para directivas específicas de idioma.
20
+ See individual agent files (`.agents/*.md`) for specific language directives.
19
21
 
20
22
  ---
21
23
 
22
- ## Estructura del Proyecto
23
-
24
- Esto es **SpecLeap**, un framework de desarrollo que combina:
25
- - **Agentes conversacionales** (roles especializados con comandos)
26
- - **Spec-Driven Development** (contratos primero, código segundo)
27
- - **Soporte multi-proyecto** (proyectos independientes con contratos)
24
+ ## Project Structure
28
25
 
29
- ```
30
- specleap-framework/
31
- ├── .agents/ # 3 agentes especializados
32
- │ ├── backend.md # Laravel + PHP + API
33
- │ ├── frontend.md # React + TypeScript
34
- │ └── producto.md # Análisis producto + user stories
35
- ├── .commands/ # 10 comandos SpecLeap
36
- │ ├── ayuda.md
37
- │ ├── planificar.md
38
- │ ├── implementar.md
39
- │ ├── refinar.md
40
- │ └── ...
41
- ├── .specleap/ # Configuración (creada durante instalación)
42
- │ ├── config.json # Tokens, idioma, workspace
43
- │ └── i18n/ # Traducciones ES/EN
44
- ├── proyectos/ # Proyectos del usuario
45
- │ └── _template/ # Plantilla CONTRATO.md + ANEXOS.md
46
- ├── rules/ # Reglas de desarrollo
47
- └── scripts/ # Scripts de instalación y generación
48
- ```
26
+ This is **SpecLeap**, a development framework that combines:
27
+ - **Conversational agents** (specialized roles with commands)
28
+ - **Spec-Driven Development** (contracts first, code second)
29
+ - **Multi-project support** (independent projects with contracts)
49
30
 
50
31
  ---
51
32
 
52
- ## Principios Fundamentales
33
+ ## Core Principles
53
34
 
54
- 1. **CONTRATO.md es la fuente de verdad** Una vez aceptado, nunca modificar
55
- 2. **Proyectos son independientes** — Cada proyecto en `proyectos/` tiene su propio contrato
56
- 3. **Comandos en español** — `refinar`, `planificar`, `implementar`, `explicar`, `documentar`
57
- 4. **Agentes tienen roles** — Backend, Frontend, Producto (ver `.agents/`)
58
- 5. **Flujo SDD obligatorio** — Spec primero, SIEMPRE
35
+ 1. **CONTRATO.md is IMMUTABLE** Once accepted, never modify. Use ANEXOS.md for improvements.
36
+ 2. **Projects are independent** — Each project in `proyectos/` has its own contract and context.
37
+ 3. **Commands are in Spanish** — `refinar`, `planificar`, `implementar`, `explicar`, `documentar`
38
+ 4. **Agents have roles** — Backend, Frontend, Product Analyst (see `.agents/`)
39
+ 5. **Standards are global** — `specs/*.mdc` apply to ALL projects
59
40
 
60
41
  ---
61
42
 
62
- ## 🚀 Inicio de Sesión
43
+ ## Getting Started
63
44
 
64
- ### Cuando el Usuario Dice "Hola" o "ayuda"
45
+ ### Trigger Word: "Hola"
65
46
 
66
- **SIEMPRE** responder con:
67
-
68
- ```
69
- ¡Hola! Soy tu asistente SpecLeap.
70
-
71
- 📋 Comandos disponibles:
72
- • ayuda → Lista completa de comandos
73
- • inicio → Crear proyecto nuevo (cuestionario 59 preguntas)
74
- • planificar → Generar backlog Asana desde CONTRATO.md
75
- • implementar <ticket> → Desarrollar feature
76
- • refinar → Mejorar CONTRATO.md existente
77
- • documentar → Actualizar documentación
78
-
79
- 🔧 Estado del proyecto:
80
- [Buscar CONTRATO.md en proyectos/]
81
-
82
- Si existe:
83
- ✅ CONTRATO.md encontrado: proyectos/mi-proyecto/CONTRATO.md
84
-
85
- Si NO existe:
86
- ⚠️ No hay CONTRATO.md todavía.
87
- Para crear uno nuevo:
88
- ./scripts/generate-contrato.sh
89
-
90
- o escribe: inicio
91
-
92
- ¿En qué puedo ayudarte hoy?
93
- ```
94
-
95
- **NUNCA** dar respuesta genérica como "¿En qué puedo ayudarte?" sin mostrar los comandos disponibles.
47
+ When the user says **"Hola"** (case-insensitive), execute `.commands/inicio.md`:
48
+ 1. List available projects in `proyectos/`
49
+ 2. Ask which project to work on (or new project)
50
+ 3. Load project context (CONTRATO.md + context/)
51
+ 4. Ask what type of work (DESARROLLO / DOCUMENTACIÓN)
96
52
 
97
53
  ---
98
54
 
99
- ## 📋 Comandos Disponibles
100
-
101
- ### Comandos Principales
55
+ ## Slash Command Detection (CRITICAL)
102
56
 
103
- | Comando | Descripción | Archivo | Agente |
104
- |---------|-------------|---------|--------|
105
- | `ayuda` | Lista completa de comandos + flujo SDD | `.commands/ayuda.md` | - |
106
- | `inicio` | Wizard proyecto nuevo (59 preguntas) | `.commands/inicio.md` | - |
107
- | `planificar` | Lee CONTRATO.md → genera backlog Asana | `.commands/planificar.md` | - |
108
- | `implementar <ticket>` | Desarrolla según spec del ticket Asana | `.commands/implementar.md` | backend/frontend |
109
- | `refinar` | Mejora CONTRATO.md existente | `.commands/refinar.md` | producto |
110
- | `documentar` | Genera/actualiza documentación | `.commands/documentar.md` | - |
111
- | `adoptar` | Integra SpecLeap en proyecto existente | `.commands/adoptar.md` | - |
112
- | `explicar <concepto>` | Explica metodología SDD | `.commands/explicar.md` | - |
57
+ **When the user writes a SINGLE slash command** (e.g., just `refinar` or `crear-tickets`), **AUTOMATICALLY**:
113
58
 
114
- ### Detección de Comandos
59
+ 1. **Detect the command** from the message
60
+ 2. **Read the corresponding `.commands/*.md` file**
61
+ 3. **Follow the instructions in that file step-by-step**
115
62
 
116
- **Cuando el usuario escribe UN SOLO comando** (ej: `planificar`, `ayuda`):
63
+ **Command-to-File Mapping:**
117
64
 
118
- 1. **Detectar el comando** del mensaje
119
- 2. **Leer el archivo** `.commands/<comando>.md` correspondiente
120
- 3. **Seguir las instrucciones** paso a paso del archivo
121
- 4. **NUNCA preguntar** "¿debería leer el archivo?" simplemente léelo
65
+ | User writes | Read this file | Then execute |
66
+ |-------------|----------------|--------------|
67
+ | `/inicio` or `Hola` | `.commands/inicio.md` | Start workflow |
68
+ | `ayuda`, `help`, `comandos` | `.commands/ayuda.md` | List ALL available commands |
69
+ | `refinar` | `.commands/refinar.md` | Refine user story |
70
+ | `planificar` | `.commands/planificar.md` | Generate backlog |
71
+ | `crear-tickets` | `.commands/crear-tickets.md` | Alias of `planificar` |
72
+ | `implementar` | `.commands/implementar.md` | Execute implementation |
73
+ | `explicar` | `.commands/explicar.md` | Explain concept |
74
+ | `documentar` | `.commands/documentar.md` | Update docs |
75
+ | `adoptar` | `.commands/adoptar.md` | Adopt legacy project |
122
76
 
123
- **Mapeo comando → archivo:**
124
- - `ayuda` | `help` | `comandos` → `.commands/ayuda.md`
125
- - `inicio``.commands/inicio.md`
126
- - `planificar` | `crear-tickets` `.commands/planificar.md`
127
- - `implementar` → `.commands/implementar.md`
128
- - `refinar` → `.commands/refinar.md`
129
- - `documentar` → `.commands/documentar.md`
130
- - `adoptar` → `.commands/adoptar.md`
131
- - `explicar` → `.commands/explicar.md`
77
+ **Rules:**
78
+ - If user writes `/comando` aloneread `.commands/comando.md` immediately
79
+ - If user writes `/comando` + context read file + use context
80
+ - NEVER ask "should I read the file?" — just read it
132
81
 
133
82
  ---
134
83
 
135
- ## 🔄 Flujo de Trabajo SDD
136
-
137
- ### Paso 1: Crear CONTRATO.md
138
-
139
- **Opción A: Cuestionario Guiado (Recomendado)**
140
- ```bash
141
- ./scripts/generate-contrato.sh
142
- ```
143
- → 59 preguntas interactivas (Stack, Features, Integraciones, etc.)
144
- → Genera CONTRATO.md completo automáticamente
84
+ ## Commands Available
145
85
 
146
- **Opción B: Manual**
147
- ```bash
148
- cp proyectos/_template/CONTRATO.md proyectos/mi-proyecto/
149
- # Editar manualmente
150
- ```
86
+ | Command | Description | Agente |
87
+ |---------|-------------|--------|
88
+ | `refinar SCRUM-XX` | Refine Jira user story | producto.md |
89
+ | `planificar SCRUM-XX` | Generate implementation plan | backend.md / frontend.md |
90
+ | `implementar @plan.md` | Execute plan: branch + code + tests + PR | backend.md / frontend.md |
91
+ | `explicar [concepto]` | Explain code/architecture/decisions | neutral |
92
+ | `documentar` | Update technical documentation | neutral |
151
93
 
152
- ### Paso 2: Planificar en Asana
94
+ **See:** `.commands/` for detailed command specifications.
153
95
 
154
- ```
155
- Usuario: planificar
156
- ```
157
-
158
- **El asistente debe:**
159
- 1. Leer `CONTRATO.md`
160
- 2. Analizar secciones: Features, Stack, Integraciones, Roles, etc.
161
- 3. Ejecutar `scripts/generate-asana-structure.sh`
162
- 4. Generar épicas + user stories en Asana
163
- 5. Reportar resumen: X épicas, Y stories creadas
164
-
165
- ### Paso 3: Implementar por Tickets
96
+ ---
166
97
 
167
- ```
168
- Usuario: implementar PROJ-123
169
- ```
98
+ ## Agents
170
99
 
171
- **El asistente debe:**
172
- 1. Descargar spec del ticket Asana (vía API)
173
- 2. Leer CONTRATO.md para contexto
174
- 3. Adoptar agente apropiado (.agents/backend.md o frontend.md)
175
- 4. Implementar según especificación
176
- 5. Crear tests (coverage >= 80%)
177
- 6. Documentar cambios
178
- 7. Crear branch: `feature/PROJ-123-descripcion`
179
- 8. Commit + Push
180
- 9. Crear PR
181
- 10. Esperar review CodeRabbit
182
-
183
- ### Paso 4: Review Automático
184
-
185
- → Push a GitHub
186
- → CodeRabbit revisa automáticamente (`.coderabbit.yaml`)
187
- → Feedback en español
188
- → Aplicar correcciones si necesario
100
+ Adopt these roles when executing commands:
189
101
 
190
- ---
102
+ - **`.agents/backend.md`** — Laravel + PHP + API expert
103
+ - **`.agents/frontend.md`** — React + TypeScript + Vite expert
104
+ - **`.agents/producto.md`** — Product analyst + user story enrichment
191
105
 
192
- ## 🤖 Agentes Especializados
193
-
194
- Adoptar estos roles cuando sea apropiado:
195
-
196
- ### .agents/backend.md
197
- **Cuándo:** Implementando APIs, base de datos, lógica de negocio
198
- **Stack:** Laravel + PHP + Eloquent + PostgreSQL/MySQL
199
- **Responsabilidades:**
200
- - Arquitectura backend (DDD, Repository pattern)
201
- - APIs RESTful
202
- - Validación server-side
203
- - Seguridad (OWASP)
204
- - Tests unitarios + integración
205
-
206
- ### .agents/frontend.md
207
- **Cuándo:** Implementando UI, componentes, estado
208
- **Stack:** React + TypeScript + Vite + TailwindCSS
209
- **Responsabilidades:**
210
- - Componentes reutilizables
211
- - Estado global (Context/Zustand)
212
- - Integración con APIs
213
- - Diseño responsive
214
- - Tests componentes
215
-
216
- ### .agents/producto.md
217
- **Cuándo:** Refinando user stories, decisiones de producto
218
- **Responsabilidades:**
219
- - Enriquecer user stories con criterios de aceptación
220
- - Detectar edge cases
221
- - Priorización de features
222
- - UX/UI decisions
223
-
224
- **Activación automática:**
225
- - Usuario escribe `refinar` → Cargar `.agents/producto.md`
226
- - Usuario escribe `implementar` + backend-related → Cargar `.agents/backend.md`
227
- - Usuario escribe `implementar` + frontend-related → Cargar `.agents/frontend.md`
106
+ **When to adopt:**
107
+ - `refinar` → producto.md
108
+ - `planificar` backend backend.md
109
+ - `planificar` frontend → frontend.md
110
+ - `implementar` → backend.md or frontend.md (depending on plan)
228
111
 
229
112
  ---
230
113
 
231
- ## 📐 Reglas de Desarrollo
232
-
233
- Ver carpeta `rules/` para reglas completas:
114
+ ## Standards (Always Apply)
234
115
 
235
- ### rules/development-rules.md
236
- - Spec-first SIEMPRE
237
- - Código en inglés, comentarios en español
238
- - Tests obligatorios (>= 80% coverage)
239
- - TypeScript strict mode
116
+ Read and follow these standards for ALL code:
240
117
 
241
- ### rules/git-workflow.md
242
- - Feature branches: `feature/PROJ-123-descripcion`
243
- - NUNCA push directo a `main`
244
- - Commits descriptivos en español
245
- - PRs obligatorios
118
+ ### Global Standards
119
+ 1. **`specs/base-standards.mdc`** Core principles (English only, TDD, small steps)
120
+ 2. **`specs/backend-standards.mdc`** Backend patterns (DDD, testing)
121
+ 3. **`specs/frontend-standards.mdc`** Frontend patterns (components, state)
122
+ 4. **`specs/documentation-standards.mdc`** Documentation structure
246
123
 
247
- ### rules/environment-protection.md
248
- - NUNCA hardcodear credenciales
249
- - Usar `.env` para configuración
250
- - Validar variables de entorno al inicio
124
+ ### Technology-Specific Standards
125
+ 5. **`specs/laravel-standards.mdc`** Laravel + PHP + Eloquent
126
+ 6. **`specs/react-standards.mdc`** React + TypeScript + hooks
251
127
 
252
- ### rules/session-protocol.md
253
- - Mantener contexto entre sesiones
254
- - Documentar decisiones importantes
255
- - Actualizar ANEXOS.md con cambios aprobados
128
+ **Always read relevant standards before implementing.**
256
129
 
257
130
  ---
258
131
 
259
- ## 🧪 Agent Skills (20 Skills TIER 1)
260
-
261
- Si están instalados en `~/.skills/`, se activan automáticamente según contexto:
132
+ ## Agent Skills (Progressive Disclosure)
262
133
 
263
- ### 🔒 Seguridad (5 skills)
264
- - `backend-api-security` — Validación server-side, rate limiting, CSRF
265
- - `frontend-mobile-security` — XSS, sanitización
266
- - `sast-configuration` — SAST tools config
267
- - `stride-analysis-patterns` — Threat modeling
268
- - `security-requirement-extraction` — Security reqs desde specs
134
+ If **20 Agent Skills TIER 1** are installed (`~/.skills/`), they activate automatically:
269
135
 
270
- ### 🔄 Consistencia (3 skills) ⭐ CRÍTICOS
271
- - `verification-before-completion` — Verificar ANTES de finalizar
272
- - `code-review-excellence` — Review checklist
273
- - `systematic-debugging` — Debug metodológico
136
+ ### Activation Triggers
274
137
 
275
- ### 🎨 Diseño/Frontend (6 skills)
276
- - `frontend-design` — Profesional design (Vercel/Linear style)
277
- - `web-design-guidelines` — UX guidelines
278
- - `ui-ux-pro-max` — Diseño avanzado + componentes
279
- - `tailwind-design-system` — TailwindCSS best practices
280
- - `shadcn-ui` — Shadcn components
281
- - `responsive-design` — Mobile-first responsive
138
+ Skills load knowledge **only when needed** based on context:
282
139
 
283
- ### 🛠️ Backend/Dev (6 skills)
284
- - `laravel-specialist` Laravel best practices
285
- - `vercel-react-best-practices` — React + Next.js
286
- - `test-driven-development` — TDD workflow
287
- - `api-design-principles` — REST API design
288
- - `postgresql-table-design` — DB schema design
289
- - `error-handling-patterns` — Error handling strategies
140
+ ```
141
+ User: "Crear endpoint POST /api/products con validación"
142
+
143
+ Auto-activates:
144
+ api-design-principles
145
+ backend-api-security
146
+ laravel-specialist
147
+ ✓ verification-before-completion
148
+ ✓ postgresql-table-design
149
+ ```
290
150
 
291
- **Activación:** Automática según contexto del código/comando
151
+ ### Critical Skills
152
+
153
+ #### verification-before-completion ⭐ **MANDATORY**
154
+
155
+ **Before creating ANY function, class, or component:**
156
+ 1. **SEARCH** existing code for similar functionality
157
+ 2. **READ** conventions.md for naming patterns
158
+ 3. **VERIFY** utilities/services don't already exist
159
+ 4. **ONLY THEN** create if nothing similar exists
160
+
161
+ **Anti-Pattern (NEVER DO):**
162
+ - ❌ Create `UserHelper` when `UserService` exists
163
+ - ❌ Create `formatPrice()` when `formatCurrency()` exists
164
+ - ❌ Create new HTTP client when axios instance exists
165
+
166
+ #### code-review-excellence
167
+
168
+ Before committing, verify:
169
+ - No duplicated code
170
+ - Follows conventions.md
171
+ - Tests coverage >= 90%
172
+ - Security best practices
173
+
174
+ #### backend-api-security
175
+
176
+ For all endpoints:
177
+ - Server-side validation
178
+ - Rate limiting
179
+ - CSRF protection
180
+ - SQL injection prevention
181
+ - XSS sanitization
182
+
183
+ #### frontend-design + web-design-guidelines
184
+
185
+ For all components:
186
+ - Professional design (Vercel/Linear style)
187
+ - Consistent spacing (4px grid)
188
+ - Responsive mobile-first
189
+ - Micro-interactions
190
+ - Design system coherence
191
+
192
+ ### Skill Categories
193
+
194
+ **🔒 Security (5):**
195
+ - sast-configuration
196
+ - stride-analysis-patterns
197
+ - security-requirement-extraction
198
+ - backend-api-security
199
+ - frontend-mobile-security
200
+
201
+ **🔄 Consistency (3):**
202
+ - verification-before-completion ⭐
203
+ - code-review-excellence
204
+ - systematic-debugging
205
+
206
+ **🎨 Design/Frontend (6):**
207
+ - web-design-guidelines
208
+ - frontend-design
209
+ - ui-ux-pro-max
210
+ - tailwind-design-system
211
+ - shadcn-ui
212
+ - responsive-design
213
+
214
+ **🛠️ Backend/Dev (6):**
215
+ - laravel-specialist
216
+ - vercel-react-best-practices
217
+ - test-driven-development
218
+ - api-design-principles
219
+ - postgresql-table-design
220
+ - error-handling-patterns
221
+
222
+ **See:** [SETUP.md](SETUP.md) for installation details.
292
223
 
293
224
  ---
294
225
 
295
- ## ⚠️ Verificaciones ANTES de Codificar
296
-
297
- ### SIEMPRE Verificar:
226
+ ## Project Structure
298
227
 
299
- **1. ¿Existe CONTRATO.md?**
300
- ```bash
301
- find proyectos/ -name "CONTRATO.md"
302
228
  ```
303
- - ❌ NO → Pedir crearlo: `./scripts/generate-contrato.sh` o comando `inicio`
304
- - Leerlo ANTES de implementar
305
-
306
- **2. ¿Hay ticket Asana asignado?**
307
- - ❌ NO → Preguntar: "¿Qué ticket Asana implementamos? (ej: PROJ-123)"
308
- - ✅ SÍ → Descargar spec del ticket vía API Asana
309
-
310
- **3. ¿Stack tecnológico definido?**
311
- - Leer sección "Stack Tecnológico" de CONTRATO.md
312
- - NUNCA asumir tecnologías sin verificar
229
+ proyectos/[project-name]/
230
+ ├── CONTRATO.md # 🔒 IMMUTABLE contract
231
+ ├── ANEXOS.md # ✏️ Improvements/modules
232
+ ├── context/ # Memory-bank
233
+ │ ├── brief.md
234
+ │ ├── architecture.md
235
+ │ ├── tech-stack.md
236
+ │ ├── conventions.md
237
+ │ └── decisions.md
238
+ └── specs/ # Feature specs
239
+ ├── [TICKET-ID]_backend.md
240
+ └── [TICKET-ID]_frontend.md
241
+ ```
313
242
 
314
- **4. ¿Tests existen para funcionalidad?**
315
- - NO Crearlos ANTES de considerar completo
316
- - Ejecutarlos y verificar que pasan
243
+ **Before working on a project:**
244
+ 1. Read `CONTRATO.md` Understand the contract
245
+ 2. Read `context/architecture.md` Understand architecture
246
+ 3. Read `context/conventions.md` — Follow code patterns
317
247
 
318
248
  ---
319
249
 
320
- ## 🚫 Prohibiciones Absolutas
250
+ ## Workflow Example
321
251
 
322
- 1. **NUNCA** codificar sin CONTRATO.md aprobado
323
- 2. **NUNCA** hacer commit directo a `main`
324
- 3. **NUNCA** hardcodear credenciales (usar `.env`)
325
- 4. **NUNCA** ignorar el comando del usuario
326
- - Si dice `planificar` ejecutar planificar
327
- - Si dice `implementar` → ejecutar implementar
328
- 5. **NUNCA** asumir stack tecnológico (leer CONTRATO.md)
329
- 6. **NUNCA** modificar CONTRATO.md después de aprobado (usar ANEXOS.md)
330
- 7. **NUNCA** respuesta genérica a "Hola" (siempre listar comandos)
252
+ ```
253
+ User: "Hola"
254
+ AI: [Execute .commands/inicio.md]
255
+ - List projects
256
+ - Ask which project + type of work
257
+
258
+ User: "app-tienda y desarrollo"
259
+ AI: [Load proyectos/app-tienda/CONTRATO.md + context/]
260
+ "✅ Proyecto app-tienda cargado. ¿Qué ticket trabajarás?"
261
+
262
+ User: "SCRUM-23"
263
+ AI: "¿Refinar o planificar directamente?"
264
+
265
+ User: "planificar SCRUM-23"
266
+ AI: [Adopt .agents/backend.md]
267
+ [Read CONTRATO + context + ticket]
268
+ [Generate plan in specs/SCRUM-23_backend.md]
269
+ "📋 Plan creado. Revisar antes de implementar."
270
+
271
+ User: "implementar @SCRUM-23_backend.md"
272
+ AI: [Adopt .agents/backend.md]
273
+ [Execute plan step by step]
274
+ [Tests, commit, push, PR]
275
+ "✅ Implementación completada. PR: [URL]"
276
+ ```
331
277
 
332
278
  ---
333
279
 
334
- ## 🔧 Integración con Herramientas
335
-
336
- ### Asana (OBLIGATORIO)
280
+ ## CLI Tools (Optional)
337
281
 
338
- **SpecLeap usa Asana** para gestión de backlog.
282
+ Besides conversational commands, the `openspec` CLI is available:
339
283
 
340
- **Token configurado en:**
341
- - `.specleap/config.json` `asana.token`
342
- - `.env` `ASANA_WORKSPACE_ID`
284
+ ```bash
285
+ openspec enrich "user story" # Refine user story
286
+ openspec new --auto "feature" # Create proposal
287
+ openspec verify CHANGE-001 # Verify tests
288
+ openspec status # List proposals
289
+ ```
343
290
 
344
- **Scripts:**
345
- - `scripts/generate-asana-structure.sh` — Genera estructura completa
346
- - `scripts/create-asana-tasks.sh` — Crea tasks individuales
347
- - API Asana para leer specs de tickets
291
+ See: `openspec/cli/README.md`
348
292
 
349
- **Comando `planificar`:**
350
- 1. Lee CONTRATO.md
351
- 2. Ejecuta `generate-asana-structure.sh`
352
- 3. Crea épicas por feature
353
- 4. Crea user stories por épica
354
- 5. Reporta resumen
293
+ ---
355
294
 
356
- ### CodeRabbit (Recomendado)
295
+ ## MCP Integrations
357
296
 
358
- **Review automático en PRs.**
297
+ ### ⚠️ Jira MCP (MANDATORY)
359
298
 
360
- **Configuración:** `.coderabbit.yaml` (incluido en template)
299
+ **Jira is MANDATORY for SpecLeap workflow.**
361
300
 
362
- **Checks:**
363
- - Cumplimiento de specs
364
- - Tests >= 80% coverage
365
- - Seguridad (OWASP)
366
- - Estándares de código
367
- - Feedback en español
301
+ MUST use for:
302
+ - `crear-tickets` Generate all tickets from CONTRATO.md
303
+ - `refinar SCRUM-XX` Read and enrich ticket
304
+ - `planificar SCRUM-XX` — Read ticket for plan generation
305
+ - `implementar` Update ticket status during implementation
306
+ - Automatic updates: "To Do" → "In Progress" → "In Review" → "Done"
368
307
 
369
- **Comando `implementar` espera:**
370
- - CodeRabbit approval antes de marcar completo
371
- - Aplicar feedback si hay correcciones
308
+ **Without Jira MCP, the workflow DOES NOT WORK.**
372
309
 
373
- ### Git Hooks (Instalado automáticamente)
310
+ ### CodeRabbit (Recommended)
374
311
 
375
- **Scripts:** `scripts/install-git-hooks.sh`
312
+ **Automatic code review on all PRs.**
376
313
 
377
- **Hooks:**
378
- - `pre-commit` Linters, formatters, tests
379
- - `commit-msg` Valida formato de commit
380
- - `pre-push` Tests completos
314
+ - Install CodeRabbit GitHub App on repos
315
+ - Copy `.coderabbit.yaml` from `proyectos/_template/`
316
+ - Reviews in Spanish
317
+ - Checks: specs compliance, tests >= 90%, security, standards
318
+ - `implementar` waits for CodeRabbit approval before marking complete
381
319
 
382
- ---
320
+ ### Context7 MCP (Optional)
383
321
 
384
- ## 📊 Formato de Respuestas
322
+ If configured, use for:
323
+ - Fetching up-to-date library documentation (Laravel, React, etc.)
324
+ - Avoid outdated knowledge
385
325
 
386
- ### Estilo General
387
- - **Conciso:** Directo al punto, sin relleno
388
- - **Estructurado:** Usar listas, headings, code blocks
389
- - **Bilingüe:** Español (default), English si usuario prefiere
390
- - **Contexto:** Siempre referenciar CONTRATO.md cuando exista
326
+ ---
391
327
 
392
- ### Ejemplo: Comando Completado
328
+ ## Critical Rules
393
329
 
394
- ```
395
- Implementación completada: Feature de autenticación
396
-
397
- 📋 Cambios realizados:
398
- • app/Http/Controllers/AuthController.phpLogin + Register
399
- app/Models/User.phpModelo usuario
400
- • database/migrations/create_users_table.php — Schema
401
- • tests/Feature/AuthTest.php — Tests auth
402
-
403
- 🧪 Tests:
404
- • test_user_can_register: ✅ PASS
405
- • test_user_can_login: ✅ PASS
406
- • test_invalid_credentials: ✅ PASS
407
- • Coverage: 92%
408
-
409
- 📄 Documentación:
410
- • README.md actualizado (instrucciones login)
411
- • CONTRATO.md: sin cambios
412
-
413
- 🔗 Próximos pasos:
414
- 1. Review: CodeRabbit revisará automáticamente
415
- 2. Merge: Una vez aprobado, merge a main
416
- 3. Deploy: [según proceso del equipo]
417
-
418
- 🔗 PR: https://github.com/user/repo/pull/123
419
- ```
330
+ 1. **NEVER modify CONTRATO.md** after accepted — Only add to ANEXOS.md
331
+ 2. **NEVER push to main directly** — Always via PR
332
+ 3. **Tests must pass** — >= 90% coverage
333
+ 4. **Follow conventions.md** — Each project has specific patterns
334
+ 5. **All code in ENGLISH** Variables, functions, comments, docs
335
+ 6. **User-facing text in SPANISH** Error messages, UI text
420
336
 
421
337
  ---
422
338
 
423
- ## 📖 Referencias
339
+ ## References
424
340
 
425
- - **Comandos:** `.commands/*.md`
426
- - **Agentes:** `.agents/*.md`
427
- - **Reglas:** `rules/*.md`
428
- - **Template:** `proyectos/_template/`
429
- - **Scripts:** `scripts/README.md`
341
+ - **Commands:** `.commands/*.md`
342
+ - **Agents:** `.agents/*.md`
343
+ - **Standards:** `specs/*.mdc`
344
+ - **Project Template:** `proyectos/_template/`
345
+ - **CLI Reference:** `openspec/cli/COMMAND_REFERENCE.md`
430
346
 
431
347
  ---
432
348
 
433
- ## 💡 Cuando Tengas Dudas
434
-
435
- 1. Leer el archivo `.commands/` correspondiente
436
- 2. Adoptar el rol `.agents/` especificado
437
- 3. Seguir las reglas de `rules/`
438
- 4. Preguntar al usuario para clarificación
439
-
440
- **SIEMPRE priorizar claridad sobre velocidad.**
349
+ **When in doubt:**
350
+ 1. Read the relevant `.commands/` file
351
+ 2. Adopt the specified `.agents/` role
352
+ 3. Follow `specs/` standards
353
+ 4. Ask the user for clarification
441
354
 
442
355
  ---
443
356
 
444
- *Hecho con ❤️ por la Comunidad SpecLeap*
357
+ *Made with ❤️ by the SpecLeap Community*
package/install.sh CHANGED
@@ -1,152 +1,14 @@
1
1
  #!/bin/bash
2
2
  # SpecLeap Installer
3
- # Language selection + initial setup
3
+ # Wrapper that runs the full setup.sh
4
4
 
5
5
  set -e
6
6
 
7
- # Colors
8
- RED='\033[0;31m'
9
- GREEN='\033[0;32m'
10
- YELLOW='\033[1;33m'
11
- BLUE='\033[0;34m'
12
- CYAN='\033[0;36m'
13
- NC='\033[0m'
14
-
15
- # Detect terminal width
16
- COLS=$(tput cols 2>/dev/null || echo 80)
17
- LINE=$(printf '%*s\n' "$COLS" '' | tr ' ' '=')
18
-
19
- # Clear screen and show banner (only if TTY)
20
- if [ -t 0 ]; then
21
- clear
22
- fi
23
- echo -e "${CYAN}${LINE}${NC}"
24
- echo -e "${CYAN}"
25
- cat << "EOF"
26
- _____ ____ ___________ __ _________ ____
27
- / ___// __ \/ ____/ ____/ / / / ____/ | / __ \
28
- \__ \/ /_/ / __/ / / / / / __/ / /| | / /_/ /
29
- ___/ / ____/ /___/ /___ / /___/ /___/ ___ |/ ____/
30
- /____/_/ /_____/\____/ /_____/_____/_/ |_/_/
31
-
32
- EOF
33
- echo -e "${NC}${CYAN}${LINE}${NC}"
34
- echo ""
35
- echo -e "${GREEN} Spec-Driven Development Framework${NC}"
36
- echo -e "${YELLOW} v1.0.0${NC}"
37
- echo ""
38
- echo -e "${CYAN}${LINE}${NC}"
39
- echo ""
40
-
41
- # Language selection
42
- echo -e "${BLUE}Please select your language / Por favor selecciona tu idioma:${NC}"
43
- echo ""
44
- echo " 1) English"
45
- echo " 2) Español"
46
- echo ""
47
- read -p "$(echo -e ${YELLOW}Choose an option [1-2]:${NC} )" lang_choice
48
-
49
- # Set language
50
- case $lang_choice in
51
- 1)
52
- SPECLEAP_LANG="en"
53
- WELCOME_MSG="Welcome to SpecLeap!"
54
- SETUP_MSG="Starting installation..."
55
- CREATING_CONFIG="Creating configuration file..."
56
- INSTALLING_DEPS="Installing dependencies..."
57
- SETUP_COMPLETE="✅ Installation complete!"
58
- NEXT_STEPS="Next steps:"
59
- STEP_1="1. Read SETUP.md for detailed configuration"
60
- STEP_2="2. Run: npm install (if using landing/web components)"
61
- STEP_3="3. Configure your project in proyectos/"
62
- STEP_4="4. Run: ./scripts/generate-contrato.sh to start"
63
- ENJOY="Enjoy SpecLeap!"
64
- ;;
65
- 2)
66
- SPECLEAP_LANG="es"
67
- WELCOME_MSG="¡Bienvenido a SpecLeap!"
68
- SETUP_MSG="Iniciando instalación..."
69
- CREATING_CONFIG="Creando archivo de configuración..."
70
- INSTALLING_DEPS="Instalando dependencias..."
71
- SETUP_COMPLETE="✅ Instalación completa!"
72
- NEXT_STEPS="Próximos pasos:"
73
- STEP_1="1. Lee SETUP.md para configuración detallada"
74
- STEP_2="2. Ejecuta: npm install (si usas landing/componentes web)"
75
- STEP_3="3. Configura tu proyecto en proyectos/"
76
- STEP_4="4. Ejecuta: ./scripts/generate-contrato.sh para empezar"
77
- ENJOY="¡Disfruta SpecLeap!"
78
- ;;
79
- *)
80
- echo -e "${RED}Invalid option. Defaulting to English.${NC}"
81
- SPECLEAP_LANG="en"
82
- WELCOME_MSG="Welcome to SpecLeap!"
83
- SETUP_MSG="Starting installation..."
84
- CREATING_CONFIG="Creating configuration file..."
85
- INSTALLING_DEPS="Installing dependencies..."
86
- SETUP_COMPLETE="✅ Installation complete!"
87
- NEXT_STEPS="Next steps:"
88
- STEP_1="1. Read SETUP.md for detailed configuration"
89
- STEP_2="2. Run: npm install (if using landing/web components)"
90
- STEP_3="3. Configure your project in proyectos/"
91
- STEP_4="4. Run: ./scripts/generate-contrato.sh to start"
92
- ENJOY="Enjoy SpecLeap!"
93
- ;;
94
- esac
95
-
96
- echo ""
97
- echo -e "${GREEN}${WELCOME_MSG}${NC}"
98
- echo -e "${YELLOW}${SETUP_MSG}${NC}"
99
- echo ""
100
-
101
- # Create config directory
102
- mkdir -p .specleap
103
-
104
- # Create proyectos directory (for user projects - NOT tracked in git)
105
- mkdir -p proyectos
106
-
107
- # Create config file
108
- echo -e "${CYAN}${CREATING_CONFIG}${NC}"
109
- cat > .specleap/config.json <<EOF
110
- {
111
- "version": "1.0.0",
112
- "language": "${SPECLEAP_LANG}",
113
- "installed_at": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")",
114
- "features": {
115
- "asana_integration": false,
116
- "coderabbit_integration": false,
117
- "agent_skills_installed": false
118
- }
119
- }
120
- EOF
121
-
122
- # Create .env file if it doesn't exist
123
- if [ ! -f .env ]; then
124
- cat > .env <<EOF
125
- # SpecLeap Configuration
126
- SPECLEAP_LANG=${SPECLEAP_LANG}
127
-
128
- # Asana Integration (optional - for automatic backlog generation)
129
- ASANA_ACCESS_TOKEN=""
130
- ASANA_WORKSPACE_ID=""
131
- EOF
7
+ # Check if setup.sh exists
8
+ if [ ! -f "setup.sh" ]; then
9
+ echo "❌ Error: setup.sh not found"
10
+ exit 1
132
11
  fi
133
12
 
134
- # Make scripts executable
135
- chmod +x scripts/*.sh 2>/dev/null || true
136
-
137
- echo ""
138
- echo -e "${GREEN}${SETUP_COMPLETE}${NC}"
139
- echo ""
140
- echo -e "${CYAN}${LINE}${NC}"
141
- echo ""
142
- echo -e "${YELLOW}${NEXT_STEPS}${NC}"
143
- echo ""
144
- echo -e " ${STEP_1}"
145
- echo -e " ${STEP_2}"
146
- echo -e " ${STEP_3}"
147
- echo -e " ${STEP_4}"
148
- echo ""
149
- echo -e "${CYAN}${LINE}${NC}"
150
- echo ""
151
- echo -e "${GREEN}${ENJOY}${NC}"
152
- echo ""
13
+ # Run setup.sh (which handles everything: language, tokens, skills, etc.)
14
+ bash setup.sh
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specleap-framework",
3
- "version": "2.0.10",
3
+ "version": "2.0.12",
4
4
  "description": "Spec-Driven Development Framework — Transform VSCode, Cursor, JetBrains into spec-first development machines",
5
5
  "keywords": [
6
6
  "spec-driven-development",
@@ -51,7 +51,6 @@
51
51
  ".github/**",
52
52
  ".vscode/**",
53
53
  "bin/**",
54
- "proyectos/_template/**",
55
54
  "rules/**",
56
55
  "scripts/**",
57
56
  "setup.sh",
package/setup.sh CHANGED
@@ -357,12 +357,8 @@ else
357
357
  echo ""
358
358
  fi
359
359
 
360
- if [ -f "proyectos/_template/.coderabbit.yaml" ]; then
361
- cp proyectos/_template/.coderabbit.yaml .coderabbit.yaml
362
- echo -e "${GREEN}✅ .coderabbit.yaml copiado${NC}"
363
- else
364
- echo -e "${YELLOW}⚠️ Template no encontrado, se omite${NC}"
365
- fi
360
+ # .coderabbit.yaml ya está en la raíz del proyecto
361
+ echo -e "${GREEN}✅ .coderabbit.yaml listo${NC}"
366
362
 
367
363
  echo ""
368
364
  sleep 1
@@ -1 +0,0 @@
1
- Template project structure
@@ -1,21 +0,0 @@
1
- # ANEXOS — [Nombre del Proyecto]
2
-
3
- > **Cambios y mejoras propuestas fuera del CONTRATO original**
4
-
5
- Este archivo registra propuestas de cambio que están fuera del alcance del CONTRATO.md inmutable.
6
-
7
- ## Propuestas Pendientes
8
-
9
- (Vacío)
10
-
11
- ## Propuestas Aprobadas
12
-
13
- (Vacío)
14
-
15
- ## Propuestas Rechazadas
16
-
17
- (Vacío)
18
-
19
- ---
20
-
21
- **Nota:** Para proponer cambios usa el comando `refinar` o `openspec new`.
@@ -1,26 +0,0 @@
1
- # CONTRATO — [Nombre del Proyecto]
2
-
3
- > **Estado:** PLANTILLA (ejecutar comando `inicio` para generar)
4
-
5
- Este archivo será generado automáticamente después de responder el cuestionario de 56 preguntas.
6
-
7
- ## Cómo Empezar
8
-
9
- 1. Abre tu agente IA (Claude, Cursor, Continue)
10
- 2. Escribe: **"Hola"**
11
- 3. Selecciona: **"Proyecto nuevo"**
12
- 4. Responde las preguntas interactivas
13
-
14
- El agente generará el CONTRATO completo con:
15
- - Objetivo del proyecto
16
- - Alcance detallado
17
- - Casos de uso
18
- - Módulos y features
19
- - Stack tecnológico
20
- - Criterios de aceptación
21
- - Restricciones y dependencias
22
- - Estimación de esfuerzo
23
-
24
- ---
25
-
26
- **SpecLeap** — Framework Spec-Driven Development
@@ -1 +0,0 @@
1
- # Context files will be generated here