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/SETUP.md
ADDED
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
# SpecLeap — Instalación Rápida
|
|
2
|
+
|
|
3
|
+
## ⚡ Quick Start (5 minutos)
|
|
4
|
+
|
|
5
|
+
### Paso 1: Clonar el repositorio
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
git clone https://github.com/iapanderson/specleap-framework.git
|
|
9
|
+
cd specleap-framework
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Paso 2: Ejecutar instalador
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
bash install.sh
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Qué hace:**
|
|
19
|
+
- Selecciona idioma (Español/English)
|
|
20
|
+
- Crea estructura de carpetas
|
|
21
|
+
- Genera archivos base
|
|
22
|
+
|
|
23
|
+
### Paso 3: Responder cuestionario
|
|
24
|
+
|
|
25
|
+
El instalador te hará **58 preguntas** sobre tu proyecto:
|
|
26
|
+
- Nombre del proyecto
|
|
27
|
+
- Objetivo y problema que resuelve
|
|
28
|
+
- Stack tecnológico (Laravel, React, etc.)
|
|
29
|
+
- Funcionalidades principales
|
|
30
|
+
- Usuarios y roles
|
|
31
|
+
- Seguridad y rendimiento
|
|
32
|
+
|
|
33
|
+
**Tiempo:** 10-15 minutos
|
|
34
|
+
|
|
35
|
+
**Resultado:** Genera automáticamente:
|
|
36
|
+
- `CONTRATO.md` — Especificación inmutable del proyecto
|
|
37
|
+
- `context/` — Arquitectura, diseño, decisiones técnicas
|
|
38
|
+
- `.agents/` — 3 agentes especializados (Backend, Frontend, Producto)
|
|
39
|
+
- `.commands/` — 8 comandos conversacionales
|
|
40
|
+
|
|
41
|
+
### Paso 4: Abrir en tu IDE
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
code . # VSCode
|
|
45
|
+
# o
|
|
46
|
+
cursor . # Cursor
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**¡Listo!** Di **"Hola"** en el chat con Claude/Cursor y empieza a trabajar.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🎯 Primeros Pasos
|
|
54
|
+
|
|
55
|
+
### Comandos Conversacionales
|
|
56
|
+
|
|
57
|
+
Escribe estos comandos directamente en el chat con Claude/Cursor:
|
|
58
|
+
|
|
59
|
+
| Comando | Qué hace |
|
|
60
|
+
|---------|----------|
|
|
61
|
+
| `ayuda` | Lista TODOS los comandos disponibles |
|
|
62
|
+
| `refinar "añadir login social"` | Propone cambios al CONTRATO |
|
|
63
|
+
| `planificar` | Genera backlog en Asana |
|
|
64
|
+
| `implementar "crear API usuarios"` | Valida contra CONTRATO e implementa |
|
|
65
|
+
| `documentar "API REST"` | Genera docs OpenAPI/Swagger |
|
|
66
|
+
| `explicar arquitectura` | Explica decisiones técnicas |
|
|
67
|
+
|
|
68
|
+
### OpenSpec CLI Formal (Enterprise)
|
|
69
|
+
|
|
70
|
+
Alternativa al workflow conversacional. Para equipos que requieren propuestas formales y trazabilidad:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Proponer cambio
|
|
74
|
+
./openspec/cli/openspec new "añadir carrito de compras"
|
|
75
|
+
|
|
76
|
+
# Ver propuesta
|
|
77
|
+
./openspec/cli/openspec show 001-carrito
|
|
78
|
+
|
|
79
|
+
# Aprobar
|
|
80
|
+
./openspec/cli/openspec approve 001-carrito
|
|
81
|
+
|
|
82
|
+
# Verificar implementación
|
|
83
|
+
./openspec/cli/openspec verify 001-carrito
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 🔌 Sistema de Calidad (Componentes Obligatorios)
|
|
89
|
+
|
|
90
|
+
**⚠️ IMPORTANTE:** Estos NO son opcionales. SpecLeap requiere estos componentes para SDD profesional:
|
|
91
|
+
- **Asana** — Gestión de backlog (comando `planificar`)
|
|
92
|
+
- **CodeRabbit** — Code review automático en PRs
|
|
93
|
+
- **Agent Skills** — Best practices automáticas (20 skills TIER 1)
|
|
94
|
+
- **Git Hooks** — Validación pre-commit local
|
|
95
|
+
- **GitHub** — Control de versiones y colaboración
|
|
96
|
+
|
|
97
|
+
Sin estos componentes, SpecLeap es solo un conjunto de archivos markdown.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### 1. Asana (Gestión de Backlog)
|
|
102
|
+
|
|
103
|
+
**¿Por qué?** Comando `planificar` genera automáticamente épicas y user stories en Asana.
|
|
104
|
+
|
|
105
|
+
#### Setup en 3 pasos:
|
|
106
|
+
|
|
107
|
+
**1. Obtener token Asana:**
|
|
108
|
+
- Ve a [app.asana.com/0/my-apps](https://app.asana.com/0/my-apps)
|
|
109
|
+
- Click **"Create new token"**
|
|
110
|
+
- Nombre: `SpecLeap Integration`
|
|
111
|
+
- Copia el token (empieza con `0/`)
|
|
112
|
+
|
|
113
|
+
**2. Obtener Workspace ID:**
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
curl -H "Authorization: Bearer TU_TOKEN_AQUI" \
|
|
117
|
+
https://app.asana.com/api/1.0/workspaces
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Copia el `"gid"` de tu workspace.
|
|
121
|
+
|
|
122
|
+
**3. Configurar .env:**
|
|
123
|
+
|
|
124
|
+
Edita `.env` en la raíz de SpecLeap:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
ASANA_ACCESS_TOKEN="0/1234567890abcdef..."
|
|
128
|
+
ASANA_WORKSPACE_ID="1234567890123456"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Verificar:**
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# En el chat con Claude:
|
|
135
|
+
planificar
|
|
136
|
+
|
|
137
|
+
# Debería crear proyecto en Asana con:
|
|
138
|
+
# - Épicas (Features principales)
|
|
139
|
+
# - User Stories (Funcionalidades)
|
|
140
|
+
# - Tasks (Tareas técnicas)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### 2. CodeRabbit (Code Review Automático)
|
|
146
|
+
|
|
147
|
+
**¿Qué es?** Bot que revisa PRs automáticamente en GitHub.
|
|
148
|
+
|
|
149
|
+
#### Setup:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# 1. Copiar config al proyecto
|
|
153
|
+
cp .coderabbit.yaml tu-proyecto/.coderabbit.yaml
|
|
154
|
+
|
|
155
|
+
# 2. Commit y push
|
|
156
|
+
git add .coderabbit.yaml
|
|
157
|
+
git commit -m "Add CodeRabbit config"
|
|
158
|
+
git push origin main
|
|
159
|
+
|
|
160
|
+
# 3. Instalar app GitHub
|
|
161
|
+
# Ve a: https://github.com/apps/coderabbitai
|
|
162
|
+
# Click "Install"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Resultado:** CodeRabbit revisará automáticamente tus PRs con:
|
|
166
|
+
- ✅ Security analysis
|
|
167
|
+
- ✅ Best practices
|
|
168
|
+
- ✅ Performance suggestions
|
|
169
|
+
- ✅ Code smells
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### 3. Agent Skills (20 Skills Profesionales)
|
|
174
|
+
|
|
175
|
+
**¿Qué son?** Extensiones para Claude/Cursor que aplican best practices automáticamente.
|
|
176
|
+
|
|
177
|
+
#### Instalación automática:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
bash scripts/setup-mcp.sh
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Qué instala:**
|
|
184
|
+
- 🔒 5 skills seguridad (SAST, STRIDE, OWASP)
|
|
185
|
+
- 🔄 3 skills consistencia (verification-before-completion ⭐)
|
|
186
|
+
- 🎨 6 skills diseño (Vercel-style, Tailwind, UI/UX)
|
|
187
|
+
- 🛠️ 6 skills backend/dev (Laravel, React, TDD, API design)
|
|
188
|
+
|
|
189
|
+
**Ver skills instaladas:**
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
ls ~/.skills/
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Más info:** Ver [docs/SKILLS-REFERENCE.md](docs/SKILLS-REFERENCE.md)
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
### 4. Git Hooks (Validación Local Pre-Commit)
|
|
200
|
+
|
|
201
|
+
**Diferencia Git Hooks vs GitHub:**
|
|
202
|
+
- **Git Hooks** = Validación LOCAL (en tu máquina) ANTES de hacer commit
|
|
203
|
+
- **GitHub** = Repositorio REMOTO para push, pull, PRs y colaboración
|
|
204
|
+
- Ambos son OBLIGATORIOS para SDD profesional
|
|
205
|
+
|
|
206
|
+
**¿Por qué?** Valida código ANTES de hacer commit (linters, formatters, tests).
|
|
207
|
+
|
|
208
|
+
#### Instalación:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
cd tu-proyecto
|
|
212
|
+
bash scripts/install-git-hooks.sh
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Qué valida:**
|
|
216
|
+
- ✅ ESLint (JavaScript/React)
|
|
217
|
+
- ✅ Prettier (formato código)
|
|
218
|
+
- ✅ PHPStan (análisis estático PHP)
|
|
219
|
+
- ✅ PHP-CS-Fixer (estándares PSR-12)
|
|
220
|
+
- ✅ Previene debug code (console.log, var_dump)
|
|
221
|
+
- ✅ Previene modificación CONTRATO.md
|
|
222
|
+
|
|
223
|
+
**Ejemplo:**
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
git commit -m "feat: add login"
|
|
227
|
+
|
|
228
|
+
→ 🔍 SpecLeap: Validando commit...
|
|
229
|
+
→ ✓ ESLint: OK
|
|
230
|
+
→ ✓ Prettier: OK
|
|
231
|
+
→ ✓ PHPStan: OK
|
|
232
|
+
→ ✅ Validación pre-commit exitosa
|
|
233
|
+
|
|
234
|
+
[main a1b2c3d] feat: add login
|
|
235
|
+
3 files changed, 45 insertions(+)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Si falla:**
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
git commit -m "feat: add login"
|
|
242
|
+
|
|
243
|
+
→ 🔍 SpecLeap: Validando commit...
|
|
244
|
+
→ ✗ ESLint: 2 errores encontrados
|
|
245
|
+
→ - src/Login.jsx:15 - 'userName' is defined but never used
|
|
246
|
+
→ - src/Login.jsx:23 - Missing return statement
|
|
247
|
+
→ ❌ Validación fallida. Corrige los errores y vuelve a intentar.
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
El commit es rechazado. Corrige y vuelve a intentar.
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## 📚 Documentación Completa
|
|
255
|
+
|
|
256
|
+
### Guías Detalladas
|
|
257
|
+
|
|
258
|
+
- 📖 [README.md](README.md) — Overview del framework
|
|
259
|
+
- 💬 [docs/COMANDOS.md](docs/COMANDOS.md) — 8 comandos conversacionales explicados
|
|
260
|
+
- 🛠️ [docs/CLI-OPENSPEC.md](docs/CLI-OPENSPEC.md) — OpenSpec CLI formal (enterprise)
|
|
261
|
+
- 🤖 [docs/AGENTES.md](docs/AGENTES.md) — 3 agentes especializados
|
|
262
|
+
- ⭐ [docs/SKILLS-REFERENCE.md](docs/SKILLS-REFERENCE.md) — Quick reference 20 Agent Skills
|
|
263
|
+
- 🎯 [docs/SPEC-CUESTIONARIO-INTERACTIVO.md](docs/SPEC-CUESTIONARIO-INTERACTIVO.md) — Sistema 58 preguntas
|
|
264
|
+
|
|
265
|
+
### Prerequisitos del Sistema
|
|
266
|
+
|
|
267
|
+
- **Git** — Control de versiones
|
|
268
|
+
- **Node.js v20+** — Para cliente npm packages
|
|
269
|
+
- **npm** o **pnpm** — Gestor de paquetes
|
|
270
|
+
|
|
271
|
+
#### Opcional (según tu stack):
|
|
272
|
+
|
|
273
|
+
- **PHP 8.3+** — Para proyectos Laravel
|
|
274
|
+
- **Composer** — Gestor dependencias PHP
|
|
275
|
+
- **PostgreSQL/MySQL** — Base de datos
|
|
276
|
+
- **Docker** — Entornos containerizados
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 🆘 Troubleshooting
|
|
281
|
+
|
|
282
|
+
### "Command not found: openspec"
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Usa ruta relativa
|
|
286
|
+
./openspec/cli/openspec --version
|
|
287
|
+
|
|
288
|
+
# O agrega a PATH (opcional)
|
|
289
|
+
export PATH="$PATH:$(pwd)/openspec/cli"
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### "Agent Skills no aparecen en mi IDE"
|
|
293
|
+
|
|
294
|
+
1. Verifica instalación:
|
|
295
|
+
```bash
|
|
296
|
+
ls -la ~/.skills/
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
2. Reinicia tu IDE (VSCode/Cursor/JetBrains)
|
|
300
|
+
|
|
301
|
+
3. Verifica config MCP:
|
|
302
|
+
```bash
|
|
303
|
+
cat ~/.config/claude/claude_desktop_config.json
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### "Error al generar backlog Asana"
|
|
307
|
+
|
|
308
|
+
1. Verifica que `.env` tiene token correcto:
|
|
309
|
+
```bash
|
|
310
|
+
cat .env | grep ASANA
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
2. Test API:
|
|
314
|
+
```bash
|
|
315
|
+
curl -H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
|
|
316
|
+
https://app.asana.com/api/1.0/users/me
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Si da error 401: Token inválido. Genera uno nuevo en Asana.
|
|
320
|
+
|
|
321
|
+
### "Git hooks no se ejecutan"
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# Verifica permisos
|
|
325
|
+
ls -la .git/hooks/pre-commit
|
|
326
|
+
|
|
327
|
+
# Debe ser ejecutable (-rwxr-xr-x)
|
|
328
|
+
# Si no lo es:
|
|
329
|
+
chmod +x .git/hooks/pre-commit
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## ✅ Checklist de Setup Completo
|
|
335
|
+
|
|
336
|
+
- [ ] SpecLeap clonado y `install.sh` ejecutado
|
|
337
|
+
- [ ] Cuestionario 58 preguntas completado
|
|
338
|
+
- [ ] CONTRATO.md generado automáticamente
|
|
339
|
+
- [ ] IDE abierto (VSCode/Cursor) y chat con Claude funcional
|
|
340
|
+
- [ ] Comando `ayuda` ejecutado exitosamente
|
|
341
|
+
- [ ] **Asana configurado en `.env`** (OBLIGATORIO)
|
|
342
|
+
- [ ] **20 Agent Skills instaladas en ~/.skills/** (OBLIGATORIO)
|
|
343
|
+
- [ ] **Git hooks instalados** (OBLIGATORIO)
|
|
344
|
+
- [ ] **CodeRabbit configurado en GitHub** (OBLIGATORIO)
|
|
345
|
+
- [ ] **Repositorio pusheado a GitHub** (OBLIGATORIO)
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
**¡Listo para construir software spec-first! 🚀**
|
|
350
|
+
|
|
351
|
+
**Próximo paso:** Di `"ayuda"` en el chat para ver todos los comandos disponibles.
|
package/install.sh
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# SpecLeap Installer
|
|
3
|
+
# Language selection + initial setup
|
|
4
|
+
|
|
5
|
+
set -e
|
|
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
|
|
132
|
+
fi
|
|
133
|
+
|
|
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 ""
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "specleap-framework",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Spec-Driven Development Framework — Transform VSCode, Cursor, JetBrains into spec-first development machines",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"spec-driven-development",
|
|
7
|
+
"sdd",
|
|
8
|
+
"framework",
|
|
9
|
+
"ai",
|
|
10
|
+
"claude",
|
|
11
|
+
"cursor",
|
|
12
|
+
"vscode",
|
|
13
|
+
"contract",
|
|
14
|
+
"agent-skills",
|
|
15
|
+
"asana",
|
|
16
|
+
"coderabbit",
|
|
17
|
+
"laravel",
|
|
18
|
+
"react"
|
|
19
|
+
],
|
|
20
|
+
"homepage": "https://specleap.com",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/iapanderson/specleap-framework.git"
|
|
24
|
+
},
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/iapanderson/specleap-framework/issues"
|
|
27
|
+
},
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"author": {
|
|
30
|
+
"name": "SpecLeap Community",
|
|
31
|
+
"url": "https://specleap.com"
|
|
32
|
+
},
|
|
33
|
+
"bin": {
|
|
34
|
+
"specleap": "./setup.sh"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"postinstall": "bash setup.sh",
|
|
38
|
+
"setup": "bash setup.sh",
|
|
39
|
+
"skills": "bash scripts/install-skills.sh",
|
|
40
|
+
"generate": "bash scripts/generate-contrato.sh"
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=18.0.0"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
".agents/**",
|
|
47
|
+
".commands/**",
|
|
48
|
+
"proyectos/_template/**",
|
|
49
|
+
"rules/**",
|
|
50
|
+
"scripts/**",
|
|
51
|
+
"setup.sh",
|
|
52
|
+
"install.sh",
|
|
53
|
+
"README.md",
|
|
54
|
+
"SETUP.md",
|
|
55
|
+
"LICENSE"
|
|
56
|
+
],
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Template project structure
|
|
@@ -0,0 +1,21 @@
|
|
|
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`.
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Context files will be generated here
|