@damenor/agent-docs 0.1.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/README.md +115 -0
- package/dist/index.js +568 -0
- package/package.json +53 -0
- package/templates/base/AGENTS.md +177 -0
- package/templates/base/CHANGELOG.md +86 -0
- package/templates/base/README.md +110 -0
- package/templates/base/docs/CONTEXT.md +111 -0
- package/templates/base/docs/README.md +131 -0
- package/templates/base/docs/adr/TEMPLATE.md +83 -0
- package/templates/modules/agents/.agents/agents/doc-designer.md +56 -0
- package/templates/modules/agents/.agents/agents/doc-maintainer.md +54 -0
- package/templates/modules/agents/.agents/agents/doc-reviewer.md +80 -0
- package/templates/modules/agents/.agents/agents/doc-writer.md +66 -0
- package/templates/modules/agents/.agents/agents/reviewer.md +138 -0
- package/templates/modules/agents/.agents/skills/doc-design/SKILL.md +359 -0
- package/templates/modules/agents/.agents/skills/doc-design/references/design-system-format.md +550 -0
- package/templates/modules/agents/.agents/skills/doc-maintain/SKILL.md +345 -0
- package/templates/modules/agents/.agents/skills/doc-maintain/references/triggers.md +311 -0
- package/templates/modules/agents/.agents/skills/doc-review/SKILL.md +324 -0
- package/templates/modules/agents/.agents/skills/doc-review/references/health-checklist.md +290 -0
- package/templates/modules/agents/.agents/skills/doc-scaffold/SKILL.md +277 -0
- package/templates/modules/agents/.agents/skills/doc-scaffold/references/diataxis-quick-ref.md +149 -0
- package/templates/modules/agents/.agents/skills/doc-write/SKILL.md +414 -0
- package/templates/modules/agents/.agents/skills/doc-write/references/adr-format.md +194 -0
- package/templates/modules/agents/.agents/skills/doc-write/references/diataxis-patterns.md +351 -0
- package/templates/modules/ci/.github/workflows/docs-check.yml +94 -0
- package/templates/modules/design/docs/DESIGN.md +253 -0
- package/templates/modules/explanation/docs/explanation/agent-flow.md +15 -0
- package/templates/modules/explanation/docs/explanation/architecture.md +138 -0
- package/templates/modules/guides/docs/guides/deployment.md +189 -0
- package/templates/modules/guides/docs/guides/runbooks/TEMPLATE.md +86 -0
- package/templates/modules/guides/docs/guides/troubleshooting.md +65 -0
- package/templates/modules/operations/docs/operations/README.md +115 -0
- package/templates/modules/product/docs/product/overview.md +90 -0
- package/templates/modules/product/docs/roadmap.md +80 -0
- package/templates/modules/reference/docs/reference/api.md +131 -0
- package/templates/modules/reference/docs/reference/code-style.md +275 -0
- package/templates/modules/reference/docs/reference/configuration.md +117 -0
- package/templates/modules/reference/docs/reference/infrastructure.md +191 -0
- package/templates/modules/tutorials/docs/tutorials/environment-setup.md +212 -0
- package/templates/modules/tutorials/docs/tutorials/first-task.md +246 -0
- package/templates/modules/tutorials/docs/tutorials/quick-start.md +146 -0
- package/templates/shared/.editorconfig +20 -0
- package/templates/shared/.markdownlint.json +14 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doc-maintain
|
|
3
|
+
description: >
|
|
4
|
+
Mantiene la documentación sincronizada con los cambios en el código.
|
|
5
|
+
Se ejecuta DESPUÉS de cada tarea que modifica código, usando la tabla de
|
|
6
|
+
triggers para determinar qué documentación actualizar. Sigue el protocolo
|
|
7
|
+
post-tarea de AGENTS.md.
|
|
8
|
+
TRIGGER: Cuando el usuario dice "sincronizar docs", "actualizar docs post-cambio",
|
|
9
|
+
"post-feature", "post-release", "post-incident", o automáticamente después de
|
|
10
|
+
cualquier tarea que cambie código.
|
|
11
|
+
license: Apache-2.0
|
|
12
|
+
metadata:
|
|
13
|
+
author: damenordev
|
|
14
|
+
version: "1.0"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# doc-maintain
|
|
18
|
+
|
|
19
|
+
## Cuándo Usar
|
|
20
|
+
|
|
21
|
+
- **Post-feature**: Después de implementar una feature nueva
|
|
22
|
+
- **Post-release**: Después de hacer un release a producción
|
|
23
|
+
- **Post-incident**: Después de resolver un incidente en producción
|
|
24
|
+
- **Post-refactor**: Después de refactorizar código
|
|
25
|
+
- **Post-hire**: Cuando un nuevo dev revisa la documentación
|
|
26
|
+
- **Post-design-change**: Después de cambios en estilos/UI
|
|
27
|
+
- **Post-API-change**: Después de agregar/modificar/eliminar endpoints
|
|
28
|
+
- **Post-config-change**: Después de cambiar configuración
|
|
29
|
+
|
|
30
|
+
## Patrones Críticos
|
|
31
|
+
|
|
32
|
+
### REGLA #1: Esta skill se ejecuta DESPUÉS de cada tarea que cambia código
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Código cambió → doc-maintain se ejecuta
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
No es opcional. No es "cuando haya tiempo". Es parte del Definition of Done.
|
|
39
|
+
|
|
40
|
+
### REGLA #2: Verificar qué cambió y actualizar docs correspondientes
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
1. Identificar qué archivos cambiaron (git diff, lista de cambios)
|
|
44
|
+
2. Mapear cambios a documentación afectada (ver tabla de triggers)
|
|
45
|
+
3. Actualizar cada archivo de doc afectado
|
|
46
|
+
4. Verificar consistencia
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### REGLA #3: NUNCA saltar actualización de docs
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Código cambia = Documentación cambia
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Si no hay tiempo para actualizar docs, no hay tiempo para hacer el cambio de código.
|
|
56
|
+
|
|
57
|
+
### REGLA #4: Seguir el protocolo post-tarea de AGENTS.md
|
|
58
|
+
|
|
59
|
+
Ejecutar el **árbol post-tarea** definido en `AGENTS.md` § DESPUÉS de cada tarea. Ese árbol es la fuente de verdad de qué documentación actualizar según qué cambió.
|
|
60
|
+
|
|
61
|
+
### REGLA #5: Si no se sabe qué actualizar, ejecutar doc-review primero
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
¿No está claro qué docs se ven afectadas?
|
|
65
|
+
→ Ejecutar skill doc-review
|
|
66
|
+
→ Identificar gaps
|
|
67
|
+
→ Actualizar según el reporte
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Tabla de Triggers y Acciones
|
|
71
|
+
|
|
72
|
+
### Post-feature
|
|
73
|
+
|
|
74
|
+
**Qué detectar**: Se agregó una feature nueva (nuevo módulo, nueva funcionalidad, nuevo endpoint)
|
|
75
|
+
|
|
76
|
+
**Docs a actualizar**:
|
|
77
|
+
|
|
78
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
79
|
+
|-----------|--------|-----------|-------|
|
|
80
|
+
| `docs/CONTEXT.md` | Si hay términos nuevos | Crítica | doc-write |
|
|
81
|
+
| `docs/README.md` | Si se crearon/eliminaron archivos de doc | Crítica | doc-write |
|
|
82
|
+
| `docs/adr/` | Si se tomó una decisión arquitectónica | Alta | doc-write |
|
|
83
|
+
| `how-to/` | Si hay un problema repetible que la feature resuelve | Media | doc-write |
|
|
84
|
+
| `reference/` | Si se agregaron endpoints/funciones/props | Alta | doc-write |
|
|
85
|
+
| `tutorials/` | Si la feature cambia el onboarding | Baja | doc-write |
|
|
86
|
+
| `CHANGELOG.md` | Si la feature va a salir en un release | Alta | doc-write |
|
|
87
|
+
|
|
88
|
+
### Post-release
|
|
89
|
+
|
|
90
|
+
**Qué detectar**: Se hizo un deploy a producción, se creó un tag de versión
|
|
91
|
+
|
|
92
|
+
**Docs a actualizar**:
|
|
93
|
+
|
|
94
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
95
|
+
|-----------|--------|-----------|-------|
|
|
96
|
+
| `CHANGELOG.md` | Siempre | Crítica | doc-write |
|
|
97
|
+
| `docs/guides/deployment.md` | Si cambió el proceso de deploy | Alta | doc-write |
|
|
98
|
+
| `docs/README.md` | Si cambió la estructura de docs | Media | doc-write |
|
|
99
|
+
| `README.md` | Si hay cambios visibles al usuario | Alta | doc-write |
|
|
100
|
+
|
|
101
|
+
**Entrada de CHANGELOG**:
|
|
102
|
+
```markdown
|
|
103
|
+
## [X.Y.Z] - YYYY-MM-DD
|
|
104
|
+
|
|
105
|
+
### Added
|
|
106
|
+
- Descripción de feature nueva
|
|
107
|
+
|
|
108
|
+
### Changed
|
|
109
|
+
- Descripción de cambio
|
|
110
|
+
|
|
111
|
+
### Fixed
|
|
112
|
+
- Descripción de fix
|
|
113
|
+
|
|
114
|
+
### Breaking
|
|
115
|
+
- ⚠️ Descripción de breaking change
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Post-incident
|
|
119
|
+
|
|
120
|
+
**Qué detectar**: Se resolvió un incidente en producción (outage, bug crítico, data loss)
|
|
121
|
+
|
|
122
|
+
**Docs a actualizar**:
|
|
123
|
+
|
|
124
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
125
|
+
|-----------|--------|-----------|-------|
|
|
126
|
+
| `operations/post-mortems/YYYY-MM-DD-titulo.md` | Siempre | Crítica | doc-write |
|
|
127
|
+
| `operations/runbooks/` | Si hay pasos de resolución que repetir | Alta | doc-write |
|
|
128
|
+
| `docs/CONTEXT.md` | Si se descubrieron términos del dominio | Media | doc-write |
|
|
129
|
+
| `reference/configuration.md` | Si se cambiaron configs durante el incidente | Alta | doc-write |
|
|
130
|
+
| `how-to/troubleshooting.md` | Si el fix es aplicable a futuro | Alta | doc-write |
|
|
131
|
+
|
|
132
|
+
**Formato de post-mortem**:
|
|
133
|
+
```markdown
|
|
134
|
+
---
|
|
135
|
+
created: "YYYY-MM-DD"
|
|
136
|
+
status: active
|
|
137
|
+
type: explanation
|
|
138
|
+
tags: [post-mortem, incident, sev-N]
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
# Post-mortem: [Título del incidente]
|
|
142
|
+
|
|
143
|
+
**Fecha**: YYYY-MM-DD
|
|
144
|
+
**Severidad**: SEV-N
|
|
145
|
+
**Duración**: X horas/minutos
|
|
146
|
+
**Impacto**: Descripción del impacto en usuarios
|
|
147
|
+
|
|
148
|
+
## Línea de tiempo
|
|
149
|
+
- HH:MM — Detección
|
|
150
|
+
- HH:MM — Diagnóstico
|
|
151
|
+
- HH:MM — Mitigación
|
|
152
|
+
- HH:MM — Resolución
|
|
153
|
+
|
|
154
|
+
## Causa raíz
|
|
155
|
+
[Descripción]
|
|
156
|
+
|
|
157
|
+
## Acciones preventivas
|
|
158
|
+
- [ ] [Acción 1] — Responsable — Fecha límite
|
|
159
|
+
- [ ] [Acción 2] — Responsable — Fecha límite
|
|
160
|
+
|
|
161
|
+
## Lecciones aprendidas
|
|
162
|
+
[Qué aprendimos]
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Post-refactor
|
|
166
|
+
|
|
167
|
+
**Qué detectar**: Se refactorizó código (renombrar, mover, cambiar patrones)
|
|
168
|
+
|
|
169
|
+
**Docs a actualizar**:
|
|
170
|
+
|
|
171
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
172
|
+
|-----------|--------|-----------|-------|
|
|
173
|
+
| `docs/adr/` | Si el refactor implica un cambio de patrón | Alta | doc-write |
|
|
174
|
+
| `docs/explanation/architecture.md` | Si cambió la arquitectura | Alta | doc-write |
|
|
175
|
+
| `docs/CONTEXT.md` | Si cambiaron nombres/términos | Crítica | doc-write |
|
|
176
|
+
| `docs/README.md` | Si se movieron archivos | Media | doc-write |
|
|
177
|
+
| ADRs existentes | Verificar que sigan siendo válidos | Alta | doc-write |
|
|
178
|
+
|
|
179
|
+
### Post-hire
|
|
180
|
+
|
|
181
|
+
**Qué detectar**: Un nuevo dev se unió al equipo y revisa la documentación
|
|
182
|
+
|
|
183
|
+
**Docs a actualizar**:
|
|
184
|
+
|
|
185
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
186
|
+
|-----------|--------|-----------|-------|
|
|
187
|
+
| `tutorials/quick-start.md` | Si el nuevo dev no pudo seguir el tutorial | Crítica | doc-write |
|
|
188
|
+
| `docs/CONTEXT.md` | Si el nuevo dev encontró términos confusos | Alta | doc-write |
|
|
189
|
+
| Cualquier doc | Si el nuevo dev encontró info incorrecta | Alta | doc-write |
|
|
190
|
+
|
|
191
|
+
### Post-design-change
|
|
192
|
+
|
|
193
|
+
**Qué detectar**: Se cambiaron estilos, tokens de diseño, o componentes UI
|
|
194
|
+
|
|
195
|
+
**Docs a actualizar**:
|
|
196
|
+
|
|
197
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
198
|
+
|-----------|--------|-----------|-------|
|
|
199
|
+
| `DESIGN.md` | Siempre | Crítica | doc-design |
|
|
200
|
+
| `docs/CONTEXT.md` | Si hay términos de diseño nuevos | Media | doc-write |
|
|
201
|
+
|
|
202
|
+
**Usar skill `doc-design`** para re-extraer tokens y actualizar DESIGN.md.
|
|
203
|
+
|
|
204
|
+
### Post-API-change
|
|
205
|
+
|
|
206
|
+
**Qué detectar**: Se agregaron, modificaron o eliminaron endpoints
|
|
207
|
+
|
|
208
|
+
**Docs a actualizar**:
|
|
209
|
+
|
|
210
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
211
|
+
|-----------|--------|-----------|-------|
|
|
212
|
+
| `reference/api.md` | Siempre | Crítica | doc-write |
|
|
213
|
+
| `CHANGELOG.md` | Si hay breaking changes | Crítica | doc-write |
|
|
214
|
+
| `docs/adr/` | Si se cambió la estructura de la API | Alta | doc-write |
|
|
215
|
+
| `how-to/` | Si hay nuevos flujos de uso | Media | doc-write |
|
|
216
|
+
|
|
217
|
+
### Post-config-change
|
|
218
|
+
|
|
219
|
+
**Qué detectar**: Se cambiaron variables de entorno, configuraciones, o infraestructura
|
|
220
|
+
|
|
221
|
+
**Docs a actualizar**:
|
|
222
|
+
|
|
223
|
+
| Documento | Cuándo | Prioridad | Skill |
|
|
224
|
+
|-----------|--------|-----------|-------|
|
|
225
|
+
| `reference/configuration.md` | Siempre | Crítica | doc-write |
|
|
226
|
+
| `docs/guides/deployment.md` | Si afecta el deploy | Alta | doc-write |
|
|
227
|
+
| `docs/adr/` | Si es un cambio de infraestructura significativo | Alta | doc-write |
|
|
228
|
+
| `.env.example` | Si se agregaron variables | Alta | directo |
|
|
229
|
+
|
|
230
|
+
## Flujo del Proceso
|
|
231
|
+
|
|
232
|
+
### Paso 1: Identificar qué cambió
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# Opción A: Git diff
|
|
236
|
+
git diff --name-only HEAD~1 HEAD
|
|
237
|
+
git diff --name-only --staged
|
|
238
|
+
|
|
239
|
+
# Opción B: Lista manual de archivos cambiados
|
|
240
|
+
[lista proporcionada por el agente/humano]
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Paso 2: Mapear cambios a docs afectadas
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
Para cada archivo cambiado:
|
|
247
|
+
├── ¿Es código fuente? → Verificar reference/, CONTEXT.md
|
|
248
|
+
├── ¿Es estilo/CSS? → Verificar DESIGN.md
|
|
249
|
+
├── ¿Es configuración? → Verificar reference/configuration.md
|
|
250
|
+
├── ¿Es un módulo nuevo? → Verificar CONTEXT.md, docs/README.md
|
|
251
|
+
├── ¿Es un fix? → Verificar CHANGELOG.md, troubleshooting
|
|
252
|
+
├── ¿Es infraestructura? → Verificar deployment.md, ADRs
|
|
253
|
+
└── ¿Es un test? → Generalmente no requiere doc update
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Paso 3: Actualizar cada doc afectada
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
1. Abrir el archivo de doc afectado
|
|
260
|
+
2. Identificar la sección que necesita cambio
|
|
261
|
+
3. Hacer el cambio manteniendo el formato existente
|
|
262
|
+
4. Verificar que el cambio es consistente con el resto del archivo
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Paso 4: Verificar consistencia
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
1. CONTEXT.md: ¿Los términos nuevos están? ¿Los eliminados se marcaron?
|
|
269
|
+
2. docs/README.md: ¿El mapa refleja los archivos actuales?
|
|
270
|
+
3. ADRs: ¿Los cambios invalidan algún ADR existente?
|
|
271
|
+
4. DESIGN.md: ¿Los tokens siguen coincidiendo? (si cambiaron estilos)
|
|
272
|
+
5. reference/api.md: ¿Los endpoints documentados coinciden con el código?
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Paso 5: Reportar qué se actualizó
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
✅ Documentación actualizada:
|
|
279
|
+
- docs/CONTEXT.md: Agregados 2 términos (UserService, RateLimit)
|
|
280
|
+
- docs/README.md: Agregado how-to/rate-limiting.md al mapa
|
|
281
|
+
- reference/api.md: Actualizado endpoint /api/users con nuevo campo
|
|
282
|
+
|
|
283
|
+
ℹ️ Sin cambios necesarios:
|
|
284
|
+
- CHANGELOG.md: Feature aún no es release
|
|
285
|
+
- DESIGN.md: No hubo cambios de estilos
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Actualización por Lotes
|
|
289
|
+
|
|
290
|
+
Cuando múltiples cambios ocurren juntos (ej: fin de sprint):
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
1. Listar TODOS los cambios desde la última actualización
|
|
294
|
+
2. Agrupar por tipo de trigger (feature, refactor, fix, etc.)
|
|
295
|
+
3. Actualizar cada doc UNA VEZ con todos los cambios acumulados
|
|
296
|
+
4. Ejecutar doc-review al final para verificar consistencia
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### Ejemplo: Fin de sprint
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
Cambios del sprint:
|
|
303
|
+
- 3 features nuevas
|
|
304
|
+
- 1 refactor de auth
|
|
305
|
+
- 2 bug fixes
|
|
306
|
+
- 1 cambio de configuración
|
|
307
|
+
|
|
308
|
+
Docs a actualizar:
|
|
309
|
+
1. CHANGELOG.md → Entrada completa del sprint
|
|
310
|
+
2. CONTEXT.md → Términos de las 3 features + auth refactor
|
|
311
|
+
3. reference/api.md → Nuevos endpoints
|
|
312
|
+
4. docs/adr/ → ADR del refactor de auth (si aplica)
|
|
313
|
+
5. reference/configuration.md → Config cambiada
|
|
314
|
+
6. docs/README.md → Si se agregaron/eliminaron docs
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Comandos
|
|
318
|
+
|
|
319
|
+
### Identificar cambios
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
# Archivos modificados en el último commit
|
|
323
|
+
git diff --name-only HEAD~1
|
|
324
|
+
|
|
325
|
+
# Archivos modificados (staged + unstaged)
|
|
326
|
+
git diff --name-only; git diff --name-only --staged
|
|
327
|
+
|
|
328
|
+
# Cambios en un rango de commits
|
|
329
|
+
git diff --name-only commit1..commit2
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Verificar consistencia post-actualización
|
|
333
|
+
|
|
334
|
+
```
|
|
335
|
+
1. ¿CONTEXT.md tiene todos los términos nuevos del código?
|
|
336
|
+
2. ¿docs/README.md lista todos los archivos de doc existentes?
|
|
337
|
+
3. ¿ADRs son consistentes con la implementación actual?
|
|
338
|
+
4. ¿DESIGN.md coincide con estilos actuales?
|
|
339
|
+
5. ¿reference/api.md refleja endpoints actuales?
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
## Recursos
|
|
343
|
+
|
|
344
|
+
- [Triggers Reference](references/triggers.md) — Tabla completa de eventos → docs a actualizar con ejemplos
|
|
345
|
+
- Skills relacionados: `doc-write` (escribir/actualizar docs), `doc-review` (auditar después de actualizar), `doc-design` (actualizar DESIGN.md), `doc-scaffold` (si falta estructura)
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: "2024-01-15"
|
|
3
|
+
status: active
|
|
4
|
+
type: reference
|
|
5
|
+
tags: [triggers, mantenimiento, sincronizacion, documentacion]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Triggers — Referencia Completa
|
|
9
|
+
|
|
10
|
+
## Tabla Maestra: Evento → Doc a Actualizar
|
|
11
|
+
|
|
12
|
+
| Evento | Doc a actualizar | Prioridad | Cómo detectar |
|
|
13
|
+
|--------|-----------------|-----------|---------------|
|
|
14
|
+
| Feature nueva | CONTEXT.md, docs/README.md, reference/ | Crítica | Nuevo módulo/archivo en src/ |
|
|
15
|
+
| Feature nueva con decisión arq. | docs/adr/ | Alta | Se discutió arquitectura |
|
|
16
|
+
| Feature nueva con nuevo endpoint | reference/api.md | Crítica | Nuevo archivo en routes/ |
|
|
17
|
+
| Feature nueva con UI nueva | DESIGN.md | Alta | Nuevo componente UI |
|
|
18
|
+
| Release | CHANGELOG.md, docs/guides/deployment.md | Crítica | git tag creado |
|
|
19
|
+
| Release con breaking change | CHANGELOG.md ⚠️, reference/api.md | Crítica | API cambió retrocompatibilidad |
|
|
20
|
+
| Incidente | operations/post-mortems/, operations/runbooks/ | Crítica | Alerta resuelta, outage |
|
|
21
|
+
| Incidente con fix aplicable | how-to/troubleshooting.md | Alta | Fix reusable |
|
|
22
|
+
| Incidente con config cambiada | reference/configuration.md | Alta | .env o config cambió |
|
|
23
|
+
| Refactor | CONTEXT.md, explanation/architecture.md | Alta | Archivos renombrados/movidos |
|
|
24
|
+
| Refactor con cambio de patrón | docs/adr/ | Alta | Patrón de diseño cambió |
|
|
25
|
+
| Refactor que invalida ADR | ADR existente → status: deprecated | Alta | ADR ya no aplica |
|
|
26
|
+
| Nuevo dev en equipo | tutorials/quick-start.md | Crítica si falla | Dev reporta confusión |
|
|
27
|
+
| Nuevo dev encuentra errores | Cualquier doc afectada | Alta | Dev reporta info incorrecta |
|
|
28
|
+
| Cambio de estilos/tokens | DESIGN.md | Crítica | CSS/theme cambió |
|
|
29
|
+
| Cambio de estilos con nuevo componente | DESIGN.md (components) | Alta | Nuevo componente UI |
|
|
30
|
+
| Nuevo endpoint | reference/api.md | Crítica | Nuevo archivo en routes/ |
|
|
31
|
+
| Endpoint eliminado | reference/api.md | Crítica | Archivo eliminado de routes/ |
|
|
32
|
+
| Endpoint modificado | reference/api.md | Crítica | Params/respuesta cambiaron |
|
|
33
|
+
| Variable de entorno nueva | reference/configuration.md | Crítica | .env.example cambió |
|
|
34
|
+
| Config eliminada | reference/configuration.md | Crítica | .env.example cambió |
|
|
35
|
+
| Config con nuevo default | reference/configuration.md | Alta | Default cambió en código |
|
|
36
|
+
| Término nuevo en dominio | CONTEXT.md | Crítica | Nuevo concepto en código |
|
|
37
|
+
| Término eliminado | CONTEXT.md | Media | Concepto ya no existe |
|
|
38
|
+
| Archivo de doc creado | docs/README.md | Crítica | Nuevo .md en docs/ |
|
|
39
|
+
| Archivo de doc eliminado | docs/README.md | Crítica | .md eliminado de docs/ |
|
|
40
|
+
| Dependencia agregada | docs/adr/ si es significativa | Alta | package.json cambió |
|
|
41
|
+
| Dependencia eliminada | reference/ si aplica | Media | package.json cambió |
|
|
42
|
+
| Dependencia con major upgrade | CHANGELOG.md, reference/ | Alta | package.json versión major↑ |
|
|
43
|
+
| Schema de DB cambió | reference/database.md | Alta | Migración creada |
|
|
44
|
+
| Nuevo evento/mensaje | reference/events.md | Alta | Nuevo tipo de evento |
|
|
45
|
+
| Error nuevo con código | reference/errors.md | Alta | Nuevo código de error |
|
|
46
|
+
| Proceso de deploy cambió | docs/guides/deployment.md | Crítica | CI/CD config cambió |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Niveles de Prioridad
|
|
51
|
+
|
|
52
|
+
### 🔴 Crítica — Actualizar inmediatamente
|
|
53
|
+
|
|
54
|
+
La documentación incorrecta causa problemas reales:
|
|
55
|
+
|
|
56
|
+
- **Sin reference/api.md actualizada** → Integradores usan endpoints incorrectos
|
|
57
|
+
- **Sin CHANGELOG** → No se sabe qué cambió entre versiones
|
|
58
|
+
- **CONTEXT.md incorrecto** → Términos ambiguos causan bugs de comunicación
|
|
59
|
+
- **DESIGN.md desincronizado** → Inconsistencias visuales en producción
|
|
60
|
+
- **configuration.md desactualizada** → Deploy con variables incorrectas
|
|
61
|
+
- **Post-mortem no escrito** → Se repite el mismo incidente
|
|
62
|
+
|
|
63
|
+
**Tiempo esperado**: Actualizar dentro de la misma tarea/PR.
|
|
64
|
+
|
|
65
|
+
### 🟡 Alta — Actualizar esta semana
|
|
66
|
+
|
|
67
|
+
La documentación faltante causa fricción pero no rompe nada:
|
|
68
|
+
|
|
69
|
+
- **ADR faltante** → Decisiones sin contexto para nuevos devs
|
|
70
|
+
- **How-to faltante** → Preguntas repetitivas al equipo
|
|
71
|
+
- **Explanation faltante** → Confusión sobre decisiones pasadas
|
|
72
|
+
- **Tutorial desactualizado** → Onboarding más lento
|
|
73
|
+
|
|
74
|
+
**Tiempo esperado**: Actualizar dentro del sprint.
|
|
75
|
+
|
|
76
|
+
### 🟢 Media — Actualizar cuando sea posible
|
|
77
|
+
|
|
78
|
+
La documentación podría mejorarse pero no es urgente:
|
|
79
|
+
|
|
80
|
+
- **Término en CONTEXT.md que ya no aplica** → Limpieza
|
|
81
|
+
- **Ejemplo que podría ser mejor** → Mejora incremental
|
|
82
|
+
- **Referencia cruzada faltante** → Navegación más fácil
|
|
83
|
+
|
|
84
|
+
**Tiempo esperado**: Backlog, hacer cuando haya tiempo.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Ejemplos por Trigger
|
|
89
|
+
|
|
90
|
+
### Ejemplo 1: Post-feature — Nuevo módulo de notificaciones
|
|
91
|
+
|
|
92
|
+
**Cambios en código**:
|
|
93
|
+
```
|
|
94
|
+
src/notifications/
|
|
95
|
+
├── notification.service.ts (nuevo)
|
|
96
|
+
├── notification.controller.ts (nuevo)
|
|
97
|
+
├── templates/ (nuevo)
|
|
98
|
+
└── events/ (nuevo)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Docs a actualizar**:
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
1. docs/CONTEXT.md → Agregar:
|
|
105
|
+
- NotificationService: Servicio encargado de enviar notificaciones
|
|
106
|
+
- NotificationTemplate: Plantilla para generar notificaciones
|
|
107
|
+
- NotificationEvent: Evento que dispara una notificación
|
|
108
|
+
|
|
109
|
+
2. docs/README.md → Agregar al mapa:
|
|
110
|
+
- reference/notifications.md (si se crea)
|
|
111
|
+
|
|
112
|
+
3. reference/api.md → Agregar:
|
|
113
|
+
- POST /api/notifications
|
|
114
|
+
- GET /api/notifications/:id
|
|
115
|
+
- GET /api/notifications (list)
|
|
116
|
+
|
|
117
|
+
4. reference/events.md → Agregar:
|
|
118
|
+
- notification.created
|
|
119
|
+
- notification.sent
|
|
120
|
+
- notification.failed
|
|
121
|
+
|
|
122
|
+
5. ¿ADR necesario? → Solo si la implementación implica una decisión arquitectónica
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Ejemplo 2: Post-release — v2.1.0
|
|
126
|
+
|
|
127
|
+
**Qué cambió**:
|
|
128
|
+
- 3 features nuevas
|
|
129
|
+
- 2 bugs corregidos
|
|
130
|
+
- 1 breaking change en API
|
|
131
|
+
|
|
132
|
+
**Docs a actualizar**:
|
|
133
|
+
|
|
134
|
+
```markdown
|
|
135
|
+
1. CHANGELOG.md → Agregar entrada:
|
|
136
|
+
|
|
137
|
+
## [2.1.0] - 2024-03-15
|
|
138
|
+
|
|
139
|
+
### Added
|
|
140
|
+
- Módulo de notificaciones
|
|
141
|
+
- Exportación a CSV
|
|
142
|
+
- Filtros avanzados en búsqueda
|
|
143
|
+
|
|
144
|
+
### Changed
|
|
145
|
+
- El endpoint /api/users ahora retorna `avatarUrl` en vez de `avatar`
|
|
146
|
+
|
|
147
|
+
### Fixed
|
|
148
|
+
- Timeout en queries de reportes grandes
|
|
149
|
+
- Error 500 al crear usuario sin email
|
|
150
|
+
|
|
151
|
+
### Breaking ⚠️
|
|
152
|
+
- GET /api/users: campo `avatar` renombrado a `avatarUrl`
|
|
153
|
+
|
|
154
|
+
2. reference/api.md → Actualizar campo renombrado
|
|
155
|
+
|
|
156
|
+
3. docs/guides/deployment.md → Solo si cambió el proceso de deploy
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Ejemplo 3: Post-incident — Timeout en base de datos
|
|
160
|
+
|
|
161
|
+
**Qué pasó**: La app estuvo caída 30 minutos por queries sin timeout
|
|
162
|
+
|
|
163
|
+
**Docs a actualizar**:
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
1. operations/post-mortems/2024-03-15-db-timeout.md → Crear post-mortem completo
|
|
167
|
+
|
|
168
|
+
2. reference/configuration.md → Agregar:
|
|
169
|
+
- DB_QUERY_TIMEOUT: Timeout máximo para queries (default: 30s)
|
|
170
|
+
|
|
171
|
+
3. how-to/troubleshooting.md → Agregar:
|
|
172
|
+
- "Cómo diagnosticar timeouts de base de datos"
|
|
173
|
+
|
|
174
|
+
4. operations/runbooks/database-timeout.md → Crear runbook si no existe
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Ejemplo 4: Post-refactor — Renombrar UserService a AccountService
|
|
178
|
+
|
|
179
|
+
**Qué cambió**: Se renombró la clase y se movió de carpeta
|
|
180
|
+
|
|
181
|
+
**Docs a actualizar**:
|
|
182
|
+
|
|
183
|
+
```markdown
|
|
184
|
+
1. docs/CONTEXT.md → Actualizar:
|
|
185
|
+
- UserService → AccountService (renombrado)
|
|
186
|
+
- Marcar UserService como deprecated si hay referencia externa
|
|
187
|
+
|
|
188
|
+
2. docs/explanation/architecture.md → Actualizar diagramas/referencias
|
|
189
|
+
|
|
190
|
+
3. reference/api.md → Verificar si endpoints cambiaron de nombre
|
|
191
|
+
|
|
192
|
+
4. docs/adr/ → ¿El refactor merece un ADR? Solo si cambió el patrón
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Ejemplo 5: Post-design-change — Nuevo sistema de colores
|
|
196
|
+
|
|
197
|
+
**Qué cambió**: Se actualizó la paleta de colores en Tailwind config
|
|
198
|
+
|
|
199
|
+
**Docs a actualizar**:
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
1. DESIGN.md → Usar skill doc-design para:
|
|
203
|
+
- Re-extraer colores de Tailwind config
|
|
204
|
+
- Actualizar sección colors en frontmatter
|
|
205
|
+
- Verificar que los tokens de componentes siguen siendo válidos
|
|
206
|
+
|
|
207
|
+
2. docs/CONTEXT.md → Si hay nuevos términos de diseño
|
|
208
|
+
|
|
209
|
+
3. CHANGELOG.md → Si el cambio es visible para usuarios
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Ejemplo 6: Post-API-change — Nuevo endpoint de búsqueda
|
|
213
|
+
|
|
214
|
+
**Qué cambió**: Se agregó GET /api/search con query params
|
|
215
|
+
|
|
216
|
+
**Docs a actualizar**:
|
|
217
|
+
|
|
218
|
+
```markdown
|
|
219
|
+
1. reference/api.md → Agregar:
|
|
220
|
+
|
|
221
|
+
### GET /api/search
|
|
222
|
+
|
|
223
|
+
| Parámetro | Tipo | Requerido | Descripción |
|
|
224
|
+
|-----------|------|-----------|-------------|
|
|
225
|
+
| q | string | Sí | Término de búsqueda |
|
|
226
|
+
| limit | number | No | Resultados máximos (default: 20) |
|
|
227
|
+
| offset | number | No | Paginación (default: 0) |
|
|
228
|
+
| type | string | No | Filtrar por tipo (user, post, comment) |
|
|
229
|
+
|
|
230
|
+
2. docs/CONTEXT.md → Si hay términos nuevos (ej: SearchIndex, QueryParser)
|
|
231
|
+
|
|
232
|
+
3. how-to/ → Si hay un flujo de uso común que documentar
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Cómo Detectar Qué Cambió
|
|
238
|
+
|
|
239
|
+
### Por tipo de archivo
|
|
240
|
+
|
|
241
|
+
| Archivo cambió | Qué verificar | Docs afectadas |
|
|
242
|
+
|---------------|---------------|----------------|
|
|
243
|
+
| `src/**/*.ts` | Nuevas clases, funciones, interfaces | CONTEXT.md, reference/ |
|
|
244
|
+
| `src/routes/**` | Nuevos/modified endpoints | reference/api.md |
|
|
245
|
+
| `src/components/**` | Nuevos/modified componentes | DESIGN.md |
|
|
246
|
+
| `*.css`, `tailwind.config.*` | Tokens de diseño | DESIGN.md |
|
|
247
|
+
| `.env*`, `config/*` | Variables de configuración | reference/configuration.md |
|
|
248
|
+
| `migrations/**` | Cambios en schema | reference/database.md |
|
|
249
|
+
| `docker-compose.*`, `Dockerfile*` | Cambios de infra | deployment.md |
|
|
250
|
+
| `package.json` | Dependencias nuevas/eliminadas | docs/adr/ si es significativa |
|
|
251
|
+
| `*.test.*` | Generalmente no afecta docs | — |
|
|
252
|
+
| `docs/**` | Ya es doc → verificar docs/README.md | docs/README.md |
|
|
253
|
+
|
|
254
|
+
### Por comando git
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Ver qué archivos cambiaron
|
|
258
|
+
git diff --name-only HEAD~1 HEAD
|
|
259
|
+
|
|
260
|
+
# Ver solo archivos de código (no docs)
|
|
261
|
+
git diff --name-only HEAD~1 HEAD -- ':(exclude)docs/' ':(exclude)*.md'
|
|
262
|
+
|
|
263
|
+
# Ver cambios en estilos
|
|
264
|
+
git diff --name-only HEAD~1 HEAD -- '*.css' 'tailwind.config.*' '*.scss'
|
|
265
|
+
|
|
266
|
+
# Ver cambios en rutas/API
|
|
267
|
+
git diff --name-only HEAD~1 HEAD -- 'src/routes/' 'src/controllers/'
|
|
268
|
+
|
|
269
|
+
# Ver cambios en config
|
|
270
|
+
git diff --name-only HEAD~1 HEAD -- '.env*' 'config/' 'docker-compose.*'
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Patrones de Actualización por Lotes
|
|
276
|
+
|
|
277
|
+
### Fin de sprint
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
1. git diff --name-only sprint-start..sprint-end
|
|
281
|
+
2. Agrupar por tipo: features, fixes, refactors, config
|
|
282
|
+
3. Para cada grupo, aplicar los triggers correspondientes
|
|
283
|
+
4. Actualizar CHANGELOG.md con TODO lo del sprint
|
|
284
|
+
5. Ejecutar doc-review al final
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Post-merge de múltiples PRs
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
1. Listar PRs mergeados desde la última actualización
|
|
291
|
+
2. Para cada PR, identificar el trigger
|
|
292
|
+
3. Acumular cambios por doc afectada
|
|
293
|
+
4. Actualizar cada doc UNA VEZ con todos los cambios
|
|
294
|
+
5. No actualizar el mismo doc múltiples veces
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Hotfix en producción
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
1. El hotfix es prioridad CRÍTICA
|
|
301
|
+
2. Actualizar CHANGELOG.md inmediatamente
|
|
302
|
+
3. Actualizar reference/ si afecta API
|
|
303
|
+
4. Crear post-mortem si fue incidente
|
|
304
|
+
5. doc-review post-hotfix
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## Regla de Oro
|
|
310
|
+
|
|
311
|
+
**Si cambiaste código, cambiaste documentación. Si no actualizaste la documentación, la tarea no está terminada.**
|