oden-forge 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.
Files changed (58) hide show
  1. package/.claude/CLAUDE.md +75 -0
  2. package/.claude/commands/oden/architect.md +204 -0
  3. package/.claude/commands/oden/checklist.md +199 -0
  4. package/.claude/commands/oden/daily.md +223 -0
  5. package/.claude/commands/oden/debug.md +203 -0
  6. package/.claude/commands/oden/epic.md +224 -0
  7. package/.claude/commands/oden/git.md +259 -0
  8. package/.claude/commands/oden/help.md +304 -0
  9. package/.claude/commands/oden/init-agents.md +268 -0
  10. package/.claude/commands/oden/init-mcp.md +460 -0
  11. package/.claude/commands/oden/init.md +495 -0
  12. package/.claude/commands/oden/mcp.md +585 -0
  13. package/.claude/commands/oden/prd.md +134 -0
  14. package/.claude/commands/oden/research.md +207 -0
  15. package/.claude/commands/oden/review.md +146 -0
  16. package/.claude/commands/oden/spec.md +539 -0
  17. package/.claude/commands/oden/sync.md +286 -0
  18. package/.claude/commands/oden/tasks.md +156 -0
  19. package/.claude/commands/oden/test.md +200 -0
  20. package/.claude/commands/oden/work.md +791 -0
  21. package/.claude/epics/.gitkeep +0 -0
  22. package/.claude/hooks/README.md +130 -0
  23. package/.claude/hooks/bash-worktree-fix.sh +189 -0
  24. package/.claude/prds/.gitkeep +0 -0
  25. package/.claude/rules/agent-coordination.md +224 -0
  26. package/.claude/rules/branch-operations.md +147 -0
  27. package/.claude/rules/datetime.md +118 -0
  28. package/.claude/rules/frontmatter-operations.md +58 -0
  29. package/.claude/rules/github-operations.md +89 -0
  30. package/.claude/rules/oden-methodology.md +111 -0
  31. package/.claude/rules/path-standards.md +155 -0
  32. package/.claude/rules/standard-patterns.md +174 -0
  33. package/.claude/rules/strip-frontmatter.md +82 -0
  34. package/.claude/rules/worktree-operations.md +136 -0
  35. package/.claude/scripts/oden/blocked.sh +72 -0
  36. package/.claude/scripts/oden/epic-list.sh +101 -0
  37. package/.claude/scripts/oden/epic-show.sh +91 -0
  38. package/.claude/scripts/oden/epic-status.sh +90 -0
  39. package/.claude/scripts/oden/help.sh +71 -0
  40. package/.claude/scripts/oden/in-progress.sh +74 -0
  41. package/.claude/scripts/oden/init.sh +192 -0
  42. package/.claude/scripts/oden/next.sh +65 -0
  43. package/.claude/scripts/oden/prd-list.sh +89 -0
  44. package/.claude/scripts/oden/prd-status.sh +63 -0
  45. package/.claude/scripts/oden/search.sh +71 -0
  46. package/.claude/scripts/oden/standup.sh +89 -0
  47. package/.claude/scripts/oden/status.sh +42 -0
  48. package/.claude/scripts/oden/validate.sh +101 -0
  49. package/.claude/settings.json +27 -0
  50. package/MIGRATION.md +217 -0
  51. package/README.md +368 -0
  52. package/bin/install.js +155 -0
  53. package/bin/migrate.js +191 -0
  54. package/bin/oden-forge.js +114 -0
  55. package/bin/post-install.js +47 -0
  56. package/bin/pre-uninstall.js +108 -0
  57. package/install.sh +231 -0
  58. package/package.json +76 -0
@@ -0,0 +1,495 @@
1
+ ---
2
+ allowed-tools: Bash, Read, Write, LS, Glob, AskUserQuestion, Task, TodoWrite
3
+ description: Wizard interactivo para crear proyectos desde cero con metodología Oden
4
+ ---
5
+
6
+ # Oden Forge - Project Initialization Wizard
7
+
8
+ Wizard interactivo que guía al usuario a crear un proyecto profesional siguiendo la metodología Documentation-First Development.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /oden:init [nombre-proyecto]
14
+ ```
15
+
16
+ ## Filosofía Core
17
+
18
+ > "Documenta y diseña COMPLETAMENTE antes de codificar"
19
+
20
+ Este wizard NO genera código. Genera la **documentación completa** que permitirá desarrollar con claridad.
21
+
22
+ ---
23
+
24
+ ## PASO 1: Entender el Objetivo
25
+
26
+ El objetivo es entender QUÉ necesita el usuario para RECOMENDAR el stack correcto.
27
+
28
+ ### 1.1 Nombre y Descripción
29
+
30
+ Si no se proporcionó como argumento:
31
+ - Nombre del proyecto (slug: lowercase, guiones)
32
+ - Descripción breve: "¿Qué problema resuelve tu producto?"
33
+
34
+ ### 1.2 Objetivo Principal del Producto
35
+
36
+ **Pregunta:** "¿Cuál es el objetivo principal de tu producto para los usuarios?"
37
+
38
+ Opciones:
39
+ - **Descubrir contenido**: Blog, noticias, catálogo, landing pages (SEO crítico)
40
+ - **Realizar transacciones**: Compras, reservas, pedidos, pagos
41
+ - **Productividad/trabajo**: Dashboard, herramientas, gestión de datos
42
+ - **Comunicación/social**: Chat, comunidad, red social
43
+ - **Tracking/monitoreo**: Seguimiento de ubicación, métricas en tiempo real
44
+ - **Servicio para sistemas**: API, microservicio, backend para terceros
45
+
46
+ ### 1.3 Acceso Principal de Usuarios
47
+
48
+ **Pregunta:** "¿Cómo accederán principalmente tus usuarios?"
49
+
50
+ Opciones:
51
+ - **Navegador escritorio**: Desde computadora principalmente
52
+ - **Navegador móvil**: Desde celular pero en browser
53
+ - **App instalada**: Necesitan app en su teléfono
54
+ - **Web + App**: Ambos canales son importantes
55
+ - **Solo API**: No hay interfaz de usuario directa
56
+
57
+ ### 1.4 Funcionalidades Nativas (solo si eligió app o web+app)
58
+
59
+ **Pregunta:** "¿Necesitas alguna de estas funcionalidades del dispositivo?"
60
+
61
+ Opciones (múltiple selección):
62
+ - **Cámara/fotos frecuente**: Escanear, tomar fotos constantemente
63
+ - **GPS en tiempo real**: Tracking de ubicación continuo
64
+ - **Notificaciones push críticas**: Alertas que no pueden fallar
65
+ - **Modo offline obligatorio**: Funcionar sin internet
66
+ - **Sensores del dispositivo**: Acelerómetro, giroscopio, NFC
67
+ - **Ninguna especial**: Funcionalidades estándar
68
+
69
+ ### 1.5 Actualizaciones de la App (solo si eligió app)
70
+
71
+ **Pregunta:** "¿Qué tan frecuente necesitas actualizar la app?"
72
+
73
+ Opciones:
74
+ - **Muy frecuente**: Updates semanales, A/B testing, iteración rápida
75
+ - **Normal**: Updates mensuales, proceso estándar de tiendas OK
76
+ - **Poco frecuente**: App estable, pocos cambios
77
+
78
+ ---
79
+
80
+ ## PASO 2: Recomendación de Stack
81
+
82
+ Basado en las respuestas, mostrar recomendación con justificación:
83
+
84
+ ### Matriz de Decisión
85
+
86
+ ```
87
+ SI objetivo = "Descubrir contenido" Y acceso = web:
88
+ → Next.js + Supabase
89
+ → Razón: SSR para SEO, hosting en Vercel, DB y auth integrados
90
+
91
+ SI objetivo = "Transacciones" Y acceso = "App instalada":
92
+ SI necesita_nativas_criticas (cámara frecuente, GPS tiempo real, sensores):
93
+ SI solo_iOS:
94
+ → Swift/SwiftUI + Supabase
95
+ → Razón: Máximo rendimiento y acceso a APIs nativas de iOS
96
+ SI solo_Android:
97
+ → Kotlin + Supabase
98
+ → Razón: Máximo rendimiento y acceso a APIs nativas de Android
99
+ SINO:
100
+ → Flutter + Supabase
101
+ → Razón: Nativo compilado, excelente acceso a hardware, una codebase
102
+ SINO:
103
+ → React Native + Expo + Supabase
104
+ → Razón: Updates OTA sin pasar por tiendas, desarrollo rápido, ecosistema React
105
+
106
+ SI objetivo = "Transacciones" Y acceso = "Web + App":
107
+ SI updates_frecuentes:
108
+ → Next.js (PWA) + React Native/Expo + Supabase
109
+ → Razón: Web con PWA, app con OTA updates, backend compartido
110
+ SINO:
111
+ → Next.js + React Native + Supabase
112
+ → Razón: Código compartido donde sea posible, experiencias nativas
113
+
114
+ SI objetivo = "Productividad/trabajo":
115
+ → React + Supabase (o Next.js si necesita SEO)
116
+ → Razón: SPA rápida, sin necesidad de SSR, Supabase para auth y DB
117
+
118
+ SI objetivo = "Comunicación/social":
119
+ SI acceso incluye app:
120
+ → React Native + Expo + Supabase (Realtime)
121
+ → Razón: Realtime de Supabase, push notifications, OTA updates
122
+ SINO:
123
+ → Next.js + Supabase (Realtime)
124
+ → Razón: WebSockets para chat, SEO para perfiles públicos
125
+
126
+ SI objetivo = "Tracking/monitoreo":
127
+ → React Native + Expo + Supabase
128
+ → O Flutter si necesita sensores avanzados
129
+ → Razón: Acceso a GPS, background location, push notifications
130
+
131
+ SI objetivo = "Servicio para sistemas":
132
+ → Node.js (Fastify/Express) + PostgreSQL
133
+ → O Python (FastAPI) + PostgreSQL
134
+ → Razón: API pura, sin frontend, escalable
135
+ ```
136
+
137
+ ### Formato de Recomendación
138
+
139
+ ```
140
+ ╔══════════════════════════════════════════════════════════════╗
141
+ ║ STACK RECOMENDADO ║
142
+ ╠══════════════════════════════════════════════════════════════╣
143
+ ║ ║
144
+ ║ Basado en tus necesidades: ║
145
+ ║ • Objetivo: {objetivo} ║
146
+ ║ • Acceso: {acceso} ║
147
+ ║ • Nativas: {funcionalidades} ║
148
+ ║ ║
149
+ ║ TE RECOMENDAMOS: ║
150
+ ║ ║
151
+ ║ Frontend: {framework} ║
152
+ ║ Backend: Supabase (PostgreSQL + Auth + Realtime) ║
153
+ ║ Hosting: {plataforma} ║
154
+ ║ ║
155
+ ║ ¿POR QUÉ? ║
156
+ ║ {justificación específica} ║
157
+ ║ ║
158
+ ╚══════════════════════════════════════════════════════════════╝
159
+
160
+ ¿Aceptas esta recomendación o prefieres otro stack?
161
+ 1. Aceptar recomendación
162
+ 2. Quiero usar otro framework (especificar)
163
+ 3. Tengo dudas, explícame más
164
+ ```
165
+
166
+ ---
167
+
168
+ ## PASO 3: Nivel de Experiencia
169
+
170
+ **Pregunta:** "¿Cuál es tu nivel de experiencia con este stack?"
171
+
172
+ - **Principiante** (primera vez con estas tecnologías):
173
+ - Explicaciones detalladas de cada decisión
174
+ - Guías de System Design incluidas
175
+ - Recursos de aprendizaje en cada paso
176
+
177
+ - **Intermedio** (he usado tecnologías similares):
178
+ - Guías contextuales cuando sea relevante
179
+ - Mejores prácticas destacadas
180
+
181
+ - **Avanzado** (domino este stack):
182
+ - Flujo rápido, solo decisiones clave
183
+ - Sin explicaciones básicas
184
+
185
+ ---
186
+
187
+ ## PASO 4: Scope del Proyecto
188
+
189
+ ### 4.1 MVP vs Modo Turbo
190
+
191
+ **Pregunta:** "¿Cuál es tu estrategia de lanzamiento?"
192
+
193
+ **MVP (Minimum Viable Product)**
194
+ - Timeline: 6-8 semanas
195
+ - Features: 30-40% del producto final
196
+ - Objetivo: Validar idea rápidamente
197
+ - Ideal para: Startups, validación de mercado
198
+
199
+ **Modo Completo**
200
+ - Timeline: 12-16 semanas
201
+ - Features: 100% profesional desde día 1
202
+ - Objetivo: Producto enterprise-ready
203
+ - Ideal para: Productos B2B, mercados establecidos
204
+
205
+ ### 4.2 Competidores
206
+
207
+ **Pregunta:** "Nombra 2-3 productos similares o competidores"
208
+
209
+ Esto nos ayudará en el análisis competitivo posterior.
210
+
211
+ ---
212
+
213
+ ## PASO 5: Features Clave para V1
214
+
215
+ **Pregunta:** "¿Qué features son CRÍTICAS para tu primera versión?"
216
+
217
+ Mostrar opciones relevantes según el objetivo:
218
+
219
+ ### Para Transacciones/E-commerce:
220
+ - [ ] Catálogo de productos
221
+ - [ ] Carrito de compras
222
+ - [ ] Checkout y pagos
223
+ - [ ] Historial de pedidos
224
+ - [ ] Notificaciones de estado
225
+
226
+ ### Para Productividad:
227
+ - [ ] Dashboard principal
228
+ - [ ] CRUD de entidades
229
+ - [ ] Reportes/exportación
230
+ - [ ] Roles y permisos
231
+ - [ ] Búsqueda y filtros
232
+
233
+ ### Para Social/Comunicación:
234
+ - [ ] Perfiles de usuario
235
+ - [ ] Feed/timeline
236
+ - [ ] Mensajería/chat
237
+ - [ ] Notificaciones
238
+ - [ ] Seguir/amigos
239
+
240
+ ### Para Tracking:
241
+ - [ ] Mapa en tiempo real
242
+ - [ ] Historial de ubicaciones
243
+ - [ ] Alertas por zona
244
+ - [ ] Reportes de actividad
245
+
246
+ ### Comunes a todos:
247
+ - [ ] Autenticación (email, social)
248
+ - [ ] Perfil de usuario
249
+ - [ ] Configuraciones
250
+ - [ ] Soporte/ayuda
251
+
252
+ ---
253
+
254
+ ## PASO 6: Integraciones
255
+
256
+ **Pregunta:** "¿Necesitas integrar con servicios externos?"
257
+
258
+ - **Pagos**: Stripe, MercadoPago, PayPal
259
+ - **Email**: Resend, SendGrid
260
+ - **Storage**: Supabase Storage, Cloudinary, S3
261
+ - **Maps**: Google Maps, Mapbox
262
+ - **AI**: OpenAI, Anthropic, Gemini
263
+ - **Analytics**: Mixpanel, Amplitude, PostHog
264
+ - **Ninguna por ahora**
265
+
266
+ ---
267
+
268
+ ## PASO 7: Resumen y Confirmación
269
+
270
+ ```
271
+ ╔══════════════════════════════════════════════════════════════╗
272
+ ║ RESUMEN DEL PROYECTO ║
273
+ ╠══════════════════════════════════════════════════════════════╣
274
+ ║ Proyecto: {nombre} ║
275
+ ║ Descripción: {descripción} ║
276
+ ║ Scope: {MVP/Completo} ({X semanas}) ║
277
+ ╠══════════════════════════════════════════════════════════════╣
278
+ ║ STACK ║
279
+ ║ ├─ Frontend: {framework} ║
280
+ ║ ├─ Backend: {backend} ║
281
+ ║ ├─ Database: {db} ║
282
+ ║ ├─ Auth: {auth} ║
283
+ ║ └─ Hosting: {hosting} ║
284
+ ╠══════════════════════════════════════════════════════════════╣
285
+ ║ FEATURES V1 ║
286
+ ║ {lista de features} ║
287
+ ╠══════════════════════════════════════════════════════════════╣
288
+ ║ INTEGRACIONES ║
289
+ ║ {lista de integraciones} ║
290
+ ╠══════════════════════════════════════════════════════════════╣
291
+ ║ COMPETIDORES A ANALIZAR ║
292
+ ║ {lista} ║
293
+ ╚══════════════════════════════════════════════════════════════╝
294
+
295
+ ¿Confirmas para crear la estructura del proyecto?
296
+ ```
297
+
298
+ ---
299
+
300
+ ## PASO 8: Generación de Estructura
301
+
302
+ Una vez confirmado:
303
+
304
+ ### 8.1 Crear Directorios
305
+
306
+ ```bash
307
+ mkdir -p docs/{guides,reference/modules,development/{current,completed},archived,temp}
308
+ mkdir -p .claude/{commands,scripts,rules,context}
309
+ ```
310
+
311
+ ### 8.2 Crear Archivos Iniciales
312
+
313
+ 1. **docs/README.md** - Índice de documentación
314
+ 2. **docs/reference/technical-decisions.md** - Con decisiones del wizard
315
+ 3. **docs/reference/competitive-analysis.md** - Template
316
+ 4. **docs/reference/implementation-plan.md** - Template
317
+ 5. **CLAUDE.md** - Instrucciones del proyecto
318
+
319
+ ### 8.3 Contenido de technical-decisions.md
320
+
321
+ Generar con las decisiones tomadas:
322
+
323
+ ```markdown
324
+ # Technical Decisions - {Proyecto}
325
+
326
+ **Estado:** 🟡 En Progreso
327
+ **Última actualización:** {fecha}
328
+
329
+ ---
330
+
331
+ ## 1. Visión General
332
+
333
+ ### 1.1 Descripción
334
+ {descripción del usuario}
335
+
336
+ ### 1.2 Objetivo Principal
337
+ {objetivo seleccionado}
338
+
339
+ ### 1.3 Scope
340
+ **Modalidad:** {MVP/Completo}
341
+ **Timeline estimado:** {X semanas}
342
+
343
+ ---
344
+
345
+ ## 2. Stack Tecnológico
346
+
347
+ ### 2.1 Frontend
348
+ - **Framework:** {selección}
349
+ - **Justificación:** {razón de la recomendación}
350
+
351
+ ### 2.2 Backend
352
+ - **Plataforma:** {Supabase/otro}
353
+ - **Database:** PostgreSQL
354
+ - **Auth:** {método}
355
+
356
+ ### 2.3 Hosting
357
+ - **Plataforma:** {Vercel/Expo/etc}
358
+ - **Justificación:** {razón}
359
+
360
+ ---
361
+
362
+ ## 3. Features V1
363
+
364
+ {lista de features seleccionadas con checkboxes}
365
+
366
+ ---
367
+
368
+ ## 4. Integraciones
369
+
370
+ {lista de integraciones}
371
+
372
+ ---
373
+
374
+ ## 5. Competidores a Analizar
375
+
376
+ {lista de competidores}
377
+
378
+ ---
379
+
380
+ ## 6. Arquitectura
381
+
382
+ [Pendiente: Completar con /oden:architect]
383
+
384
+ ---
385
+
386
+ ## 7. Schema de Base de Datos
387
+
388
+ [Pendiente: Completar con /oden:architect]
389
+
390
+ ---
391
+
392
+ ## 8. Próximos Pasos
393
+
394
+ 1. [ ] /oden:architect - Completar arquitectura y schema
395
+ 2. [ ] /oden:analyze - Análisis competitivo
396
+ 3. [ ] /oden:spec [módulo] - Especificaciones detalladas
397
+ 4. [ ] /oden:plan - Plan de implementación
398
+ 5. [ ] /oden:checklist - Verificar antes de codificar
399
+
400
+ ---
401
+
402
+ **Creado:** {fecha}
403
+ **Generado por:** Oden Forge Wizard
404
+ ```
405
+
406
+ ---
407
+
408
+ ## PASO 9: Siguiente Acción
409
+
410
+ ```
411
+ ╔══════════════════════════════════════════════════════════════╗
412
+ ║ ✅ PROYECTO INICIALIZADO ║
413
+ ╠══════════════════════════════════════════════════════════════╣
414
+ ║ ║
415
+ ║ Proyecto: {nombre} ║
416
+ ║ Stack: {resumen del stack} ║
417
+ ║ ║
418
+ ║ ARCHIVOS CREADOS: ║
419
+ ║ • docs/reference/technical-decisions.md ║
420
+ ║ • docs/reference/competitive-analysis.md ║
421
+ ║ • docs/reference/implementation-plan.md ║
422
+ ║ • CLAUDE.md ║
423
+ ║ ║
424
+ ║ PRÓXIMO PASO: ║
425
+ ║ ║
426
+ ║ /oden:architect ║
427
+ ║ ║
428
+ ║ Esto completará: ║
429
+ ║ • Arquitectura detallada ║
430
+ ║ • Schema de base de datos ║
431
+ ║ • Estructura de carpetas del código ║
432
+ ║ • Patrones de diseño a usar ║
433
+ ║ ║
434
+ ╚══════════════════════════════════════════════════════════════╝
435
+ ```
436
+
437
+ ---
438
+
439
+ ## Comportamiento según Nivel
440
+
441
+ ### Para Principiantes
442
+
443
+ Después de la recomendación de stack, explicar:
444
+
445
+ ```
446
+ 💡 ¿POR QUÉ ESTE STACK?
447
+
448
+ React Native + Expo:
449
+ • React Native te permite crear apps iOS y Android con JavaScript
450
+ • Expo simplifica el proceso: no necesitas Xcode ni Android Studio para empezar
451
+ • OTA Updates: puedes actualizar tu app sin pasar por las tiendas
452
+ • Gran comunidad y documentación
453
+
454
+ Supabase:
455
+ • Es como Firebase pero con PostgreSQL (base de datos relacional)
456
+ • Incluye: Base de datos, Autenticación, Storage, Realtime
457
+ • Tier gratuito generoso para empezar
458
+ • Dashboard visual para ver tus datos
459
+
460
+ ¿Quieres que te explique más sobre alguna tecnología?
461
+ ```
462
+
463
+ ### Para Intermedios/Avanzados
464
+
465
+ Solo mostrar la recomendación y justificación breve, sin explicaciones básicas.
466
+
467
+ ---
468
+
469
+ ## Stacks Predefinidos (Referencia Rápida)
470
+
471
+ | Caso de Uso | Stack | Hosting |
472
+ |-------------|-------|---------|
473
+ | Web con SEO | Next.js + Supabase | Vercel |
474
+ | Web SPA (dashboard) | React + Supabase | Vercel/Netlify |
475
+ | Mobile (updates frecuentes) | React Native + Expo + Supabase | Expo EAS |
476
+ | Mobile (nativo crítico) | Flutter + Supabase | App Stores |
477
+ | Mobile iOS only | Swift + Supabase | App Store |
478
+ | Web + Mobile | Next.js + React Native + Supabase | Vercel + Expo |
479
+ | API/Backend only | Node.js/Python + PostgreSQL | Railway/Render |
480
+
481
+ ---
482
+
483
+ ## Error Handling
484
+
485
+ ### Si el directorio ya existe:
486
+ ```
487
+ ⚠️ Ya existe un proyecto en este directorio.
488
+ ¿Qué deseas hacer?
489
+ 1. Continuar con el proyecto existente
490
+ 2. Usar otro directorio
491
+ 3. Cancelar
492
+ ```
493
+
494
+ ### Si el usuario rechaza la recomendación:
495
+ Preguntar qué stack prefiere y por qué, luego adaptar el flujo.