roadmap-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/INSTALL.md +358 -0
  2. package/LICENSE +21 -0
  3. package/README.md +503 -0
  4. package/cli.js +548 -0
  5. package/dashboard/dist/assets/index-BzYzLB7u.css +1 -0
  6. package/dashboard/dist/assets/index-DIonhzlK.js +506 -0
  7. package/dashboard/dist/index.html +18 -0
  8. package/dashboard/dist/roadmap.json +268 -0
  9. package/dashboard/index.html +17 -0
  10. package/dashboard/package-lock.json +4172 -0
  11. package/dashboard/package.json +37 -0
  12. package/dashboard/postcss.config.js +6 -0
  13. package/dashboard/public/roadmap.json +268 -0
  14. package/dashboard/server.js +1366 -0
  15. package/dashboard/src/App.jsx +6979 -0
  16. package/dashboard/src/components/CircularProgress.jsx +55 -0
  17. package/dashboard/src/components/ProgressBar.jsx +33 -0
  18. package/dashboard/src/components/ProjectSettings.jsx +420 -0
  19. package/dashboard/src/components/SharedResources.jsx +239 -0
  20. package/dashboard/src/components/TaskList.jsx +273 -0
  21. package/dashboard/src/components/TechnicalDebt.jsx +170 -0
  22. package/dashboard/src/components/ui/accordion.jsx +46 -0
  23. package/dashboard/src/components/ui/badge.jsx +38 -0
  24. package/dashboard/src/components/ui/card.jsx +60 -0
  25. package/dashboard/src/components/ui/progress.jsx +22 -0
  26. package/dashboard/src/components/ui/tabs.jsx +47 -0
  27. package/dashboard/src/index.css +440 -0
  28. package/dashboard/src/lib/utils.js +6 -0
  29. package/dashboard/src/main.jsx +10 -0
  30. package/dashboard/tailwind.config.js +142 -0
  31. package/dashboard/vite.config.js +18 -0
  32. package/docker/Dockerfile +35 -0
  33. package/docker/docker-compose.yml +30 -0
  34. package/docker/entrypoint.sh +31 -0
  35. package/package.json +68 -0
  36. package/scanner.js +351 -0
  37. package/setup.sh +354 -0
  38. package/templates/clinerules.template +130 -0
  39. package/templates/roadmap.template.json +30 -0
package/README.md ADDED
@@ -0,0 +1,503 @@
1
+ # 🗺️ ROADMAP-KIT
2
+
3
+ **Sistema de gestión de proyectos optimizado para "Vibe Coding" (programación asistida por IA)**
4
+
5
+ ROADMAP-KIT elimina los problemas comunes al programar con IA: pérdida de memoria entre sesiones, duplicación de código, falta de trazabilidad y ausencia de contexto. Es un sistema **plug & play** que se integra fácilmente en cualquier proyecto y se puede eliminar sin dejar rastro.
6
+
7
+ ---
8
+
9
+ ## 🎯 Problemas que Resuelve
10
+
11
+ ### ❌ Sin ROADMAP-KIT:
12
+ - **Falta de memoria a largo plazo**: La IA olvida decisiones técnicas entre sesiones
13
+ - **Duplicación constante**: Crea funciones, componentes y tablas que ya existen
14
+ - **Sin trazabilidad**: No hay forma de ver qué cambió la IA, por qué y cuándo
15
+ - **Falta de contexto**: La IA no sabe qué convenciones seguir
16
+ - **Sin visibilidad del progreso**: No hay forma de ver el % de completitud del proyecto
17
+
18
+ ### ✅ Con ROADMAP-KIT:
19
+ - ✅ **Memoria persistente**: `roadmap.json` guarda todas las decisiones de la IA
20
+ - ✅ **Cero duplicación**: La IA consulta recursos compartidos antes de crear código nuevo
21
+ - ✅ **Trazabilidad completa**: Cada commit actualiza automáticamente el roadmap
22
+ - ✅ **Contexto siempre disponible**: `.clinerules` define las reglas del proyecto
23
+ - ✅ **Dashboard visual**: Ve el progreso en tiempo real
24
+
25
+ ---
26
+
27
+ ## 🚀 Características
28
+
29
+ - **📋 Roadmap JSON**: Estado completo del proyecto con features, tareas y métricas
30
+ - **🤖 AI Memory**: Campo `ai_notes` para que la IA documente sus decisiones
31
+ - **♻️ Resource Tracking**: Lista de componentes, utilidades y tablas DB reutilizables
32
+ - **📊 Git Scanner**: Lee commits automáticamente y actualiza el roadmap
33
+ - **💳 Technical Debt Tracking**: Registro de deuda técnica con severidad
34
+ - **🎨 Visual Dashboard**: Interfaz React para visualizar el progreso
35
+ - **🐳 Docker Support**: Contenedor listo para usar
36
+ - **📦 NPM Package**: Instalable con `npm` o `npx`
37
+
38
+ ---
39
+
40
+ ## 📦 Instalación
41
+
42
+ ### Opción 1: NPX (Zero-Config)
43
+
44
+ ```bash
45
+ npx roadmap-kit init
46
+ ```
47
+
48
+ ### Opción 2: NPM Global
49
+
50
+ ```bash
51
+ npm install -g roadmap-kit
52
+ roadmap-kit init
53
+ ```
54
+
55
+ ### Opción 3: Instalación Manual
56
+
57
+ ```bash
58
+ # Clonar el repositorio
59
+ git clone https://github.com/hacklet1101/roadmap-kit.git
60
+
61
+ # Copiar a tu proyecto
62
+ cp -r roadmap-kit /path/to/your/project/
63
+
64
+ # Ejecutar setup
65
+ cd /path/to/your/project/roadmap-kit
66
+ chmod +x setup.sh
67
+ ./setup.sh
68
+ ```
69
+
70
+ ---
71
+
72
+ ## 🎯 Uso Rápido
73
+
74
+ ### 1. Inicializar Roadmap
75
+
76
+ ```bash
77
+ # Con NPM scripts (si instalaste con setup.sh)
78
+ npm run roadmap:init
79
+
80
+ # O con CLI directamente
81
+ node roadmap-kit/cli.js init
82
+ ```
83
+
84
+ Esto crea:
85
+ - `roadmap.json` - Estado del proyecto
86
+ - `.clinerules` - Reglas para la IA
87
+
88
+ ### 2. Definir Features y Tareas
89
+
90
+ Edita `roadmap.json` y añade tus features:
91
+
92
+ ```json
93
+ {
94
+ "features": [
95
+ {
96
+ "id": "auth",
97
+ "name": "Autenticación",
98
+ "description": "Sistema de login con JWT",
99
+ "tasks": [
100
+ {
101
+ "id": "auth-login",
102
+ "name": "Implementar login",
103
+ "description": "Crear endpoint POST /api/auth/login"
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ }
109
+ ```
110
+
111
+ ### 3. Trabajar con la IA
112
+
113
+ Cuando la IA complete una tarea, haz commit con tags especiales:
114
+
115
+ ```bash
116
+ git commit -m "[task:auth-login] [status:completed] Implementa endpoint de login con JWT"
117
+ ```
118
+
119
+ ### 4. Sincronizar con Git
120
+
121
+ ```bash
122
+ npm run roadmap:scan
123
+ ```
124
+
125
+ Esto lee los commits y actualiza automáticamente el `roadmap.json`.
126
+
127
+ ### 5. Ver el Dashboard
128
+
129
+ ```bash
130
+ npm run roadmap
131
+ ```
132
+
133
+ Abre http://localhost:6969 y ve:
134
+ - Progreso de cada feature
135
+ - Tareas completadas vs pendientes
136
+ - Deuda técnica acumulada
137
+ - Recursos compartidos
138
+
139
+ ---
140
+
141
+ ## 📋 Formato de Commits
142
+
143
+ Para que el scanner actualice automáticamente el roadmap, usa estos tags:
144
+
145
+ ### Tags Disponibles:
146
+
147
+ - `[task:id]` - ID de la tarea del roadmap
148
+ - `[status:pending|in_progress|completed]` - Estado de la tarea
149
+ - `[debt:descripción]` - Deuda técnica detectada
150
+
151
+ ### Ejemplos:
152
+
153
+ ```bash
154
+ # Completar una tarea
155
+ git commit -m "[task:auth-login] [status:completed] Implementa endpoint de login con JWT"
156
+
157
+ # Marcar en progreso y reportar deuda técnica
158
+ git commit -m "[task:user-list] [status:in_progress] [debt:Falta paginación] Implementa listado básico"
159
+
160
+ # Múltiples deudas técnicas
161
+ git commit -m "[task:payment] [status:completed] [debt:Falta validación de tarjetas] [debt:Logs no centralizados] Implementa pagos"
162
+ ```
163
+
164
+ ---
165
+
166
+ ## 🤖 Protocolo de Trabajo con IA
167
+
168
+ ### ANTES de generar código:
169
+
170
+ 1. ✅ Lee el `roadmap.json` para entender la tarea
171
+ 2. ✅ Verifica qué recursos compartidos puedes reutilizar
172
+ 3. ✅ Consulta las convenciones de nomenclatura en `.clinerules`
173
+
174
+ ### DURANTE la implementación:
175
+
176
+ 1. ✅ NO dupliques código existente
177
+ 2. ✅ Mantén la nomenclatura existente
178
+ 3. ✅ Reutiliza componentes UI, utilidades y tablas DB
179
+
180
+ ### DESPUÉS de generar código:
181
+
182
+ 1. ✅ Actualiza el campo `ai_notes` explicando tus decisiones
183
+ 2. ✅ Lista los archivos modificados
184
+ 3. ✅ Indica qué recursos reutilizaste
185
+ 4. ✅ Reporta cualquier deuda técnica
186
+ 5. ✅ Haz commit con el formato correcto
187
+
188
+ ---
189
+
190
+ ## 🐳 Docker
191
+
192
+ ### Opción 1: Docker Standalone
193
+
194
+ ```bash
195
+ # Desde la raíz del proyecto
196
+ cd roadmap-kit/docker
197
+ docker-compose up
198
+ ```
199
+
200
+ Accede al dashboard en http://localhost:6969
201
+
202
+ ### Opción 2: Añadir a Docker Compose Existente
203
+
204
+ Genera el fragmento de configuración:
205
+
206
+ ```bash
207
+ npm run roadmap:docker
208
+ ```
209
+
210
+ Esto crea `docker-roadmap.yml` que puedes añadir a tu `docker-compose.yml`:
211
+
212
+ ```bash
213
+ cat docker-roadmap.yml >> docker-compose.yml
214
+ docker-compose up roadmap-dashboard
215
+ ```
216
+
217
+ ### Dockerfile Personalizado
218
+
219
+ Si quieres construir tu propia imagen:
220
+
221
+ ```bash
222
+ cd roadmap-kit/docker
223
+ docker build -t my-roadmap-kit .
224
+ docker run -p 6969:6969 \
225
+ -v $(pwd)/.git:/app/.git:ro \
226
+ -v $(pwd)/roadmap.json:/app/roadmap.json \
227
+ my-roadmap-kit
228
+ ```
229
+
230
+ ---
231
+
232
+ ## 📁 Estructura de Archivos
233
+
234
+ ```
235
+ roadmap-kit/
236
+ ├── roadmap.json # Estado del proyecto (auto-generado)
237
+ ├── scanner.js # Script que lee Git
238
+ ├── cli.js # CLI principal
239
+ ├── package.json # Dependencias
240
+ ├── dashboard/ # Dashboard React
241
+ │ ├── src/
242
+ │ │ ├── App.jsx
243
+ │ │ └── components/
244
+ │ │ ├── ProgressBar.jsx
245
+ │ │ ├── TaskList.jsx
246
+ │ │ ├── TechnicalDebt.jsx
247
+ │ │ └── SharedResources.jsx
248
+ │ ├── package.json
249
+ │ └── vite.config.js
250
+ ├── templates/
251
+ │ ├── roadmap.template.json # Plantilla inicial
252
+ │ └── clinerules.template # Reglas para IA
253
+ ├── docker/
254
+ │ ├── Dockerfile
255
+ │ ├── docker-compose.yml
256
+ │ └── entrypoint.sh
257
+ ├── setup.sh
258
+ └── README.md
259
+ ```
260
+
261
+ ---
262
+
263
+ ## 🎨 Dashboard
264
+
265
+ El dashboard muestra:
266
+
267
+ ### 📊 Progreso Total
268
+ - Barra de progreso general del proyecto
269
+ - Desglose por features
270
+
271
+ ### 📋 Features y Tareas
272
+ - Estado de cada tarea (Pendiente, En Progreso, Completado)
273
+ - Archivos afectados
274
+ - Recursos reutilizados
275
+ - Notas de la IA (expandibles)
276
+ - Métricas (líneas añadidas/eliminadas, complejidad)
277
+
278
+ ### 📦 Recursos Compartidos
279
+ - Componentes UI disponibles
280
+ - Utilidades (con ejemplos de uso)
281
+ - Tablas de base de datos
282
+
283
+ ### 💳 Deuda Técnica
284
+ - Agrupada por severidad (Alta, Media, Baja)
285
+ - Con esfuerzo estimado
286
+ - Trazable a la tarea que la generó
287
+
288
+ ---
289
+
290
+ ## 🔧 Comandos CLI
291
+
292
+ ### Inicializar Roadmap
293
+ ```bash
294
+ roadmap-kit init [--path <path>] [--force]
295
+ ```
296
+
297
+ Detecta automáticamente el entorno (JS, Python, Go) y crea:
298
+ - `roadmap.json` personalizado según el stack
299
+ - `.clinerules` con convenciones del proyecto
300
+
301
+ ### Escanear Git
302
+ ```bash
303
+ roadmap-kit scan [--path <path>]
304
+ ```
305
+
306
+ Lee los últimos 50 commits, parsea tags `[task:id]` y actualiza:
307
+ - Estado de tareas
308
+ - Archivos afectados
309
+ - Métricas de código
310
+ - Deuda técnica
311
+
312
+ ### Abrir Dashboard
313
+ ```bash
314
+ roadmap-kit dashboard [--path <path>]
315
+ ```
316
+
317
+ 1. Ejecuta el scanner
318
+ 2. Levanta el servidor Vite
319
+ 3. Abre http://localhost:6969
320
+
321
+ ### Generar Docker Config
322
+ ```bash
323
+ roadmap-kit docker [--path <path>]
324
+ ```
325
+
326
+ Crea `docker-roadmap.yml` listo para usar.
327
+
328
+ ---
329
+
330
+ ## 📖 Estructura del roadmap.json
331
+
332
+ ### Campos Principales:
333
+
334
+ ```json
335
+ {
336
+ "project_info": {
337
+ "name": "Nombre del proyecto",
338
+ "stack": ["Next.js", "Prisma", "PostgreSQL"],
339
+ "total_progress": 35,
340
+ "conventions": { ... },
341
+ "shared_resources": {
342
+ "ui_components": [...],
343
+ "utilities": [...],
344
+ "database_tables": [...]
345
+ }
346
+ },
347
+ "features": [
348
+ {
349
+ "id": "auth",
350
+ "name": "Autenticación",
351
+ "progress": 50,
352
+ "tasks": [
353
+ {
354
+ "id": "auth-login",
355
+ "status": "completed",
356
+ "ai_notes": "Se usó JWT con cookies httpOnly",
357
+ "affected_files": ["src/api/auth/login.ts"],
358
+ "reused_resources": ["lib/auth.ts"],
359
+ "technical_debt": [
360
+ {
361
+ "description": "Falta rate limiting",
362
+ "severity": "high",
363
+ "estimated_effort": "2 hours"
364
+ }
365
+ ]
366
+ }
367
+ ]
368
+ }
369
+ ]
370
+ }
371
+ ```
372
+
373
+ ---
374
+
375
+ ## 🌍 Trabajo en Equipo
376
+
377
+ ROADMAP-KIT está diseñado para trabajo colaborativo:
378
+
379
+ 1. **Git-Friendly**: El `roadmap.json` viaja con Git
380
+ 2. **Sincronización automática**: Cada `git pull` trae el roadmap actualizado
381
+ 3. **Sin conflictos**: Cada desarrollador trabaja en tareas diferentes
382
+ 4. **Visibilidad compartida**: Todo el equipo ve el mismo estado del proyecto
383
+
384
+ ### Flujo de Trabajo:
385
+
386
+ ```bash
387
+ # Developer A
388
+ git checkout -b feature/auth-login
389
+ # ... trabaja en la tarea ...
390
+ git commit -m "[task:auth-login] [status:completed] ..."
391
+ git push
392
+
393
+ # Developer B
394
+ git pull
395
+ npm run roadmap:scan # Ve el progreso de Developer A
396
+ npm run roadmap # Dashboard actualizado
397
+ ```
398
+
399
+ ---
400
+
401
+ ## 🚨 Troubleshooting
402
+
403
+ ### El scanner no encuentra tareas
404
+
405
+ **Problema**: Commits sin tags `[task:id]`
406
+
407
+ **Solución**: Usa el formato correcto:
408
+ ```bash
409
+ git commit -m "[task:your-task-id] [status:completed] Mensaje"
410
+ ```
411
+
412
+ ### Dashboard no carga roadmap.json
413
+
414
+ **Problema**: Archivo no copiado a `dashboard/public/`
415
+
416
+ **Solución**:
417
+ ```bash
418
+ cp roadmap.json roadmap-kit/dashboard/public/roadmap.json
419
+ ```
420
+
421
+ ### Docker no puede leer .git
422
+
423
+ **Problema**: Volumen no montado correctamente
424
+
425
+ **Solución**: Verifica que el `docker-compose.yml` tenga:
426
+ ```yaml
427
+ volumes:
428
+ - ./.git:/app/.git:ro
429
+ ```
430
+
431
+ ---
432
+
433
+ ## 🤝 Contribuir
434
+
435
+ ¡Contribuciones son bienvenidas!
436
+
437
+ 1. Fork el repositorio
438
+ 2. Crea una rama: `git checkout -b feature/amazing-feature`
439
+ 3. Commit: `git commit -m 'Add amazing feature'`
440
+ 4. Push: `git push origin feature/amazing-feature`
441
+ 5. Abre un Pull Request
442
+
443
+ ---
444
+
445
+ ## 📄 Licencia
446
+
447
+ MIT License - Ver [LICENSE](LICENSE) para más detalles.
448
+
449
+ ---
450
+
451
+ ## 🙋 Soporte
452
+
453
+ - **Issues**: https://github.com/hacklet1101/roadmap-kit/issues
454
+ - **Documentación**: https://roadmap-kit.dev
455
+ - **Discord**: https://discord.gg/roadmap-kit
456
+
457
+ ---
458
+
459
+ ## 🎉 Ejemplos de Uso
460
+
461
+ ### Ejemplo 1: Proyecto Next.js
462
+
463
+ ```bash
464
+ cd my-nextjs-project
465
+ npx roadmap-kit init
466
+ # Edita roadmap.json con tus features
467
+ npm run roadmap
468
+ ```
469
+
470
+ ### Ejemplo 2: Proyecto Python
471
+
472
+ ```bash
473
+ cd my-python-project
474
+ npx roadmap-kit init
475
+ # Detecta automáticamente Python y ajusta el roadmap
476
+ npm run roadmap:scan
477
+ ```
478
+
479
+ ### Ejemplo 3: Con Docker
480
+
481
+ ```bash
482
+ cd my-project
483
+ npm run roadmap:docker
484
+ docker-compose up roadmap-dashboard
485
+ # Accede a http://localhost:3001
486
+ ```
487
+
488
+ ---
489
+
490
+ ## 🔮 Roadmap Futuro
491
+
492
+ - [ ] Integración con GitHub Actions
493
+ - [ ] Exportar reportes en PDF
494
+ - [ ] Dashboard colaborativo en tiempo real
495
+ - [ ] Plugin para VSCode
496
+ - [ ] Soporte para GitLab/Bitbucket
497
+ - [ ] IA que sugiere tareas automáticamente
498
+
499
+ ---
500
+
501
+ **Hecho con ❤️ para desarrolladores que usan IA como copiloto**
502
+
503
+ 🗺️ **ROADMAP-KIT** - Because AI needs context too.