specleap-framework 2.0.9 → 2.0.11

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,357 +1,444 @@
1
- # SpecLeap — Context for Claude Code & Claude API
1
+ # SpecLeap Framework — Claude Context
2
2
 
3
- **Methodology:** Spec-Driven Development (SDD). Spec first, never code first.
3
+ **Metodología:** Spec-Driven Development (SDD). Primero CONTRATO.md, luego código.
4
4
 
5
5
  ---
6
6
 
7
- ## 🌐 Default Language: SPANISH
7
+ ## 🌐 Idioma por Defecto: ESPAÑOL
8
8
 
9
- **CRITICAL:** All feedback, messages, commit messages, and user-facing text MUST be in SPANISH.
9
+ **CRÍTICO:** Todo feedback, mensajes de commit, y texto para usuario DEBE ser en ESPAÑOL.
10
10
 
11
- This project is for Spanish-speaking teams. All agents, commands, and responses must use Spanish unless explicitly overridden.
12
-
13
- **Examples:**
11
+ **Ejemplos:**
14
12
  ❌ "Generating plan..."
15
13
  ✅ "Generando plan..."
16
14
 
17
15
  ❌ "Tests passed"
18
16
  ✅ "Tests pasaron"
19
17
 
20
- See individual agent files (`.agents/*.md`) for specific language directives.
18
+ Ver archivos de agentes individuales (`.agents/*.md`) para directivas específicas de idioma.
21
19
 
22
20
  ---
23
21
 
24
- ## Project Structure
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)
25
28
 
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)
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
+ ```
30
49
 
31
50
  ---
32
51
 
33
- ## Core Principles
52
+ ## Principios Fundamentales
34
53
 
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
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
40
59
 
41
60
  ---
42
61
 
43
- ## Getting Started
62
+ ## 🚀 Inicio de Sesión
44
63
 
45
- ### Trigger Word: "Hola"
64
+ ### Cuando el Usuario Dice "Hola" o "ayuda"
46
65
 
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)
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.
52
96
 
53
97
  ---
54
98
 
55
- ## Slash Command Detection (CRITICAL)
99
+ ## 📋 Comandos Disponibles
100
+
101
+ ### Comandos Principales
56
102
 
57
- **When the user writes a SINGLE slash command** (e.g., just `refinar` or `crear-tickets`), **AUTOMATICALLY**:
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` | - |
58
113
 
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**
114
+ ### Detección de Comandos
62
115
 
63
- **Command-to-File Mapping:**
116
+ **Cuando el usuario escribe UN SOLO comando** (ej: `planificar`, `ayuda`):
64
117
 
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 |
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
76
122
 
77
- **Rules:**
78
- - If user writes `/comando` alone read `.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
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`
81
132
 
82
133
  ---
83
134
 
84
- ## Commands Available
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
85
145
 
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 |
146
+ **Opción B: Manual**
147
+ ```bash
148
+ cp proyectos/_template/CONTRATO.md proyectos/mi-proyecto/
149
+ # Editar manualmente
150
+ ```
93
151
 
94
- **See:** `.commands/` for detailed command specifications.
152
+ ### Paso 2: Planificar en Asana
95
153
 
96
- ---
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
97
166
 
98
- ## Agents
167
+ ```
168
+ Usuario: implementar PROJ-123
169
+ ```
99
170
 
100
- Adopt these roles when executing commands:
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
101
189
 
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
190
+ ---
105
191
 
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)
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`
111
228
 
112
229
  ---
113
230
 
114
- ## Standards (Always Apply)
231
+ ## 📐 Reglas de Desarrollo
232
+
233
+ Ver carpeta `rules/` para reglas completas:
115
234
 
116
- Read and follow these standards for ALL code:
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
117
240
 
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
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
123
246
 
124
- ### Technology-Specific Standards
125
- 5. **`specs/laravel-standards.mdc`** Laravel + PHP + Eloquent
126
- 6. **`specs/react-standards.mdc`** React + TypeScript + hooks
247
+ ### rules/environment-protection.md
248
+ - NUNCA hardcodear credenciales
249
+ - Usar `.env` para configuración
250
+ - Validar variables de entorno al inicio
127
251
 
128
- **Always read relevant standards before implementing.**
252
+ ### rules/session-protocol.md
253
+ - Mantener contexto entre sesiones
254
+ - Documentar decisiones importantes
255
+ - Actualizar ANEXOS.md con cambios aprobados
129
256
 
130
257
  ---
131
258
 
132
- ## Agent Skills (Progressive Disclosure)
259
+ ## 🧪 Agent Skills (20 Skills TIER 1)
133
260
 
134
- If **20 Agent Skills TIER 1** are installed (`~/.skills/`), they activate automatically:
261
+ Si están instalados en `~/.skills/`, se activan automáticamente según contexto:
135
262
 
136
- ### Activation Triggers
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
137
269
 
138
- Skills load knowledge **only when needed** based on context:
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
139
274
 
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
- ```
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
282
+
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
150
290
 
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.
291
+ **Activación:** Automática según contexto del código/comando
223
292
 
224
293
  ---
225
294
 
226
- ## Project Structure
295
+ ## ⚠️ Verificaciones ANTES de Codificar
227
296
 
297
+ ### SIEMPRE Verificar:
298
+
299
+ **1. ¿Existe CONTRATO.md?**
300
+ ```bash
301
+ find proyectos/ -name "CONTRATO.md"
228
302
  ```
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
- ```
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
242
309
 
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
310
+ **3. ¿Stack tecnológico definido?**
311
+ - Leer sección "Stack Tecnológico" de CONTRATO.md
312
+ - NUNCA asumir tecnologías sin verificar
313
+
314
+ **4. ¿Tests existen para funcionalidad?**
315
+ - ❌ NO → Crearlos ANTES de considerar completo
316
+ - ✅ SÍ → Ejecutarlos y verificar que pasan
247
317
 
248
318
  ---
249
319
 
250
- ## Workflow Example
320
+ ## 🚫 Prohibiciones Absolutas
251
321
 
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
- ```
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)
277
331
 
278
332
  ---
279
333
 
280
- ## CLI Tools (Optional)
281
-
282
- Besides conversational commands, the `openspec` CLI is available:
334
+ ## 🔧 Integración con Herramientas
283
335
 
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
- ```
336
+ ### Asana (OBLIGATORIO)
290
337
 
291
- See: `openspec/cli/README.md`
338
+ **SpecLeap usa Asana** para gestión de backlog.
292
339
 
293
- ---
340
+ **Token configurado en:**
341
+ - `.specleap/config.json` → `asana.token`
342
+ - `.env` → `ASANA_WORKSPACE_ID`
294
343
 
295
- ## MCP Integrations
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
296
348
 
297
- ### ⚠️ Jira MCP (MANDATORY)
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
298
355
 
299
- **Jira is MANDATORY for SpecLeap workflow.**
356
+ ### CodeRabbit (Recomendado)
300
357
 
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"
358
+ **Review automático en PRs.**
307
359
 
308
- **Without Jira MCP, the workflow DOES NOT WORK.**
360
+ **Configuración:** `.coderabbit.yaml` (incluido en template)
309
361
 
310
- ### CodeRabbit (Recommended)
362
+ **Checks:**
363
+ - Cumplimiento de specs
364
+ - Tests >= 80% coverage
365
+ - Seguridad (OWASP)
366
+ - Estándares de código
367
+ - Feedback en español
311
368
 
312
- **Automatic code review on all PRs.**
369
+ **Comando `implementar` espera:**
370
+ - CodeRabbit approval antes de marcar completo
371
+ - Aplicar feedback si hay correcciones
313
372
 
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
373
+ ### Git Hooks (Instalado automáticamente)
319
374
 
320
- ### Context7 MCP (Optional)
375
+ **Scripts:** `scripts/install-git-hooks.sh`
321
376
 
322
- If configured, use for:
323
- - Fetching up-to-date library documentation (Laravel, React, etc.)
324
- - Avoid outdated knowledge
377
+ **Hooks:**
378
+ - `pre-commit` Linters, formatters, tests
379
+ - `commit-msg` Valida formato de commit
380
+ - `pre-push` — Tests completos
325
381
 
326
382
  ---
327
383
 
328
- ## Critical Rules
384
+ ## 📊 Formato de Respuestas
385
+
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
329
391
 
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
392
+ ### Ejemplo: Comando Completado
393
+
394
+ ```
395
+ Implementación completada: Feature de autenticación
396
+
397
+ 📋 Cambios realizados:
398
+ • app/Http/Controllers/AuthController.php — Login + Register
399
+ • app/Models/User.php — Modelo 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
+ ```
336
420
 
337
421
  ---
338
422
 
339
- ## References
423
+ ## 📖 Referencias
340
424
 
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`
425
+ - **Comandos:** `.commands/*.md`
426
+ - **Agentes:** `.agents/*.md`
427
+ - **Reglas:** `rules/*.md`
428
+ - **Template:** `proyectos/_template/`
429
+ - **Scripts:** `scripts/README.md`
346
430
 
347
431
  ---
348
432
 
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
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.**
354
441
 
355
442
  ---
356
443
 
357
- *Made with ❤️ by the SpecLeap Community*
444
+ *Hecho con ❤️ por la Comunidad SpecLeap*
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.9",
3
+ "version": "2.0.11",
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