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,101 @@
1
+ #!/bin/bash
2
+
3
+ echo "Validating PM System..."
4
+ echo ""
5
+ echo ""
6
+
7
+ echo "🔍 Validating PM System"
8
+ echo "======================="
9
+ echo ""
10
+
11
+ errors=0
12
+ warnings=0
13
+
14
+ # Check directory structure
15
+ echo "📁 Directory Structure:"
16
+ [ -d ".claude" ] && echo " ✅ .claude directory exists" || { echo " ❌ .claude directory missing"; ((errors++)); }
17
+ [ -d ".claude/prds" ] && echo " ✅ PRDs directory exists" || echo " ⚠️ PRDs directory missing"
18
+ [ -d ".claude/epics" ] && echo " ✅ Epics directory exists" || echo " ⚠️ Epics directory missing"
19
+ [ -d ".claude/rules" ] && echo " ✅ Rules directory exists" || echo " ⚠️ Rules directory missing"
20
+ echo ""
21
+
22
+ # Check for orphaned files
23
+ echo "🗂️ Data Integrity:"
24
+
25
+ # Check epics have epic.md files
26
+ for epic_dir in .claude/epics/*/; do
27
+ [ -d "$epic_dir" ] || continue
28
+ if [ ! -f "$epic_dir/epic.md" ]; then
29
+ echo " ⚠️ Missing epic.md in $(basename "$epic_dir")"
30
+ ((warnings++))
31
+ fi
32
+ done
33
+
34
+ # Check for tasks without epics
35
+ orphaned=$(find .claude -name "[0-9]*.md" -not -path ".claude/epics/*/*" 2>/dev/null | wc -l)
36
+ [ $orphaned -gt 0 ] && echo " ⚠️ Found $orphaned orphaned task files" && ((warnings++))
37
+
38
+ # Check for broken references
39
+ echo ""
40
+ echo "🔗 Reference Check:"
41
+
42
+ for task_file in .claude/epics/*/[0-9]*.md; do
43
+ [ -f "$task_file" ] || continue
44
+
45
+ # Extract dependencies from task file
46
+ deps_line=$(grep "^depends_on:" "$task_file" | head -1)
47
+ if [ -n "$deps_line" ]; then
48
+ deps=$(echo "$deps_line" | sed 's/^depends_on: *//')
49
+ deps=$(echo "$deps" | sed 's/^\[//' | sed 's/\]$//')
50
+ deps=$(echo "$deps" | sed 's/,/ /g')
51
+ # Trim whitespace and handle empty cases
52
+ deps=$(echo "$deps" | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')
53
+ [ -z "$deps" ] && deps=""
54
+ else
55
+ deps=""
56
+ fi
57
+ if [ -n "$deps" ] && [ "$deps" != "depends_on:" ]; then
58
+ epic_dir=$(dirname "$task_file")
59
+ for dep in $deps; do
60
+ if [ ! -f "$epic_dir/$dep.md" ]; then
61
+ echo " ⚠️ Task $(basename "$task_file" .md) references missing task: $dep"
62
+ ((warnings++))
63
+ fi
64
+ done
65
+ fi
66
+ done
67
+
68
+ if [ $warnings -eq 0 ] && [ $errors -eq 0 ]; then
69
+ echo " ✅ All references valid"
70
+ fi
71
+
72
+ # Check frontmatter
73
+ echo ""
74
+ echo "📝 Frontmatter Validation:"
75
+ invalid=0
76
+
77
+ for file in $(find .claude -name "*.md" -path "*/epics/*" -o -path "*/prds/*" 2>/dev/null); do
78
+ if ! grep -q "^---" "$file"; then
79
+ echo " ⚠️ Missing frontmatter: $(basename "$file")"
80
+ ((invalid++))
81
+ fi
82
+ done
83
+
84
+ [ $invalid -eq 0 ] && echo " ✅ All files have frontmatter"
85
+
86
+ # Summary
87
+ echo ""
88
+ echo "📊 Validation Summary:"
89
+ echo " Errors: $errors"
90
+ echo " Warnings: $warnings"
91
+ echo " Invalid files: $invalid"
92
+
93
+ if [ $errors -eq 0 ] && [ $warnings -eq 0 ] && [ $invalid -eq 0 ]; then
94
+ echo ""
95
+ echo "✅ System is healthy!"
96
+ else
97
+ echo ""
98
+ echo "💡 Run /pm:clean to fix some issues automatically"
99
+ fi
100
+
101
+ exit 0
@@ -0,0 +1,27 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git:*)",
5
+ "Bash(gh:*)",
6
+ "Bash(npm:*)",
7
+ "Bash(pnpm:*)",
8
+ "Bash(yarn:*)",
9
+ "Bash(bun:*)",
10
+ "Bash(ls:*)",
11
+ "Bash(mkdir:*)",
12
+ "Bash(wc:*)",
13
+ "Bash(date:*)",
14
+ "Read",
15
+ "Write",
16
+ "Edit",
17
+ "Glob",
18
+ "Grep",
19
+ "LS",
20
+ "Task",
21
+ "WebSearch",
22
+ "WebFetch"
23
+ ],
24
+ "deny": []
25
+ },
26
+ "model": "claude-sonnet-4-20250514"
27
+ }
package/MIGRATION.md ADDED
@@ -0,0 +1,217 @@
1
+ # 🔄 Migración de Oden Forge v1 → v2
2
+
3
+ Esta guía te ayudará a migrar de Oden Forge v1 (o CCPM) a la nueva versión 2.0.
4
+
5
+ ## 📋 Resumen de Cambios
6
+
7
+ ### ✅ Lo que MEJORA en v2:
8
+ - **67% menos comandos** (57 → 19 comandos esenciales)
9
+ - **Teams integrado** para desarrollo paralelo
10
+ - **CCPM nativo** (sin dependencia externa)
11
+ - **Gestión de MCPs** con instalación one-click
12
+ - **Documentación profesional** con GitHub Pages
13
+
14
+ ### ⚠️ Lo que CAMBIA:
15
+ - Comandos `/pm:*` → `/oden:*`
16
+ - Estructura de archivos simplificada
17
+ - Workflow con Teams para epics grandes
18
+
19
+ ---
20
+
21
+ ## 🚀 Métodos de Migración
22
+
23
+ ### Opción 1: Automática (Recomendado)
24
+
25
+ ```bash
26
+ # Instalar v2 con migración automática
27
+ npm install -g oden-forge
28
+
29
+ # Si necesitas forzar migración manual:
30
+ oden-forge migrate
31
+ ```
32
+
33
+ ### Opción 2: Manual
34
+
35
+ ```bash
36
+ # 1. Backup de datos importantes
37
+ cp -r ~/.claude/prds ~/.claude/prds.backup
38
+ cp -r ~/.claude/epics ~/.claude/epics.backup
39
+
40
+ # 2. Limpiar instalación anterior
41
+ rm -rf ~/.claude/commands/pm
42
+ rm -rf ~/.claude/commands/ccpm
43
+ rm -rf ~/.claude/scripts/pm
44
+ rm -rf ~/.ccpm
45
+
46
+ # 3. Instalar v2
47
+ npm install -g oden-forge
48
+ ```
49
+
50
+ ---
51
+
52
+ ## 🔧 Proceso Detallado de Migración
53
+
54
+ ### 1. Pre-Migración: Backup de Datos
55
+
56
+ La herramienta preserva automáticamente:
57
+ - ✅ PRDs existentes en `~/.claude/prds/`
58
+ - ✅ Epics existentes en `~/.claude/epics/`
59
+ - ✅ Configuraciones de proyecto
60
+ - ✅ Archivos de documentación en `docs/`
61
+
62
+ ### 2. Detección Automática
63
+
64
+ El migrador detecta y limpia:
65
+
66
+ | Componente | Ubicación v1 | Acción |
67
+ |------------|-------------|---------|
68
+ | Comandos PM | `~/.claude/commands/pm/` | **Reemplazar** por `/oden:*` |
69
+ | Comandos CCPM | `~/.claude/commands/ccmp/` | **Reemplazar** por nativos |
70
+ | Scripts PM | `~/.claude/scripts/pm/` | **Actualizar** |
71
+ | CCMP Installation | `~/.ccmp/` | **Archivar y remover** |
72
+ | Rules antiguas | `~/.claude/rules/` | **Actualizar selectivamente** |
73
+
74
+ ### 3. Mapeo de Comandos
75
+
76
+ | Comando v1 | Comando v2 | Cambios |
77
+ |------------|------------|---------|
78
+ | `/pm:init` | `/oden:init` | ✅ Mismo wizard mejorado |
79
+ | `/pm:prd-new` | `/oden:prd` | ✅ Brainstorming inteligente |
80
+ | `/pm:epic-decompose` | `/oden:epic` | ✅ Work streams + Teams |
81
+ | `/pm:issue-start` | `/oden:work` | ✅ Orquestador inteligente |
82
+ | `/pm:sync` | `/oden:sync` | ✅ 100% nativo, sin CCPM |
83
+ | `/pm:daily` | `/oden:daily` | ✅ Sin cambios |
84
+ | **37 comandos legacy** | **Removidos** | Simplificación |
85
+
86
+ ---
87
+
88
+ ## ⚡ Quick Start Post-Migración
89
+
90
+ ### 1. Verificar Instalación
91
+ ```bash
92
+ oden-forge status
93
+ ```
94
+
95
+ ### 2. Primer Proyecto v2
96
+ ```bash
97
+ # En tu proyecto
98
+ claude-code # O tu comando de Claude Code
99
+
100
+ # Dentro de Claude Code:
101
+ /oden:init # Wizard mejorado
102
+ /oden:mcp recommend # Nuevo: gestión de MCPs
103
+ ```
104
+
105
+ ### 3. Workflow Mejorado
106
+ ```bash
107
+ # Flujo típico v2:
108
+ /oden:prd feature-name # PRD con brainstorming
109
+ /oden:epic feature-name # Epic con work streams
110
+ /oden:tasks feature-name # Descomposición automática
111
+ /oden:work feature-name # Teams para desarrollo paralelo
112
+ /oden:sync feature-name # Sync nativo con GitHub
113
+ ```
114
+
115
+ ---
116
+
117
+ ## 🔍 Verificación de Migración
118
+
119
+ ### Comando de Status
120
+ ```bash
121
+ oden-forge status
122
+ ```
123
+
124
+ **Output esperado:**
125
+ ```
126
+ 📋 Oden Forge Status
127
+ ══════════════════════════════════════════════════
128
+ ✅ Installed: 19 commands
129
+ Location: /Users/tu-usuario/.claude/commands/oden
130
+
131
+ 💡 Quick Start:
132
+ 1. cd your-project
133
+ 2. claude-code
134
+ 3. /oden:init
135
+ ```
136
+
137
+ ### Comandos Disponibles Post-Migración
138
+ ```bash
139
+ /oden:init # Wizard de inicialización
140
+ /oden:architect # Decisiones técnicas
141
+ /oden:prd # PRDs con brainstorming
142
+ /oden:epic # Epic con work streams
143
+ /oden:tasks # Descomposición de tasks
144
+ /oden:work # Orquestador con Teams
145
+ /oden:sync # Sync nativo con GitHub
146
+ /oden:mcp # Gestión de MCPs
147
+ /oden:help # Ayuda integrada
148
+ ```
149
+
150
+ ---
151
+
152
+ ## ❓ Troubleshooting
153
+
154
+ ### ❌ "Command not found: oden-forge"
155
+ ```bash
156
+ # Reinstalar globalmente
157
+ npm uninstall -g oden-forge
158
+ npm install -g oden-forge
159
+ ```
160
+
161
+ ### ❌ "Legacy installations detected"
162
+ ```bash
163
+ # Migración manual
164
+ oden-forge migrate
165
+ ```
166
+
167
+ ### ❌ "Commands not working in Claude Code"
168
+ ```bash
169
+ # Verificar instalación
170
+ oden-forge status
171
+
172
+ # Reinstalar si es necesario
173
+ oden-forge install --force
174
+ ```
175
+
176
+ ### ❌ "Lost my old PRDs/Epics"
177
+ ```bash
178
+ # Buscar backups automáticos
179
+ ls ~/.claude/*.backup*
180
+ ls ~/.claude/prds.backup/
181
+ ls ~/.claude/epics.backup/
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 🆘 Soporte
187
+
188
+ ### GitHub Issues
189
+ - **Bug reports**: https://github.com/javikin/oden-forge/issues
190
+ - **Feature requests**: https://github.com/javikin/oden-forge/discussions
191
+
192
+ ### Documentación
193
+ - **Guía completa**: https://javikin.github.io/oden-forge
194
+ - **Help integrado**: `/oden:help`
195
+
196
+ ### Rollback (Si es necesario)
197
+ ```bash
198
+ # Solo en caso de emergencia - volver a v1
199
+ npm uninstall -g oden-forge
200
+
201
+ # Restaurar backup
202
+ mv ~/.claude/prds.backup ~/.claude/prds
203
+ mv ~/.claude/epics.backup ~/.claude/epics
204
+
205
+ # Reinstalar v1 manualmente desde backup
206
+ ```
207
+
208
+ ---
209
+
210
+ ## 🎯 Próximos Pasos
211
+
212
+ 1. ✅ **Completar migración** usando esta guía
213
+ 2. 🆕 **Probar nuevas features** (Teams, MCPs, brainstorming)
214
+ 3. 📚 **Explorar documentación** en GitHub Pages
215
+ 4. 💡 **Dar feedback** para futuras mejoras
216
+
217
+ **¡Bienvenido a Oden Forge 2.0!** 🎉