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.
- package/.claude/CLAUDE.md +75 -0
- package/.claude/commands/oden/architect.md +204 -0
- package/.claude/commands/oden/checklist.md +199 -0
- package/.claude/commands/oden/daily.md +223 -0
- package/.claude/commands/oden/debug.md +203 -0
- package/.claude/commands/oden/epic.md +224 -0
- package/.claude/commands/oden/git.md +259 -0
- package/.claude/commands/oden/help.md +304 -0
- package/.claude/commands/oden/init-agents.md +268 -0
- package/.claude/commands/oden/init-mcp.md +460 -0
- package/.claude/commands/oden/init.md +495 -0
- package/.claude/commands/oden/mcp.md +585 -0
- package/.claude/commands/oden/prd.md +134 -0
- package/.claude/commands/oden/research.md +207 -0
- package/.claude/commands/oden/review.md +146 -0
- package/.claude/commands/oden/spec.md +539 -0
- package/.claude/commands/oden/sync.md +286 -0
- package/.claude/commands/oden/tasks.md +156 -0
- package/.claude/commands/oden/test.md +200 -0
- package/.claude/commands/oden/work.md +791 -0
- package/.claude/epics/.gitkeep +0 -0
- package/.claude/hooks/README.md +130 -0
- package/.claude/hooks/bash-worktree-fix.sh +189 -0
- package/.claude/prds/.gitkeep +0 -0
- package/.claude/rules/agent-coordination.md +224 -0
- package/.claude/rules/branch-operations.md +147 -0
- package/.claude/rules/datetime.md +118 -0
- package/.claude/rules/frontmatter-operations.md +58 -0
- package/.claude/rules/github-operations.md +89 -0
- package/.claude/rules/oden-methodology.md +111 -0
- package/.claude/rules/path-standards.md +155 -0
- package/.claude/rules/standard-patterns.md +174 -0
- package/.claude/rules/strip-frontmatter.md +82 -0
- package/.claude/rules/worktree-operations.md +136 -0
- package/.claude/scripts/oden/blocked.sh +72 -0
- package/.claude/scripts/oden/epic-list.sh +101 -0
- package/.claude/scripts/oden/epic-show.sh +91 -0
- package/.claude/scripts/oden/epic-status.sh +90 -0
- package/.claude/scripts/oden/help.sh +71 -0
- package/.claude/scripts/oden/in-progress.sh +74 -0
- package/.claude/scripts/oden/init.sh +192 -0
- package/.claude/scripts/oden/next.sh +65 -0
- package/.claude/scripts/oden/prd-list.sh +89 -0
- package/.claude/scripts/oden/prd-status.sh +63 -0
- package/.claude/scripts/oden/search.sh +71 -0
- package/.claude/scripts/oden/standup.sh +89 -0
- package/.claude/scripts/oden/status.sh +42 -0
- package/.claude/scripts/oden/validate.sh +101 -0
- package/.claude/settings.json +27 -0
- package/MIGRATION.md +217 -0
- package/README.md +368 -0
- package/bin/install.js +155 -0
- package/bin/migrate.js +191 -0
- package/bin/oden-forge.js +114 -0
- package/bin/post-install.js +47 -0
- package/bin/pre-uninstall.js +108 -0
- package/install.sh +231 -0
- package/package.json +76 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Oden Forge
|
|
2
|
+
|
|
3
|
+
Sistema de skills para crear proyectos profesionales usando la metodología Documentation-First Development.
|
|
4
|
+
|
|
5
|
+
## Filosofía Core
|
|
6
|
+
|
|
7
|
+
> "Documenta y diseña COMPLETAMENTE antes de codificar"
|
|
8
|
+
|
|
9
|
+
## Comandos Disponibles
|
|
10
|
+
|
|
11
|
+
### Setup
|
|
12
|
+
- `/oden:init` - Wizard interactivo para crear proyecto
|
|
13
|
+
- `/oden:init-agents` - Instalar agentes de desarrollo
|
|
14
|
+
- `/oden:init-mcp` - Instalar MCPs recomendados
|
|
15
|
+
- `/oden:mcp [sub]` - Gestionar MCPs (install, status, update, recommend)
|
|
16
|
+
- `/oden:help` - Mostrar ayuda
|
|
17
|
+
|
|
18
|
+
### Pre-Desarrollo (ejecutar en orden)
|
|
19
|
+
1. `/oden:architect` - Technical decisions + DB schema
|
|
20
|
+
2. `/oden:spec [módulo]` - Especificación de módulo
|
|
21
|
+
3. `/oden:checklist` - Verificar todo listo
|
|
22
|
+
|
|
23
|
+
### Feature Pipeline
|
|
24
|
+
1. `/oden:prd [nombre]` - Crear PRD con brainstorming inteligente
|
|
25
|
+
2. `/oden:epic [nombre]` - PRD -> Epic tecnico con work streams
|
|
26
|
+
3. `/oden:tasks [nombre]` - Descomponer Epic en issues
|
|
27
|
+
4. `/oden:sync [nombre]` - Sincronizar con GitHub Issues
|
|
28
|
+
5. `/oden:sync status` - Ver estado de sincronizacion
|
|
29
|
+
|
|
30
|
+
### Durante Desarrollo
|
|
31
|
+
- `/oden:work [epic/issue]` - Orquestador inteligente con Teams (auto/config/smart)
|
|
32
|
+
- `/oden:test [sub]` - Testing
|
|
33
|
+
- `/oden:debug [sub]` - Debugging
|
|
34
|
+
- `/oden:git [sub]` - Git workflow
|
|
35
|
+
- `/oden:research [topic]` - Investigación técnica
|
|
36
|
+
- `/oden:daily` - Registrar progreso del día
|
|
37
|
+
- `/oden:review [scope]` - Code review antes de merge
|
|
38
|
+
|
|
39
|
+
## Reglas de Oro
|
|
40
|
+
|
|
41
|
+
### ✅ SIEMPRE
|
|
42
|
+
1. Documenta TODO antes de codificar
|
|
43
|
+
2. Analiza 3+ competidores
|
|
44
|
+
3. Crea specs de 800+ líneas por módulo
|
|
45
|
+
4. Registra progreso diario
|
|
46
|
+
|
|
47
|
+
### ❌ NUNCA
|
|
48
|
+
1. No empieces a codificar sin specs completas
|
|
49
|
+
2. No documentes cambios triviales
|
|
50
|
+
3. No dupliques información
|
|
51
|
+
|
|
52
|
+
## Estructura de Documentación
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
docs/
|
|
56
|
+
├── README.md
|
|
57
|
+
├── guides/
|
|
58
|
+
├── reference/
|
|
59
|
+
│ ├── technical-decisions.md
|
|
60
|
+
│ ├── competitive-analysis.md
|
|
61
|
+
│ ├── implementation-plan.md
|
|
62
|
+
│ └── modules/
|
|
63
|
+
├── development/
|
|
64
|
+
│ ├── current/
|
|
65
|
+
│ └── completed/
|
|
66
|
+
├── archived/
|
|
67
|
+
└── temp/
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Métricas de Éxito
|
|
71
|
+
|
|
72
|
+
- technical-decisions.md: 2000+ líneas
|
|
73
|
+
- competitive-analysis.md: 1000+ líneas
|
|
74
|
+
- Specs de módulos: 800+ líneas c/u
|
|
75
|
+
- Total pre-código: 8000+ líneas
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash, Read, Write, LS, Glob, Grep, Task, TodoWrite, WebSearch, WebFetch
|
|
3
|
+
description: Crear/completar technical-decisions.md con arquitectura completa
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Oden Forge - Technical Architect
|
|
7
|
+
|
|
8
|
+
Actúa como **Technical Architect** para crear/completar el documento `docs/reference/technical-decisions.md`.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/oden:architect
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Prerrequisitos
|
|
17
|
+
|
|
18
|
+
1. Proyecto inicializado con `/oden:init`
|
|
19
|
+
2. Archivo `docs/reference/technical-decisions.md` existe (template)
|
|
20
|
+
|
|
21
|
+
## Responsabilidades
|
|
22
|
+
|
|
23
|
+
Como Technical Architect, debes:
|
|
24
|
+
|
|
25
|
+
1. **Completar technical-decisions.md** (2000-4000 líneas)
|
|
26
|
+
2. **Diseñar schema de base de datos** completo
|
|
27
|
+
3. **Definir interfaces TypeScript** para todos los modelos
|
|
28
|
+
4. **Documentar patrones de arquitectura**
|
|
29
|
+
5. **Identificar dependencias y riesgos**
|
|
30
|
+
|
|
31
|
+
## Proceso
|
|
32
|
+
|
|
33
|
+
### Paso 1: Análisis de Contexto
|
|
34
|
+
|
|
35
|
+
Lee el template existente de technical-decisions.md para entender:
|
|
36
|
+
- Stack tecnológico seleccionado
|
|
37
|
+
- Features requeridas
|
|
38
|
+
- Scope (MVP vs Turbo)
|
|
39
|
+
|
|
40
|
+
### Paso 2: Diseño de Arquitectura
|
|
41
|
+
|
|
42
|
+
Basado en el stack, diseña:
|
|
43
|
+
|
|
44
|
+
1. **Arquitectura de Alto Nivel**
|
|
45
|
+
- Diagrama de componentes
|
|
46
|
+
- Flujo de datos
|
|
47
|
+
- Capas de la aplicación
|
|
48
|
+
|
|
49
|
+
2. **Estructura de Carpetas**
|
|
50
|
+
```
|
|
51
|
+
src/
|
|
52
|
+
├── components/ # UI Components
|
|
53
|
+
├── hooks/ # Custom hooks
|
|
54
|
+
├── lib/ # Utilities
|
|
55
|
+
├── services/ # API calls
|
|
56
|
+
├── store/ # State management
|
|
57
|
+
├── types/ # TypeScript types
|
|
58
|
+
└── utils/ # Helper functions
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Paso 3: Schema de Base de Datos
|
|
62
|
+
|
|
63
|
+
Para cada entidad del sistema:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
## Tabla: {nombre}
|
|
67
|
+
|
|
68
|
+
### Propósito
|
|
69
|
+
{descripción}
|
|
70
|
+
|
|
71
|
+
### Columnas
|
|
72
|
+
| Columna | Tipo | Nullable | Default | Descripción |
|
|
73
|
+
|---------|------|----------|---------|-------------|
|
|
74
|
+
| id | UUID | No | gen_random_uuid() | PK |
|
|
75
|
+
| ... | ... | ... | ... | ... |
|
|
76
|
+
| created_at | TIMESTAMPTZ | No | now() | |
|
|
77
|
+
| updated_at | TIMESTAMPTZ | No | now() | |
|
|
78
|
+
|
|
79
|
+
### Índices
|
|
80
|
+
- PRIMARY KEY (id)
|
|
81
|
+
- INDEX idx_{tabla}_{columna} ON {tabla}({columna})
|
|
82
|
+
|
|
83
|
+
### Foreign Keys
|
|
84
|
+
- FK: {columna} → {otra_tabla}.id
|
|
85
|
+
|
|
86
|
+
### Triggers
|
|
87
|
+
- updated_at: Auto-update on modification
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Paso 4: Interfaces TypeScript
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
// Types para cada entidad
|
|
94
|
+
interface User {
|
|
95
|
+
id: string;
|
|
96
|
+
email: string;
|
|
97
|
+
name: string;
|
|
98
|
+
role: UserRole;
|
|
99
|
+
created_at: Date;
|
|
100
|
+
updated_at: Date;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
enum UserRole {
|
|
104
|
+
ADMIN = 'admin',
|
|
105
|
+
USER = 'user',
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Types para API responses
|
|
109
|
+
interface ApiResponse<T> {
|
|
110
|
+
data: T;
|
|
111
|
+
error?: ApiError;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
interface ApiError {
|
|
115
|
+
code: string;
|
|
116
|
+
message: string;
|
|
117
|
+
details?: Record<string, string>;
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Paso 5: Patrones de Arquitectura
|
|
122
|
+
|
|
123
|
+
Documenta patrones para:
|
|
124
|
+
|
|
125
|
+
1. **State Management**
|
|
126
|
+
- Cuándo usar global vs local state
|
|
127
|
+
- Estructura del store
|
|
128
|
+
- Selectors y actions
|
|
129
|
+
|
|
130
|
+
2. **Data Fetching**
|
|
131
|
+
- Estrategia de caching
|
|
132
|
+
- Optimistic updates
|
|
133
|
+
- Error handling
|
|
134
|
+
|
|
135
|
+
3. **Error Handling**
|
|
136
|
+
- Error boundaries
|
|
137
|
+
- Toast notifications
|
|
138
|
+
- Logging strategy
|
|
139
|
+
|
|
140
|
+
4. **Performance**
|
|
141
|
+
- Lazy loading
|
|
142
|
+
- Code splitting
|
|
143
|
+
- Memoization
|
|
144
|
+
|
|
145
|
+
### Paso 6: Seguridad
|
|
146
|
+
|
|
147
|
+
Documenta:
|
|
148
|
+
- Autenticación flow
|
|
149
|
+
- Autorización (RBAC)
|
|
150
|
+
- Input sanitization
|
|
151
|
+
- CORS policy
|
|
152
|
+
- Rate limiting
|
|
153
|
+
|
|
154
|
+
### Paso 7: APIs
|
|
155
|
+
|
|
156
|
+
Define endpoints principales:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## API Endpoints
|
|
160
|
+
|
|
161
|
+
### Authentication
|
|
162
|
+
| Method | Endpoint | Description | Auth |
|
|
163
|
+
|--------|----------|-------------|------|
|
|
164
|
+
| POST | /api/auth/register | Register user | No |
|
|
165
|
+
| POST | /api/auth/login | Login | No |
|
|
166
|
+
| POST | /api/auth/logout | Logout | Yes |
|
|
167
|
+
| POST | /api/auth/refresh | Refresh token | Yes |
|
|
168
|
+
|
|
169
|
+
### Resources
|
|
170
|
+
| Method | Endpoint | Description | Auth | Roles |
|
|
171
|
+
|--------|----------|-------------|------|-------|
|
|
172
|
+
| GET | /api/{resource} | List all | Yes | All |
|
|
173
|
+
| GET | /api/{resource}/:id | Get one | Yes | All |
|
|
174
|
+
| POST | /api/{resource} | Create | Yes | Admin |
|
|
175
|
+
| PUT | /api/{resource}/:id | Update | Yes | Admin |
|
|
176
|
+
| DELETE | /api/{resource}/:id | Delete | Yes | Admin |
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Output
|
|
180
|
+
|
|
181
|
+
Al completar, el archivo `docs/reference/technical-decisions.md` debe tener:
|
|
182
|
+
|
|
183
|
+
- [ ] 2000+ líneas de contenido
|
|
184
|
+
- [ ] Schema de BD completo para todas las entidades
|
|
185
|
+
- [ ] Interfaces TypeScript para todos los modelos
|
|
186
|
+
- [ ] Diagrama de arquitectura (ASCII o mermaid)
|
|
187
|
+
- [ ] Patrones documentados
|
|
188
|
+
- [ ] APIs definidas
|
|
189
|
+
- [ ] Consideraciones de seguridad
|
|
190
|
+
- [ ] Performance targets
|
|
191
|
+
|
|
192
|
+
## Siguientes Pasos
|
|
193
|
+
|
|
194
|
+
Después de completar arquitectura:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
1. /oden:analyze → Análisis competitivo
|
|
198
|
+
2. /oden:spec → Especificaciones por módulo
|
|
199
|
+
3. /oden:plan → Plan de implementación
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Referencia
|
|
203
|
+
|
|
204
|
+
Ver agente completo en: `.claude/agents/technical-architect.md`
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Read, LS, Glob, Grep
|
|
3
|
+
description: Verificar que todo esté listo antes de codificar
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Oden Forge - Pre-Code Checklist
|
|
7
|
+
|
|
8
|
+
Verifica que toda la documentación esté completa antes de escribir código.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/oden:checklist
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Propósito
|
|
17
|
+
|
|
18
|
+
> "Solo cuando TODO esté ✅, empezar a codificar."
|
|
19
|
+
|
|
20
|
+
Este comando verifica que se ha completado toda la fase de documentación según la metodología Oden.
|
|
21
|
+
|
|
22
|
+
## Verificaciones
|
|
23
|
+
|
|
24
|
+
### 1. Technical Decisions (2000+ líneas)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Verificar existencia
|
|
28
|
+
test -f docs/reference/technical-decisions.md
|
|
29
|
+
|
|
30
|
+
# Contar líneas
|
|
31
|
+
wc -l docs/reference/technical-decisions.md
|
|
32
|
+
# Target: >= 2000 líneas
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Verificar contenido:
|
|
36
|
+
- [ ] Stack tecnológico documentado
|
|
37
|
+
- [ ] Schema de BD completo
|
|
38
|
+
- [ ] Interfaces TypeScript definidas
|
|
39
|
+
- [ ] Patrones de arquitectura
|
|
40
|
+
- [ ] APIs diseñadas
|
|
41
|
+
- [ ] Seguridad considerada
|
|
42
|
+
|
|
43
|
+
### 2. Competitive Analysis (1000+ líneas)
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
test -f docs/reference/competitive-analysis.md
|
|
47
|
+
wc -l docs/reference/competitive-analysis.md
|
|
48
|
+
# Target: >= 1000 líneas
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Verificar contenido:
|
|
52
|
+
- [ ] 3+ competidores analizados
|
|
53
|
+
- [ ] Matriz de features
|
|
54
|
+
- [ ] Diferenciadores identificados
|
|
55
|
+
|
|
56
|
+
### 3. User Stories
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
test -f docs/reference/user-stories.md
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Verificar contenido:
|
|
63
|
+
- [ ] 2+ user personas
|
|
64
|
+
- [ ] User stories principales
|
|
65
|
+
- [ ] Criterios de aceptación
|
|
66
|
+
|
|
67
|
+
### 4. Module Specifications (800+ líneas c/u)
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Listar specs
|
|
71
|
+
ls docs/reference/modules/
|
|
72
|
+
|
|
73
|
+
# Verificar líneas de cada uno
|
|
74
|
+
for f in docs/reference/modules/*.md; do
|
|
75
|
+
echo "$f: $(wc -l < $f) líneas"
|
|
76
|
+
done
|
|
77
|
+
# Target: >= 800 líneas cada uno
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Módulos requeridos según technical-decisions.md
|
|
81
|
+
|
|
82
|
+
### 5. Implementation Plan
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
test -f docs/reference/implementation-plan.md
|
|
86
|
+
wc -l docs/reference/implementation-plan.md
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Verificar contenido:
|
|
90
|
+
- [ ] Timeline semana por semana
|
|
91
|
+
- [ ] Tareas con estimaciones
|
|
92
|
+
- [ ] Dependencias mapeadas
|
|
93
|
+
- [ ] Milestones definidos
|
|
94
|
+
- [ ] Riesgos identificados
|
|
95
|
+
|
|
96
|
+
### 6. Estructura de Documentación
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Verificar estructura
|
|
100
|
+
ls -la docs/
|
|
101
|
+
ls -la docs/guides/
|
|
102
|
+
ls -la docs/reference/
|
|
103
|
+
ls -la docs/reference/modules/
|
|
104
|
+
ls -la docs/development/current/
|
|
105
|
+
ls -la docs/development/completed/
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Output
|
|
109
|
+
|
|
110
|
+
### Si TODO está listo ✅
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
114
|
+
║ ✅ CHECKLIST COMPLETADO ║
|
|
115
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
116
|
+
║ ║
|
|
117
|
+
║ 📄 Technical Decisions ✅ 2,450 líneas ║
|
|
118
|
+
║ 📊 Competitive Analysis ✅ 1,230 líneas ║
|
|
119
|
+
║ 👥 User Stories ✅ 890 líneas ║
|
|
120
|
+
║ 📋 Module Specs ✅ 3 módulos (avg 950 líneas) ║
|
|
121
|
+
║ 📅 Implementation Plan ✅ 680 líneas ║
|
|
122
|
+
║ 📁 Doc Structure ✅ Completa ║
|
|
123
|
+
║ ║
|
|
124
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
125
|
+
║ ║
|
|
126
|
+
║ 🎉 ¡Estás listo para codificar! ║
|
|
127
|
+
║ ║
|
|
128
|
+
║ Siguiente paso: ║
|
|
129
|
+
║ 1. Crea tu primer feature branch ║
|
|
130
|
+
║ 2. Empieza con las tareas de Semana 1 ║
|
|
131
|
+
║ 3. Usa /oden:daily al final de cada día ║
|
|
132
|
+
║ ║
|
|
133
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Si FALTA algo ❌
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
140
|
+
║ ❌ CHECKLIST INCOMPLETO ║
|
|
141
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
142
|
+
║ ║
|
|
143
|
+
║ 📄 Technical Decisions ⚠️ 1,200 líneas (need 2000+) ║
|
|
144
|
+
║ 📊 Competitive Analysis ✅ 1,230 líneas ║
|
|
145
|
+
║ 👥 User Stories ❌ No encontrado ║
|
|
146
|
+
║ 📋 Module Specs ⚠️ 2/3 módulos completos ║
|
|
147
|
+
║ 📅 Implementation Plan ✅ 680 líneas ║
|
|
148
|
+
║ 📁 Doc Structure ✅ Completa ║
|
|
149
|
+
║ ║
|
|
150
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
151
|
+
║ ║
|
|
152
|
+
║ 🚫 NO empezar a codificar todavía ║
|
|
153
|
+
║ ║
|
|
154
|
+
║ Acciones requeridas: ║
|
|
155
|
+
║ ║
|
|
156
|
+
║ 1. /oden:architect ║
|
|
157
|
+
║ → Completar technical-decisions.md (+800 líneas) ║
|
|
158
|
+
║ ║
|
|
159
|
+
║ 2. /oden:analyze ║
|
|
160
|
+
║ → Crear user-stories.md ║
|
|
161
|
+
║ ║
|
|
162
|
+
║ 3. /oden:spec payments ║
|
|
163
|
+
║ → Falta spec del módulo payments ║
|
|
164
|
+
║ ║
|
|
165
|
+
║ Luego vuelve a ejecutar /oden:checklist ║
|
|
166
|
+
║ ║
|
|
167
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Criterios de Aprobación
|
|
171
|
+
|
|
172
|
+
| Documento | Mínimo | Ideal |
|
|
173
|
+
|-----------|--------|-------|
|
|
174
|
+
| technical-decisions.md | 2000 líneas | 3000+ |
|
|
175
|
+
| competitive-analysis.md | 1000 líneas | 1500+ |
|
|
176
|
+
| user-stories.md | Existe | 500+ líneas |
|
|
177
|
+
| {module}-spec.md | 800 líneas c/u | 1000+ c/u |
|
|
178
|
+
| implementation-plan.md | Existe | 500+ líneas |
|
|
179
|
+
|
|
180
|
+
## Excepciones
|
|
181
|
+
|
|
182
|
+
Para proyectos pequeños (MVP rápido), se puede aprobar con:
|
|
183
|
+
- technical-decisions.md: 1000+ líneas
|
|
184
|
+
- competitive-analysis.md: 500+ líneas
|
|
185
|
+
- Al menos 1 spec de módulo: 500+ líneas
|
|
186
|
+
|
|
187
|
+
Pero documentar la decisión de reducir documentación.
|
|
188
|
+
|
|
189
|
+
## Filosofía
|
|
190
|
+
|
|
191
|
+
> "Documentación > 8,000 líneas antes de primera línea de código"
|
|
192
|
+
|
|
193
|
+
Este checklist existe porque:
|
|
194
|
+
1. Documentar primero evita retrabajo
|
|
195
|
+
2. Specs claras = desarrollo más rápido
|
|
196
|
+
3. Decisiones informadas = menos bugs
|
|
197
|
+
4. El desarrollador sabe EXACTAMENTE qué construir
|
|
198
|
+
|
|
199
|
+
No es burocracia, es eficiencia.
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash, Read, Write, LS, Glob, Grep, TodoWrite
|
|
3
|
+
description: Registrar progreso diario (DAY_X_COMPLETED.md)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Oden Forge - Daily Logger
|
|
7
|
+
|
|
8
|
+
Actúa como **Daily Logger** para documentar el progreso del día.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/oden:daily
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Cuándo Usar
|
|
17
|
+
|
|
18
|
+
Ejecutar al final de cada día de desarrollo para:
|
|
19
|
+
- Documentar lo completado
|
|
20
|
+
- Registrar métricas
|
|
21
|
+
- Identificar bloqueantes
|
|
22
|
+
- Planificar mañana
|
|
23
|
+
|
|
24
|
+
## Proceso
|
|
25
|
+
|
|
26
|
+
### Paso 1: Identificar Feature Actual
|
|
27
|
+
|
|
28
|
+
Detectar en qué feature se está trabajando:
|
|
29
|
+
```bash
|
|
30
|
+
# Ver si hay carpeta de desarrollo activa
|
|
31
|
+
ls docs/development/current/
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Paso 2: Determinar Número de Día
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Contar DAY_X existentes
|
|
38
|
+
ls docs/development/current/{feature}/DAY_*.md 2>/dev/null | wc -l
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
El nuevo archivo será `DAY_{N+1}_COMPLETED.md`
|
|
42
|
+
|
|
43
|
+
### Paso 3: Recopilar Información
|
|
44
|
+
|
|
45
|
+
Preguntar o detectar:
|
|
46
|
+
|
|
47
|
+
1. **Tareas completadas**
|
|
48
|
+
- ¿Qué terminaste hoy?
|
|
49
|
+
- ¿Qué commits hiciste?
|
|
50
|
+
|
|
51
|
+
2. **Archivos modificados**
|
|
52
|
+
```bash
|
|
53
|
+
git diff --stat HEAD~{commits_hoy}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
3. **Métricas**
|
|
57
|
+
```bash
|
|
58
|
+
# Líneas agregadas/eliminadas
|
|
59
|
+
git diff --shortstat HEAD~{commits_hoy}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
4. **Aprendizajes**
|
|
63
|
+
- ¿Decisiones importantes?
|
|
64
|
+
- ¿Problemas resueltos?
|
|
65
|
+
- ¿Tips para el futuro?
|
|
66
|
+
|
|
67
|
+
5. **Issues**
|
|
68
|
+
- ¿Bugs encontrados?
|
|
69
|
+
- ¿Bloqueantes activos?
|
|
70
|
+
|
|
71
|
+
6. **Próximos pasos**
|
|
72
|
+
- ¿Qué harás mañana?
|
|
73
|
+
- ¿Qué depende de otros?
|
|
74
|
+
|
|
75
|
+
### Paso 4: Crear DAY_X_COMPLETED.md
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
# Day {X} - {YYYY-MM-DD}
|
|
79
|
+
|
|
80
|
+
**Feature:** {nombre}
|
|
81
|
+
**Autor:** {nombre}
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## ✅ Completado
|
|
86
|
+
|
|
87
|
+
### Tareas Finalizadas
|
|
88
|
+
- [x] {Tarea 1}
|
|
89
|
+
- [x] {Tarea 2}
|
|
90
|
+
- [x] {Tarea 3}
|
|
91
|
+
|
|
92
|
+
### Archivos Creados/Modificados
|
|
93
|
+
```
|
|
94
|
+
{output de git diff --stat}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Commits del Día
|
|
98
|
+
```
|
|
99
|
+
{output de git log --oneline --since="00:00"}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 📊 Métricas
|
|
105
|
+
|
|
106
|
+
| Métrica | Valor |
|
|
107
|
+
|---------|-------|
|
|
108
|
+
| Líneas agregadas | +{X} |
|
|
109
|
+
| Líneas eliminadas | -{Y} |
|
|
110
|
+
| Archivos nuevos | {N} |
|
|
111
|
+
| Archivos modificados | {M} |
|
|
112
|
+
| Tests nuevos | {T} |
|
|
113
|
+
| Tiempo de trabajo | {H}h |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 💡 Aprendizajes
|
|
118
|
+
|
|
119
|
+
### Decisiones Tomadas
|
|
120
|
+
{Si hubo decisiones importantes}
|
|
121
|
+
|
|
122
|
+
### Tips Descubiertos
|
|
123
|
+
{Patrones útiles, shortcuts, etc.}
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 🐛 Issues
|
|
128
|
+
|
|
129
|
+
### Resueltos
|
|
130
|
+
| Issue | Solución |
|
|
131
|
+
|-------|----------|
|
|
132
|
+
| {desc} | {cómo se resolvió} |
|
|
133
|
+
|
|
134
|
+
### Pendientes
|
|
135
|
+
| Issue | Severidad | Workaround |
|
|
136
|
+
|-------|-----------|------------|
|
|
137
|
+
| {desc} | {alta/media/baja} | {si existe} |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 🚧 Bloqueantes
|
|
142
|
+
|
|
143
|
+
{Si hay bloqueantes activos}
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## ⏭️ Próximos Pasos
|
|
148
|
+
|
|
149
|
+
### Mañana
|
|
150
|
+
1. [ ] {Tarea 1}
|
|
151
|
+
2. [ ] {Tarea 2}
|
|
152
|
+
3. [ ] {Tarea 3}
|
|
153
|
+
|
|
154
|
+
### Dependencias
|
|
155
|
+
- {Esperando X de Y}
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
**Actualizado:** {timestamp}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Paso 5: Actualizar Índices
|
|
163
|
+
|
|
164
|
+
1. Actualizar `docs/development/current/{feature}/README.md`:
|
|
165
|
+
```markdown
|
|
166
|
+
## Daily Logs
|
|
167
|
+
- [Day 1](./DAY_1_COMPLETED.md) - {resumen}
|
|
168
|
+
- [Day 2](./DAY_2_COMPLETED.md) - {resumen}
|
|
169
|
+
...
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
2. Actualizar implementation-plan.md si hay cambios de timeline
|
|
173
|
+
|
|
174
|
+
## Automatización
|
|
175
|
+
|
|
176
|
+
### Script de Ayuda
|
|
177
|
+
|
|
178
|
+
El comando puede usar este script para recopilar métricas:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
#!/bin/bash
|
|
182
|
+
# .claude/scripts/oden/daily-metrics.sh
|
|
183
|
+
|
|
184
|
+
echo "=== MÉTRICAS DEL DÍA ==="
|
|
185
|
+
echo ""
|
|
186
|
+
|
|
187
|
+
# Commits de hoy
|
|
188
|
+
echo "📝 Commits:"
|
|
189
|
+
git log --oneline --since="00:00" 2>/dev/null || echo "No commits hoy"
|
|
190
|
+
echo ""
|
|
191
|
+
|
|
192
|
+
# Archivos modificados
|
|
193
|
+
echo "📁 Archivos modificados:"
|
|
194
|
+
git diff --stat HEAD~$(git log --oneline --since="00:00" | wc -l) 2>/dev/null || echo "Sin cambios"
|
|
195
|
+
echo ""
|
|
196
|
+
|
|
197
|
+
# Líneas de código
|
|
198
|
+
echo "📊 Líneas:"
|
|
199
|
+
git diff --shortstat HEAD~$(git log --oneline --since="00:00" | wc -l) 2>/dev/null || echo "Sin cambios"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Checklist
|
|
203
|
+
|
|
204
|
+
Antes de terminar el día:
|
|
205
|
+
|
|
206
|
+
- [ ] DAY_X_COMPLETED.md creado
|
|
207
|
+
- [ ] Todas las tareas listadas
|
|
208
|
+
- [ ] Métricas registradas
|
|
209
|
+
- [ ] Issues documentados
|
|
210
|
+
- [ ] Próximos pasos definidos
|
|
211
|
+
- [ ] Archivo commiteado
|
|
212
|
+
|
|
213
|
+
## Tips
|
|
214
|
+
|
|
215
|
+
1. **Hazlo diario** - No acumules varios días
|
|
216
|
+
2. **Sé específico** - "Implementé login" > "Trabajé en auth"
|
|
217
|
+
3. **Incluye contexto** - Por qué se tomaron decisiones
|
|
218
|
+
4. **Registra problemas** - Ayuda al futuro tú
|
|
219
|
+
5. **Planifica mañana** - Termina el día con claridad
|
|
220
|
+
|
|
221
|
+
## Referencia
|
|
222
|
+
|
|
223
|
+
Ver agente completo en: `.claude/agents/daily-logger.md`
|