@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.
Files changed (44) hide show
  1. package/README.md +115 -0
  2. package/dist/index.js +568 -0
  3. package/package.json +53 -0
  4. package/templates/base/AGENTS.md +177 -0
  5. package/templates/base/CHANGELOG.md +86 -0
  6. package/templates/base/README.md +110 -0
  7. package/templates/base/docs/CONTEXT.md +111 -0
  8. package/templates/base/docs/README.md +131 -0
  9. package/templates/base/docs/adr/TEMPLATE.md +83 -0
  10. package/templates/modules/agents/.agents/agents/doc-designer.md +56 -0
  11. package/templates/modules/agents/.agents/agents/doc-maintainer.md +54 -0
  12. package/templates/modules/agents/.agents/agents/doc-reviewer.md +80 -0
  13. package/templates/modules/agents/.agents/agents/doc-writer.md +66 -0
  14. package/templates/modules/agents/.agents/agents/reviewer.md +138 -0
  15. package/templates/modules/agents/.agents/skills/doc-design/SKILL.md +359 -0
  16. package/templates/modules/agents/.agents/skills/doc-design/references/design-system-format.md +550 -0
  17. package/templates/modules/agents/.agents/skills/doc-maintain/SKILL.md +345 -0
  18. package/templates/modules/agents/.agents/skills/doc-maintain/references/triggers.md +311 -0
  19. package/templates/modules/agents/.agents/skills/doc-review/SKILL.md +324 -0
  20. package/templates/modules/agents/.agents/skills/doc-review/references/health-checklist.md +290 -0
  21. package/templates/modules/agents/.agents/skills/doc-scaffold/SKILL.md +277 -0
  22. package/templates/modules/agents/.agents/skills/doc-scaffold/references/diataxis-quick-ref.md +149 -0
  23. package/templates/modules/agents/.agents/skills/doc-write/SKILL.md +414 -0
  24. package/templates/modules/agents/.agents/skills/doc-write/references/adr-format.md +194 -0
  25. package/templates/modules/agents/.agents/skills/doc-write/references/diataxis-patterns.md +351 -0
  26. package/templates/modules/ci/.github/workflows/docs-check.yml +94 -0
  27. package/templates/modules/design/docs/DESIGN.md +253 -0
  28. package/templates/modules/explanation/docs/explanation/agent-flow.md +15 -0
  29. package/templates/modules/explanation/docs/explanation/architecture.md +138 -0
  30. package/templates/modules/guides/docs/guides/deployment.md +189 -0
  31. package/templates/modules/guides/docs/guides/runbooks/TEMPLATE.md +86 -0
  32. package/templates/modules/guides/docs/guides/troubleshooting.md +65 -0
  33. package/templates/modules/operations/docs/operations/README.md +115 -0
  34. package/templates/modules/product/docs/product/overview.md +90 -0
  35. package/templates/modules/product/docs/roadmap.md +80 -0
  36. package/templates/modules/reference/docs/reference/api.md +131 -0
  37. package/templates/modules/reference/docs/reference/code-style.md +275 -0
  38. package/templates/modules/reference/docs/reference/configuration.md +117 -0
  39. package/templates/modules/reference/docs/reference/infrastructure.md +191 -0
  40. package/templates/modules/tutorials/docs/tutorials/environment-setup.md +212 -0
  41. package/templates/modules/tutorials/docs/tutorials/first-task.md +246 -0
  42. package/templates/modules/tutorials/docs/tutorials/quick-start.md +146 -0
  43. package/templates/shared/.editorconfig +20 -0
  44. package/templates/shared/.markdownlint.json +14 -0
@@ -0,0 +1,138 @@
1
+ ---
2
+ created: "2026-05-07"
3
+ updated: "2026-05-07"
4
+ status: active
5
+ type: explanation
6
+ tags: [architecture, system-design, explanation]
7
+ ---
8
+
9
+ # Arquitectura del Sistema
10
+
11
+ > **Propósito**: Este documento explica la arquitectura del sistema — no *cómo* usarlo, sino *por qué* está diseñado así. Para detalles de implementación, consulta el código fuente. Para decisiones concretas, consulta los ADRs en `docs/adr/`.
12
+
13
+ ## Visión General
14
+
15
+ [Breve descripción del sistema: qué hace, quién lo usa, cómo se relaciona con otros sistemas]
16
+
17
+ ```mermaid
18
+ flowchart TD
19
+ Client["🌐 Cliente<br/>(Browser / App / API Consumer)"]
20
+ CDN["CDN / Load Balancer"]
21
+ FE["Frontend<br/>[Framework]<br/>SSR/SPA · Routing · State"]
22
+ BE["API / Backend<br/>[Framework]<br/>REST API · Auth · Business logic"]
23
+ DB["🗄️ Base de datos<br/>[PostgreSQL]"]
24
+ Cache["⚡ Cache<br/>[Redis/etc]"]
25
+
26
+ Client --> CDN
27
+ CDN --> FE
28
+ CDN --> BE
29
+ BE --> DB
30
+ BE --> Cache
31
+ ```
32
+
33
+ ## Componentes Principales
34
+
35
+ ### Frontend
36
+
37
+ - **Framework**: [Ej: React 18 / Next.js 14 / Vue 3]
38
+ - **Renderizado**: [SSR / SSG / SPA / Híbrido]
39
+ - **Estado**: [Local state / Context / Zustand / Redux]
40
+ - **Routing**: [Client-side / Server-side / File-based]
41
+ - **Estilos**: [Tailwind / CSS Modules / Styled Components]
42
+
43
+ > Ver ADRs relevantes en `docs/adr/` para entender por qué se eligió cada tecnología.
44
+
45
+ ### Backend / API
46
+
47
+ - **Framework**: [Ej: Express / Fastify / NestJS / Hono]
48
+ - **Arquitectura**: [Monolito / Microservicios / Serverless]
49
+ - **Autenticación**: [JWT / Session / OAuth / API Keys]
50
+ - **Validación**: [Zod / Joi / class-validator]
51
+
52
+ ### Base de Datos
53
+
54
+ - **Tipo**: [Relacional / NoSQL / Híbrido]
55
+ - **Motor**: [PostgreSQL / MySQL / MongoDB]
56
+ - **ORM**: [Prisma / TypeORM / Sequelize / Drizzle]
57
+ - **Migraciones**: [Gestionadas por el ORM / Manuales]
58
+
59
+ ## Flujos Principales
60
+
61
+ ### Flujo de Autenticación
62
+
63
+ ```mermaid
64
+ sequenceDiagram
65
+ participant U as Usuario
66
+ participant FE as Frontend
67
+ participant BE as Backend
68
+ participant DB as Base de datos
69
+
70
+ U->>FE: Login (email + password)
71
+ FE->>BE: POST /auth/login
72
+ BE->>DB: Verificar credenciales
73
+ DB-->>BE: Usuario válido
74
+ BE-->>FE: JWT + Refresh Token
75
+ FE->>FE: Almacenar tokens
76
+ U->>FE: Acción protegida
77
+ FE->>BE: Request + Bearer token
78
+ BE->>BE: Verificar JWT
79
+ BE-->>FE: Respuesta
80
+ ```
81
+
82
+ ### Flujo de Datos Principal
83
+
84
+ ```mermaid
85
+ sequenceDiagram
86
+ participant U as Usuario
87
+ participant FE as Frontend
88
+ participant BE as Backend
89
+ participant DB as Base de datos
90
+
91
+ U->>FE: Acción en UI
92
+ FE->>BE: API Request
93
+ BE->>BE: Validación + Lógica
94
+ BE->>DB: Read/Write
95
+ DB-->>BE: Resultado
96
+ BE-->>FE: Respuesta JSON
97
+ FE->>FE: Actualizar UI
98
+ FE-->>U: Vista actualizada
99
+ ```
100
+
101
+ ## Decisiones Arquitectónicas Clave
102
+
103
+ Las decisiones técnicas importantes están documentadas como ADRs en `docs/adr/`. Aquí un resumen:
104
+
105
+ | Decisión | ADR | Resumen |
106
+ |----------|-----|---------|
107
+ | [Ej: Base de datos] | `0002-*` | [Por qué se eligió] |
108
+ | [Ej: Framework frontend] | `0003-*` | [Por qué se eligió] |
109
+ | [Ej: Autenticación] | `0004-*` | [Por qué se eligió] |
110
+
111
+ > **Nota**: Para criterios de cuándo crear un ADR, ver [`docs/adr/TEMPLATE.md`](../adr/TEMPLATE.md).
112
+
113
+ ## Límites del Sistema
114
+
115
+ ### Qué NO hace este sistema
116
+
117
+ - [Limitación 1]
118
+ - [Limitación 2]
119
+
120
+ ### Escalabilidad
121
+
122
+ - **Horizontal**: [Cómo escala el backend]
123
+ - **Vertical**: [Límites de recursos]
124
+ - **BD**: [Estrategia de escalado de datos]
125
+
126
+ ## Dependencias Externas
127
+
128
+ | Servicio | Propósito | Alternativa si cae |
129
+ |----------|-----------|-------------------|
130
+ | [Servicio 1] | [Qué hace] | [Plan B] |
131
+ | [Servicio 2] | [Qué hace] | [Plan B] |
132
+
133
+ ## Diagramas Relacionados
134
+
135
+ - Ver [`docs/internal/agent-guide.md`](../internal/agent-guide.md) para diagramas de flujo de agentes
136
+ - Ver `docs/guides/runbooks/` para procedimientos operativos
137
+ - Ver `docs/reference/infrastructure.md` para detalles de entornos
138
+ - Ver `docs/reference/api.md` para la referencia de la API
@@ -0,0 +1,189 @@
1
+ ---
2
+ created: "2025-01-01"
3
+ status: active
4
+ type: guide
5
+ tags: [guía, deployment, deploy, producción, staging]
6
+ ---
7
+
8
+ # Guía de Deployment
9
+
10
+ Instrucciones paso a paso para hacer deploy de la aplicación a cada entorno.
11
+
12
+ ---
13
+
14
+ ## Entornos
15
+
16
+ | Entorno | Propósito | URL | Branch | Auto-deploy |
17
+ |---------|-----------|-----|--------|-------------|
18
+ | **Development** | Desarrollo local | `http://localhost:3000` | Cualquiera | N/A |
19
+ | **Staging** | QA y validación antes de producción | `https://staging.[dominio]` | `develop` o `main` | Sí (push a branch) |
20
+ | **Production** | Usuarios finales | `https://[dominio]` | `main` | Sí (tag / release) |
21
+
22
+ Ver detalles de infraestructura en [`docs/reference/infrastructure.md`](../reference/infrastructure.md).
23
+
24
+ ---
25
+
26
+ ## Prerrequisitos
27
+
28
+ - Acceso al repositorio con permisos de push a `main`.
29
+ - Acceso a la plataforma de CI/CD (ej. {{TECH_STACK}}, Vercel, AWS Console).
30
+ - Variables de entorno configuradas para el entorno destino (ver [`configuration.md`](../reference/configuration.md)).
31
+
32
+ ---
33
+
34
+ ## Deploy a Staging
35
+
36
+ Staging se actualiza automáticamente al hacer push a `[develop / main]`. Si necesitas deploy manual:
37
+
38
+ ### Opción A: Deploy automático (recomendado)
39
+
40
+ ```bash
41
+ # Hacer push a la branch que triggera staging
42
+ git push origin [develop / main]
43
+ ```
44
+
45
+ Verificar en la plataforma de CI/CD que el pipeline pasó correctamente.
46
+
47
+ ### Opción B: Deploy manual
48
+
49
+ ```bash
50
+ # 1. Construir la aplicación
51
+ [npm run build]
52
+
53
+ # 2. Deploy manual (según plataforma)
54
+ [comando de deploy específico — ej. vercel --prod, aws deploy push, etc.]
55
+ ```
56
+
57
+ ### Verificación post-deploy
58
+
59
+ Después de que el deploy termine:
60
+
61
+ 1. Abrir `https://staging.[dominio]` y verificar que la versión es la correcta.
62
+ 2. Ejecutar smoke tests manuales:
63
+ - [ ] Login funciona
64
+ - [ ] Página principal carga
65
+ - [ ] [Flujo principal del negocio] funciona end-to-end
66
+ 3. Verificar que no hay errores en consola (browser) ni en logs (servidor).
67
+ 4. Verificar que la versión/metadata es correcta (footer, health check, etc.).
68
+
69
+ ---
70
+
71
+ ## Deploy a Producción
72
+
73
+ **Importante**: Los deploys a producción se hacen desde `main` **únicamente**. Nunca desde branches de feature.
74
+
75
+ ### Pre-deploy checklist
76
+
77
+ Antes de hacer deploy a producción, verificar:
78
+
79
+ - [ ] Todos los tests pasan en CI (último build verde).
80
+ - [ ] Staging fue validado por QA/producto.
81
+ - [ ] No hay migraciones de base de datos pendientes (o están preparadas).
82
+ - [ ] Las variables de entorno de producción están actualizadas.
83
+ - [ ] El CHANGELOG está actualizado.
84
+ - [ ] Se comunicó al equipo el horario del deploy (si aplica).
85
+
86
+ ### Proceso
87
+
88
+ #### Opción A: Deploy automático via tag
89
+
90
+ ```bash
91
+ # 1. Crear un tag de release
92
+ git tag -a v[VERSIÓN] -m "Release v[VERSIÓN]"
93
+
94
+ # 2. Pushear el tag
95
+ git push origin v[VERSIÓN]
96
+
97
+ # 3. El pipeline de CI/CD detecta el tag y hace deploy automático
98
+ ```
99
+
100
+ #### Opción B: Deploy manual
101
+
102
+ ```bash
103
+ # 1. Asegurarse de estar en main y actualizado
104
+ git checkout main
105
+ git pull origin main
106
+
107
+ # 2. Construir
108
+ [npm run build]
109
+
110
+ # 3. Deploy
111
+ [comando de deploy a producción]
112
+ ```
113
+
114
+ ### Post-deploy
115
+
116
+ Inmediatamente después del deploy:
117
+
118
+ 1. **Verificar la URL de producción**: abrir `https://[dominio]` y confirmar que la versión es la nueva.
119
+ 2. **Smoke tests rápidos**:
120
+ - [ ] Página principal carga
121
+ - [ ] Login funciona
122
+ - [ ] [Flujo principal] funciona
123
+ 3. **Monitorear logs** durante los primeros 15 minutos:
124
+ - Verificar que no hay errores inusuales.
125
+ - Verificar que el tráfico se ve normal.
126
+ 4. **Actualizar CHANGELOG**: mover los cambios de "Sin publicar" a la sección de la versión.
127
+ 5. **Comunicar**: notificar al equipo que el deploy fue exitoso (Slack / Teams / email).
128
+
129
+ ### Rollback
130
+
131
+ Si algo sale mal después del deploy:
132
+
133
+ ```bash
134
+ # 1. Identificar la versión anterior (la que funcionaba)
135
+ git log --oneline -5
136
+
137
+ # 2. Re-deployear la versión anterior
138
+ git checkout v[VERSIÓN_ANTERIOR]
139
+ [comando de deploy a producción]
140
+
141
+ # 3. Alternativa: revertir el merge commit
142
+ git revert -m 1 [HASH_DEL_MERGE]
143
+ git push origin main
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Migraciones de base de datos
149
+
150
+ Las migraciones se ejecutan como parte del pipeline de deploy, pero si necesitaras ejecutarlas manualmente:
151
+
152
+ ```bash
153
+ # Ver el estado de las migraciones
154
+ [comando de status — ej. npm run db:status]
155
+
156
+ # Ejecutar migraciones pendientes
157
+ [comando de migración — ej. npm run db:migrate]
158
+
159
+ # Rollback de la última migración (solo en emergencias)
160
+ [comando de rollback — ej. npm run db:rollback]
161
+ ```
162
+
163
+ **Regla**: Las migraciones deben ser **siempre hacia adelante** (additive). No modificar columnas existentes en breaking ways. Crear nuevas columnas y migrar datos gradualmente.
164
+
165
+ ---
166
+
167
+ ## Variables de entorno por entorno
168
+
169
+ | Variable | Development | Staging | Production |
170
+ |----------|-------------|---------|------------|
171
+ | `APP_ENV` | `development` | `staging` | `production` |
172
+ | `DATABASE_URL` | Local | Staging DB | Production DB |
173
+ | `API_KEY_[SERVICIO]` | Key de testing | Key de staging | Key de producción |
174
+ | `LOG_LEVEL` | `debug` | `info` | `warn` |
175
+
176
+ Ver la referencia completa en [`configuration.md`](../reference/configuration.md).
177
+
178
+ ---
179
+
180
+ ## Troubleshooting de deploys
181
+
182
+ | Problema | Causa probable | Solución |
183
+ |----------|---------------|----------|
184
+ | Build falla en CI pero pasa local | Diferencia de versiones de Node/npm | Verificar que `.nvmrc` o `engines` en `package.json` coincida con CI |
185
+ | Deploy exitoso pero página en blanco | Variables de entorno faltantes | Verificar todas las vars requeridas en el entorno |
186
+ | Migración falla | Cambio breaking en schema | Ejecutar rollback y corregir la migración |
187
+ | Timeout en deploy | Recursos insuficientes | Verificar logs del CI/CD y recursos del servidor |
188
+
189
+ Más soluciones en [`troubleshooting.md`](troubleshooting.md).
@@ -0,0 +1,86 @@
1
+ ---
2
+ created: "2026-05-07"
3
+ updated: "2026-05-07"
4
+ status: active
5
+ type: how-to
6
+ tags: [ops, runbooks, template]
7
+ ---
8
+
9
+ # Template de Runbook
10
+
11
+ > [!info] Cuándo crear un runbook
12
+ > Crea un runbook cuando un proceso operativo se repite o cuando necesitas documentar pasos para resolver un incidente específico. Guárdalo en `docs/guides/runbooks/`.
13
+
14
+ ## Nombre del Runbook
15
+
16
+ **Tipo**: [operativo | incidente | mantenimiento]
17
+ **Severidad**: [baja | media | alta | crítica]
18
+ **Frecuencia**: [diario | semanal | mensual | bajo demanda]
19
+
20
+ ## Contexto
21
+
22
+ ¿Qué es este proceso? ¿Por qué existe? ¿Cuándo se ejecuta?
23
+
24
+ ## Síntomas / Triggers
25
+
26
+ ¿Qué indica que hay que ejecutar este runbook?
27
+
28
+ - Síntoma 1
29
+ - Síntoma 2
30
+ - Alerta de monitoring que lo dispara
31
+
32
+ ## Prerrequisitos
33
+
34
+ - [ ] Acceso a [sistema/servidor]
35
+ - [ ] Permisos de [rol]
36
+ - [ ] Herramientas: [lista]
37
+
38
+ ## Pasos
39
+
40
+ ### Paso 1: [Título del paso]
41
+
42
+ **Acción**: Descripción clara de qué hacer
43
+ **Comando** (si aplica):
44
+ ```bash
45
+ comando-aquí
46
+ ```
47
+ **Verificación**: Cómo confirmar que el paso salió bien
48
+
49
+ ### Paso 2: [Título del paso]
50
+
51
+ **Acción**: Descripción clara
52
+ **Comando**:
53
+ ```bash
54
+ siguiente-comando
55
+ ```
56
+ **Verificación**: Qué esperar
57
+
58
+ ### Paso N: Verificación final
59
+
60
+ Confirmar que el proceso se completó exitosamente:
61
+
62
+ - [ ] Check 1
63
+ - [ ] Check 2
64
+
65
+ ## Rollback
66
+
67
+ Si algo sale mal, cómo revertir:
68
+
69
+ 1. Paso de rollback 1
70
+ 2. Paso de rollback 2
71
+
72
+ ## Escalación
73
+
74
+ Si no puedes resolver:
75
+
76
+ | Nivel | Contacto | Cuándo escalar |
77
+ |---------|----------------------|------------------------------------|
78
+ | L1 | [Equipo/dev] | Si los pasos del runbook fallan |
79
+ | L2 | [Tech lead] | Si el problema requiere acceso especial |
80
+ | L3 | [CTO/Infra lead] | Si hay riesgo de pérdida de datos |
81
+
82
+ ## Notas
83
+
84
+ - Cualquier consideración especial
85
+ - Lecciones aprendidas de ejecuciones anteriores
86
+ - Enlaces a ADRs o docs relacionados
@@ -0,0 +1,65 @@
1
+ ---
2
+ created: "2026-05-07"
3
+ updated: "2026-05-07"
4
+ status: active
5
+ type: how-to
6
+ tags: [ops, troubleshooting, debugging]
7
+ ---
8
+
9
+ # Troubleshooting
10
+
11
+ Problemas comunes encontrados durante el desarrollo y sus soluciones.
12
+
13
+ > [!tip] Cómo usar esta guía
14
+ > Busca tu problema en la tabla o por las secciones. Si encuentras un problema nuevo y lo resuelves, añádelo aquí para que el próximo developer no pierda tiempo.
15
+
16
+ ## Problemas de Entorno
17
+
18
+ | Problema | Causa probable | Solución |
19
+ |----------|---------------|----------|
20
+ | `npm install` falla con EACCES | Permisos de npm global | Usa `nvm` o reinstala Node con permisos correctos |
21
+ | `command not found: node` | Node no instalado o no en PATH | Instala con `nvm install --lts` y reinicia terminal |
22
+ | Puerto 3000 ocupado | Otro proceso usando el puerto | `lsof -i :3000` (macOS) o `netstat -ano | findstr :3000` (Windows) y mata el proceso |
23
+ | Variables de entorno no cargadas | Falta archivo `.env` | Copia `.env.example` a `.env` y configura los valores |
24
+
25
+ ## Problemas de Build
26
+
27
+ | Problema | Causa probable | Solución |
28
+ |----------|---------------|----------|
29
+ | Error de tipos TypeScript | Tipos incompatibles o faltantes | Ejecuta `[npm run typecheck]` para ver errores específicos |
30
+ | Build falla en CI pero no local | Diferencia de entorno (Node version, deps) | Verifica que `.nvmrc` o `engines` en package.json coincida con CI |
31
+ | Error "Module not found" | Dependencia no instalada o path incorrecto | `rm -rf node_modules && npm install` o verifica import paths |
32
+ | Out of memory en build | Proyecto grande sin suficiente RAM | Aumenta memoria: `NODE_OPTIONS="--max-old-space-size=4096" npm run build` |
33
+
34
+ ## Problemas de Runtime
35
+
36
+ | Problema | Causa probable | Solución |
37
+ |----------|---------------|----------|
38
+ | CORS error en API calls | Backend no configurado para el origen del frontend | Verifica configuración CORS en el backend |
39
+ | 401 Unauthorized | Token expirado o no enviado | Verifica que el token se envía en headers y no ha expirado |
40
+ | Pantalla blanca en producción | Error JS no capturado, assets no cargan | Revisa consola del navegador, verifica que los assets se deployaron |
41
+ | Hydration mismatch (SSR) | HTML server != HTML client | Verifica que no haya `Date.now()`, `Math.random()` o APIs del navegador en SSR |
42
+
43
+ ## Problemas de Base de Datos
44
+
45
+ | Problema | Causa probable | Solución |
46
+ |----------|---------------|----------|
47
+ | Connection refused | BD no arrancada o URL incorrecta | Verifica que el servicio esté corriendo y la URL en `.env` sea correcta |
48
+ | Migration error | Migración pendiente o conflicto | Ejecuta migraciones pendientes o resetea la BD local |
49
+ | Timeout en queries | Query ineficiente o locks | Revisa el query plan, añade índices si es necesario |
50
+
51
+ ## Problemas de Git
52
+
53
+ | Problema | Causa probable | Solución |
54
+ |----------|---------------|----------|
55
+ | Merge conflict | Cambios en mismas líneas | Resuelve manualmente: busca `<<<<<<<`, elige el correcto, elimina marcadores |
56
+ | `git push` rechazado | Branch remota tiene commits nuevos | `git pull --rebase origin <branch>` y resuelve conflictos si hay |
57
+ | Hook pre-commit falla | Linting o formatting falla | Ejecuta `npm run lint:fix` y vuelve a commitear |
58
+
59
+ ## Cómo añadir nuevos problemas
60
+
61
+ Cuando resuelvas un problema que no esté aquí:
62
+
63
+ 1. Añade una fila a la tabla correspondiente
64
+ 2. Incluye: problema, causa, solución
65
+ 3. Si la solución es compleja, crea un how-to separado en `docs/guides/` y enlázalo aquí
@@ -0,0 +1,115 @@
1
+ ---
2
+ created: "2026-05-07"
3
+ updated: "2026-05-07"
4
+ status: active
5
+ type: how-to
6
+ tags: [ops, operations, monitoring, incidents, production]
7
+ ---
8
+
9
+ # Operaciones
10
+
11
+ Centro de operaciones para el proyecto en producción.
12
+
13
+ > [!warning] Solo para entornos con producción
14
+ > Esta sección se crea cuando el proyecto tiene entorno de producción. Si el proyecto aún no está en producción, puedes ignorar esta sección.
15
+
16
+ ## Monitorización
17
+
18
+ ### Dashboards
19
+
20
+ | Dashboard | URL | Qué monitoriza |
21
+ |-----------|-----|----------------|
22
+ | Principal | [URL] | Health checks, uptime, errores |
23
+ | Rendimiento | [URL] | Latencia, throughput, recursos |
24
+ | Business | [URL] | Métricas de negocio |
25
+
26
+ ### Alertas Configuradas
27
+
28
+ | Alerta | Severidad | Umbral | Canal de notificación |
29
+ |--------|-----------|--------|-----------------------|
30
+ | Servicio caído | Crítica | Health check fail > 2 min | [Slack/Email/PagerDuty] |
31
+ | Error rate alto | Alta | >5% de requests con error 5xx | [Slack/Email] |
32
+ | Latencia alta | Media | p95 > 2 segundos | [Slack] |
33
+ | Disco lleno | Alta | >90% uso de disco | [Slack/Email] |
34
+ | Certificado SSL por expirar | Media | <30 días | [Email] |
35
+
36
+ ## SLAs y SLOs
37
+
38
+ | Métrica | SLO | Ventana | Medición |
39
+ |---------|-----|---------|----------|
40
+ | Disponibilidad | 99.9% | 30 días | Uptime checks |
41
+ | Latencia p95 | <500ms | 30 días | APM |
42
+ | Latencia p99 | <2s | 30 días | APM |
43
+ | Error rate | <0.1% | 7 días | Log aggregation |
44
+ | Tiempo de respuesta API | <200ms | 30 días | Synthetic monitoring |
45
+
46
+ ## Gestión de Incidentes
47
+
48
+ ### Niveles de Severidad
49
+
50
+ | Nivel | Definición | Ejemplo | Tiempo de respuesta |
51
+ |-------|------------|---------|-------------------|
52
+ | P0 - Crítico | Servicio completamente caído, afecta a todos los usuarios | Sitio no carga, BD inaccesible | <15 min |
53
+ | P1 - Alto | Funcionalidad principal no funciona, afecta muchos usuarios | Login roto, checkout falla | <1 hora |
54
+ | P2 - Medio | Funcionalidad secundaria afectada, workaround disponible | Búsqueda lenta, email no envía | <4 horas |
55
+ | P3 - Bajo | Problema cosmético o menor | Typo, UI glitch | Próximo sprint |
56
+
57
+ ### Proceso de Incidente
58
+
59
+ 1. **Detección**: Alerta automática o reporte de usuario
60
+ 2. **Triage**: Asignar severidad y responsable
61
+ 3. **Comunicación**: Notificar al equipo en canal de incidencias
62
+ 4. **Resolución**: Diagnosticar, aplicar fix, verificar
63
+ 5. **Post-mortem**: Documentar qué pasó, por qué, y cómo prevenirlo
64
+
65
+ ### Plantilla de Post-mortem
66
+
67
+ Guardar en `docs/operations/post-mortems/YYYY-MM-DD-titulo.md`:
68
+
69
+ ```markdown
70
+ ## Resumen
71
+ [1-2 oraciones: qué pasó, impacto, duración]
72
+
73
+ ## Timeline
74
+ - HH:MM - Detección
75
+ - HH:MM - Investigación empieza
76
+ - HH:MM - Causa raíz identificada
77
+ - HH:MM - Fix aplicado
78
+ - HH:MM - Servicio restaurado
79
+
80
+ ## Causa Raíz
81
+ [Qué causó el incidente, no qué síntomas se vieron]
82
+
83
+ ## Impacto
84
+ - Duración: X horas/minutos
85
+ - Usuarios afectados: X
86
+ - Datos perdidos: Sí/No
87
+
88
+ ## Acciones Preventivas
89
+ - [ ] Acción 1 — Responsable — Fecha límite
90
+ - [ ] Acción 2 — Responsable — Fecha límite
91
+
92
+ ## Lecciones Aprendidas
93
+ [Qué aprendimos que cambie cómo trabajamos]
94
+ ```
95
+
96
+ ## Backups
97
+
98
+ | Recurso | Frecuencia | Retención | Ubicación |
99
+ |---------|-----------|-----------|-----------|
100
+ | Base de datos | Diaria | 30 días | [Proveedor/Ubicación] |
101
+ | Assets estáticos | En cada deploy | Últimos 10 deploys | [CDN/Storage] |
102
+ | Configuración | Versionada en git | Completa | Repositorio |
103
+
104
+ ## On-Call
105
+
106
+ Si el proyecto tiene rotación de on-call:
107
+
108
+ | Día | Responsable | Horario | Contacto |
109
+ |-----|-------------|---------|----------|
110
+ | Lunes | [Nombre] | 9:00 - 18:00 | [Canal contacto] |
111
+ | ... | ... | ... | ... |
112
+
113
+ ## Runbooks Relacionados
114
+
115
+ Los runbooks operativos están en `docs/guides/runbooks/`. Cada uno documenta un procedimiento específico para resolver problemas o realizar tareas operativas.
@@ -0,0 +1,90 @@
1
+ ---
2
+ created: "2025-01-01"
3
+ status: active
4
+ type: product-context
5
+ tags: [producto, visión, negocio, stakeholders, métricas]
6
+ ---
7
+
8
+ # Visión del Producto
9
+
10
+ ## Qué es
11
+
12
+ {{PROJECT_NAME}} es [descripción de una oración: qué tipo de producto es y para qué sirve]. Es un proyecto de tipo [web app / landing / portal / plataforma] orientado a [segmento: corporativo / B2B / B2C / interno].
13
+
14
+ ## Por qué existe
15
+
16
+ **Problema que resuelve**: [Describir el problema o necesidad que motivó la creación del proyecto. ¿Qué hacía el cliente/equipo antes? ¿Qué fricción existía?]
17
+
18
+ **Oportunidad**: [Por qué ahora. Qué cambió en el mercado, la organización o la tecnología que hace que este proyecto tenga sentido en este momento.]
19
+
20
+ ## Usuarios objetivo
21
+
22
+ | Perfil | Quién es | Necesidad principal | Frecuencia de uso |
23
+ |--------|----------|--------------------|--------------------|
24
+ | **[Usuario primario]** | [Descripción: rol, contexto, nivel técnico] | [Qué viene a hacer al sistema. La tarea #1.] | [Diaria / Semanal / Mensual] |
25
+ | **[Usuario secundario]** | [Descripción] | [Qué viene a hacer] | [Frecuencia] |
26
+ | **[Usuario administrador]** | [Descripción] | [Gestionar configuración, usuarios, datos maestros] | [Frecuencia] |
27
+
28
+ ## Valor que aporta
29
+
30
+ Para cada perfil de usuario:
31
+
32
+ | Usuario | Antes (sin el proyecto) | Después (con el proyecto) | Medible en |
33
+ |---------|------------------------|--------------------------|-----------|
34
+ | **[Perfil 1]** | [Cómo resolvía el problema antes — manual, Excel, otro sistema] | [Cómo lo resuelve ahora — automatizado, centralizado, más rápido] | [Métrica: tiempo, errores, costos] |
35
+ | **[Perfil 2]** | [Situación anterior] | [Situación nueva] | [Métrica] |
36
+
37
+ ## Stakeholders
38
+
39
+ | Nombre / Rol | Responsabilidad en el proyecto | Decisiones que aprueba | Contacto |
40
+ |-------------|-------------------------------|----------------------|----------|
41
+ | **[Product Owner]** | Define prioridades y acepta entregas | Features, alcance, release dates | [email / slack] |
42
+ | **[Tech Lead]** | Guía decisiones técnicas | Arquitectura, stack, deuda técnica | [email / slack] |
43
+ | **[Diseñador/a]** | Define la experiencia visual y de interacción | UI/UX, design system, flujos | [email / slack] |
44
+ | **[Stakeholder de negocio]** | Representa las necesidades del cliente final | Funcionalidad de negocio, priorización | [email / slack] |
45
+
46
+ ## Métricas de éxito
47
+
48
+ ### Métricas primarias (KPIs)
49
+
50
+ | Métrica | Objetivo | Medición | Frecuencia |
51
+ |---------|----------|----------|------------|
52
+ | **[Métrica 1 — ej. Tasa de adopción]** | [Valor objetivo — ej. 80% de usuarios activos en 3 meses] | [Cómo se mide — ej. analytics de login] | [Mensual] |
53
+ | **[Métrica 2 — ej. Tiempo de tarea]** | [Valor objetivo — ej. reducir de 30min a 5min] | [Cómo se mide] | [Semanal] |
54
+
55
+ ### Métricas de calidad
56
+
57
+ | Métrica | Objetivo | Medición |
58
+ |---------|----------|----------|
59
+ | **Uptime** | 99.9% | Monitoreo de infraestructura |
60
+ | **Tiempo de carga (LCP)** | < 2.5s | Lighthouse / Web Vitals |
61
+ | **Errores en producción** | < 0.1% de requests | Error tracking (Sentry, etc.) |
62
+ | **Cobertura de tests** | > 80% | CI/CD pipeline |
63
+
64
+ ### Métricas de satisfacción
65
+
66
+ | Métrica | Objetivo | Medición |
67
+ |---------|----------|----------|
68
+ | **NPS / CSAT** | [Valor] | [Encuesta / feedback in-app] |
69
+ | **Tickets de soporte** | Reducir X% vs. sistema anterior | Help desk |
70
+
71
+ ---
72
+
73
+ ## Contexto regulatorio y restricciones
74
+
75
+ - **Privacidad**: [Indicar si aplica GDPR, LFPDPPP, etc. Qué datos personales se manejan.]
76
+ - **Accesibilidad**: Nivel WCAG 2.1 AA como mínimo.
77
+ - **Seguridad**: [Normas de seguridad corporativas. Ej. OWASP Top 10, pen testing anual.]
78
+ - **Compliance**: [Otras restricciones del sector — ej. PCI DSS para pagos, SOC 2 para SaaS.]
79
+
80
+ ---
81
+
82
+ ## Evolución esperada
83
+
84
+ Este producto está pensado para crecer en las siguientes direcciones:
85
+
86
+ 1. **Corto plazo (0-3 meses)**: [MVP o versión inicial con funcionalidad core.]
87
+ 2. **Mediano plazo (3-6 meses)**: [Features complementarias, integraciones.]
88
+ 3. **Largo plazo (6-12 meses)**: [Escalabilidad, nuevos módulos, expansión.]
89
+
90
+ Ver el detalle de features planificados en [`docs/roadmap.md`](../roadmap.md).