@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,277 @@
1
+ ---
2
+ name: doc-scaffold
3
+ description: >
4
+ Inicializa la documentación completa para un proyecto nuevo o existente.
5
+ Detecta el stack tecnológico, crea la estructura de archivos esenciales y genera
6
+ documentación inicial con contenido real basado en el análisis del código.
7
+ TRIGGER: Cuando el usuario dice "inicializar docs", "nuevo proyecto", "scaffold docs",
8
+ "crear documentación", "setup docs", o se detecta un proyecto sin documentación.
9
+ license: Apache-2.0
10
+ metadata:
11
+ author: damenordev
12
+ version: "1.0"
13
+ ---
14
+
15
+ # doc-scaffold
16
+
17
+ ## Cuándo Usar
18
+
19
+ - **Proyecto nuevo**: Se crea un proyecto desde cero y necesita documentación inicial
20
+ - **Proyecto existente sin docs**: Se detecta un proyecto que ya tiene código pero carece de documentación estructurada
21
+ - **Migración de docs**: Se reorganiza documentación existente hacia la estructura Diátaxis + ADR
22
+ - **Post-setup**: Después de inicializar un repositorio, antes de empezar a desarrollar features
23
+
24
+ ## Patrones Críticos
25
+
26
+ ### REGLA #1: NUNCA crear carpetas vacías
27
+
28
+ Solo se crean archivos con contenido real y verificable. Si no hay contenido para un archivo, no se crea.
29
+
30
+ ```
31
+ ❌ MAL: mkdir docs/api/ # carpeta vacía
32
+ ✅ BIEN: Crear docs/api/endpoints.md SOLO cuando hay endpoints documentables
33
+ ```
34
+
35
+ ### REGLA #2: Detectar antes de crear
36
+
37
+ Siempre analizar el proyecto ANTES de generar documentación:
38
+
39
+ - Detectar lenguaje: `package.json` → Node, `requirements.txt` → Python, `go.mod` → Go, `Cargo.toml` → Rust, `pom.xml` → Java
40
+ - Detectar framework: imports en código principal, dependencias
41
+ - Verificar docs existentes: NO sobreescribir documentación existente sin preguntar
42
+ - Identificar términos del dominio: buscar en código, nombres de módulos, variables clave
43
+
44
+ ### REGLA #3: Archivos esenciales únicamente
45
+
46
+ Crear SOLO estos archivos con contenido real:
47
+
48
+ | Archivo | Propósito | Cuándo crear |
49
+ |---------|-----------|-------------|
50
+ | `README.md` | Entry point del proyecto | Siempre |
51
+ | `CHANGELOG.md` | Historial de versiones | Siempre (con entrada inicial) |
52
+ | `AGENTS.md` | Protocolo para agentes IA | Siempre |
53
+ | `docs/README.md` | Mapa de documentación + reglas de crecimiento | Siempre |
54
+ | `docs/CONTEXT.md` | Términos del dominio encontrados en código | Siempre |
55
+ | `docs/adr/TEMPLATE.md` | Plantilla para ADRs | Siempre |
56
+ | `docs/adr/001-*.md` | Primer ADR si aplica | Si hay decisiones arquitectónicas |
57
+ | `tutorials/quick-start.md` | Tutorial de inicio rápido | Siempre |
58
+
59
+ ### REGLA #4: CONTEXT.md se genera analizando el código
60
+
61
+ No inventar términos. Extraer del código:
62
+
63
+ 1. Buscar nombres de módulos, clases, funciones principales
64
+ 2. Identificar abreviaturas y su significado
65
+ 3. Mapear relaciones entre componentes
66
+ 4. Detectar términos ambiguos y documentarlos
67
+
68
+ ### REGLA #5: Frontmatter YAML obligatorio
69
+
70
+ Todo archivo de documentación debe incluir frontmatter:
71
+
72
+ ```yaml
73
+ ---
74
+ created: "2024-01-15"
75
+ status: active
76
+ type: tutorial | how-to | reference | explanation
77
+ tags: [tag1, tag2]
78
+ ---
79
+ ```
80
+
81
+ ### REGLA #6: Manifest de crecimiento en docs/README.md
82
+
83
+ Incluir reglas explícitas de cuándo y cómo agregar nueva documentación.
84
+
85
+ ## Flujo del Proceso
86
+
87
+ ### Paso 1: Detectar stack
88
+
89
+ Usar la tabla de detección automática de `AGENTS.md` § Stack. Además, analizar:
90
+
91
+ ```
92
+ Analizar:
93
+ ├── Lenguaje principal (package.json, go.mod, requirements.txt, Cargo.toml, pom.xml)
94
+ ├── Framework (imports, dependencias, config files)
95
+ ├── Estructura de carpetas existente
96
+ ├── Herramientas de build/test (detectar comandos del ecosistema)
97
+ └── Docs existentes (NO sobreescribir)
98
+ ```
99
+
100
+ ### Paso 2: Verificar documentación existente
101
+
102
+ ```
103
+ Revisar:
104
+ ├── ¿Existe README.md? → NO sobreescribir, sugerir mejoras
105
+ ├── ¿Existe CHANGELOG.md? → NO sobreescribir
106
+ ├── ¿Existe docs/? → Integrar, no reemplazar
107
+ ├── ¿Existen ADRs? → Preservar numeración
108
+ └── ¿Existe AGENTS.md? → Preservar, sugerir adiciones
109
+ ```
110
+
111
+ ### Paso 3: Crear AGENTS.md con protocolo
112
+
113
+ ```markdown
114
+ # AGENTS.md — Protocolo de Documentación
115
+
116
+ ## Antes de empezar una tarea
117
+ 1. Leer docs/CONTEXT.md para entender el dominio
118
+ 2. Leer docs/README.md para ubicarse en la documentación
119
+ 3. Revisar ADRs relevantes en docs/adr/
120
+
121
+ ## Después de completar una tarea
122
+ 1. Actualizar CONTEXT.md si surgieron nuevos términos
123
+ 2. Actualizar docs/README.md si se agregaron/eliminaron archivos
124
+ 3. Evaluar si se necesita un ADR (¿es difícil de revertir? ¿es sorprendente? ¿hay trade-off?)
125
+ 4. Pasar el protocolo al subagente si se delega trabajo
126
+
127
+ ## Al delegar trabajo
128
+ 1. Incluir este protocolo en el prompt del subagente
129
+ 2. Especificar qué archivos de doc actualizar
130
+ 3. Verificar que el subagente cumplió el protocolo
131
+ ```
132
+
133
+ ### Paso 4: Crear docs/README.md
134
+
135
+ Incluir:
136
+ - Mapa completo de archivos de documentación (generado, no placeholder)
137
+ - Reglas de crecimiento: cuándo agregar cada tipo de doc
138
+ - Convenciones de nomenclatura
139
+ - Enlaces a skills relacionados: `doc-write`, `doc-review`, `doc-maintain`
140
+
141
+ ### Paso 5: Crear docs/CONTEXT.md
142
+
143
+ Generar con términos reales del dominio detectados en el código:
144
+ - Tabla de términos con definiciones
145
+ - Relaciones entre términos
146
+ - Términos ambiguos señalados
147
+ - Origen: análisis del código fuente
148
+
149
+ ### Paso 6: Crear docs/adr/TEMPLATE.md + primer ADR
150
+
151
+ - TEMPLATE.md: plantilla reutilizable
152
+ - Primer ADR: solo si ya existe una decisión arquitectónica que cumpla los 3 criterios (difícil de revertir, sorprendente, trade-off real)
153
+
154
+ ### Paso 7: Crear tutorials/quick-start.md
155
+
156
+ Basado en el stack detectado:
157
+ - Prerequisitos específicos del stack
158
+ - Pasos de instalación reales
159
+ - Primer ejemplo ejecutable
160
+ - Verificación en cada paso
161
+
162
+ ### Paso 8: Crear archivos de referencia esenciales
163
+
164
+ Solo los que apliquen al stack detectado:
165
+ - Si hay API: `reference/api.md`
166
+ - Si hay configuración: `reference/configuration.md`
167
+ - Si hay CLI: `reference/cli.md`
168
+
169
+ ### Paso 9: Reportar resultado
170
+
171
+ ```
172
+ ✅ Creados:
173
+ - README.md (entry point)
174
+ - CHANGELOG.md (inicializado)
175
+ - AGENTS.md (protocolo)
176
+ - docs/README.md (mapa + reglas)
177
+ - docs/CONTEXT.md (X términos del dominio)
178
+ - docs/adr/TEMPLATE.md
179
+ - tutorials/quick-start.md (basado en {stack})
180
+
181
+ ⏭️ Pendientes (agregar cuando haya contenido):
182
+ - docs/adr/001-*.md (cuando haya una decisión arquitectónica)
183
+ - reference/api.md (cuando haya endpoints documentables)
184
+ - how-to/ (cuando surjan problemas repetibles)
185
+ ```
186
+
187
+ ## Comandos
188
+
189
+ ### Archivos a crear (en orden)
190
+
191
+ ```bash
192
+ # Archivos raíz
193
+ README.md
194
+ CHANGELOG.md
195
+ AGENTS.md
196
+
197
+ # Estructura docs/
198
+ docs/README.md
199
+ docs/CONTEXT.md
200
+ docs/adr/TEMPLATE.md
201
+
202
+ # Tutoriales
203
+ tutorials/quick-start.md
204
+
205
+ # Referencia (solo si aplica)
206
+ reference/api.md # Solo si hay API
207
+ reference/configuration.md # Solo si hay config
208
+ ```
209
+
210
+ ### Verificación post-creación
211
+
212
+ ```
213
+ 1. Verificar que TODO archivo tiene contenido real (no placeholders)
214
+ 2. Verificar que TODO archivo tiene frontmatter YAML
215
+ 3. Verificar que CONTEXT.md contiene términos reales del código
216
+ 4. Verificar que quick-start.md es ejecutable para el stack detectado
217
+ 5. Verificar que docs/README.md mapea todos los archivos creados
218
+ ```
219
+
220
+ ## Ejemplo Concreto
221
+
222
+ ### Input: Proyecto React + Express detectado
223
+
224
+ ```
225
+ Detección:
226
+ ├── package.json → Node.js, React 18, Express 4
227
+ ├── tsconfig.json → TypeScript 5
228
+ ├── tailwind.config.ts → Tailwind CSS
229
+ ├── prisma/schema.prisma → Prisma ORM, PostgreSQL
230
+ └── .github/workflows/ci.yml → {{TECH_STACK}} CI/CD
231
+ ```
232
+
233
+ ### Output: Archivos creados
234
+
235
+ ```
236
+ ✅ README.md
237
+ - "Plataforma web construida con React 18 y Express 4"
238
+ - Stack table con React, Express, PostgreSQL, {{TECH_STACK}}
239
+ - Commands: npm run dev, npm run build, npm run test, npm run lint
240
+
241
+ ✅ CHANGELOG.md
242
+ - Entrada inicial: "## [0.1.0] - 2026-05-07 / ### Added / - Initial release"
243
+
244
+ ✅ AGENTS.md
245
+ - Stack: React 18, Express 4, PostgreSQL, Prisma, Tailwind, {{TECH_STACK}}
246
+ - Commands: npm run dev/build/test/lint/typecheck
247
+ - Protocolo completo (antes/después/subdelegar)
248
+
249
+ ✅ docs/README.md
250
+ - Mapa con 8 archivos creados
251
+ - Growth rules: "Crear reference/api.md cuando haya 5+ endpoints"
252
+ - Tabla Diátaxis: tutorials/ ✅, guides/ ⏭️, reference/ ⏭️, explanation/ ⏭️
253
+
254
+ ✅ docs/CONTEXT.md
255
+ - 6 términos extraídos: User, Session, Workspace, Role, Permission, Token
256
+ - Relaciones: User → Session, User ← Role ← Permission
257
+ - ⚠️ AMBIGUO: "workspace" (puede ser equipo o proyecto)
258
+
259
+ ✅ docs/adr/TEMPLATE.md
260
+ - Formato minimal listo para usar
261
+
262
+ ✅ docs/tutorials/quick-start.md
263
+ - Prerequisitos: Node 20+, {{TECH_STACK}}, npm
264
+ - Pasos: clone → npm install → cp .env.example .env → npx prisma migrate dev → npm run dev
265
+ - Verificación: "Abre http://localhost:3000 — deberías ver la landing"
266
+
267
+ ⏭️ Pendientes (lazy):
268
+ - docs/adr/0001-*.md → cuando haya una decisión arquitectónica
269
+ - docs/DESIGN.md → cuando se definan tokens de diseño
270
+ - docs/reference/api.md → cuando haya 5+ endpoints estables
271
+ - docs/guides/deployment.md → cuando haya proceso de deploy
272
+ ```
273
+
274
+ ## Recursos
275
+
276
+ - [Diátaxis Quick Reference](references/diataxis-quick-ref.md) — Resumen del framework Diátaxis con árbol de decisión
277
+ - Skills relacionados: `doc-write` (escribir docs), `doc-review` (auditar docs), `doc-maintain` (mantener docs sincronizados)
@@ -0,0 +1,149 @@
1
+ ---
2
+ created: "2024-01-15"
3
+ status: active
4
+ type: reference
5
+ tags: [diataxis, framework, documentacion, referencia]
6
+ ---
7
+
8
+ # Diátaxis — Referencia Rápida
9
+
10
+ ## Los 4 Cuadrantes
11
+
12
+ Diátaxis clasifica la documentación en 4 tipos según dos ejes:
13
+
14
+ - **Eje horizontal**: Estudio (aprender) vs Trabajo (aplicar)
15
+ - **Eje vertical**: Práctico (acción) vs Teórico (conocimiento)
16
+
17
+ ```
18
+ │ Práctico (acción)
19
+
20
+ Tutorial │ How-to
21
+ (Aprender │ (Aplicar
22
+ haciendo) │ soluciones)
23
+
24
+ ────────────────────┼────────────────────
25
+
26
+ Explicación │ Referencia
27
+ (Entender el │ (Buscar
28
+ porqué) │ información)
29
+
30
+ │ Teórico (conocimiento)
31
+ ```
32
+
33
+ ### Tutorial
34
+
35
+ - **Orientación**: Aprendizaje
36
+ - **Propósito**: Guiar al principiante paso a paso para adquirir una habilidad
37
+ - **Tono**: Didáctico, paciente, alentador
38
+ - **Ejemplo**: "Tu primera API con Express.js" — el usuario aprende mientras construye
39
+
40
+ ### How-to (Guía práctica)
41
+
42
+ - **Orientación**: Práctica
43
+ - **Propósito**: Resolver un problema específico concreto
44
+ - **Tono**: Directo, asume conocimiento previo
45
+ - **Ejemplo**: "Cómo configurar autenticación con JWT" — el usuario ya sabe Express, necesita JWT
46
+
47
+ ### Referencia
48
+
49
+ - **Orientación**: Información
50
+ - **Propósito**: Describir la maquinaria de forma factual y completa
51
+ - **Tono**: Neutral, estructurado, sin narrativa
52
+ - **Ejemplo**: "API de endpoints" — tablas con métodos, parámetros, respuestas
53
+
54
+ ### Explicación
55
+
56
+ - **Orientación**: Comprensión
57
+ - **Propósito**: Aclarar el porqué, dar contexto, conectar conceptos
58
+ - **Tono**: Discursivo, analítico
59
+ - **Ejemplo**: "Por qué elegimos event-sourcing" — contexto histórico, alternativas, trade-offs
60
+
61
+ ## Cuándo Usar Cada Tipo
62
+
63
+ | Situación | Tipo | Carpeta |
64
+ |-----------|------|---------|
65
+ | Usuario nuevo quiere empezar | Tutorial | `tutorials/` |
66
+ | Usuario tiene un problema específico | How-to | `how-to/` |
67
+ | Usuario necesita consultar un detalle | Referencia | `reference/` |
68
+ | Usuario pregunta "¿por qué?" | Explicación | `explanation/` |
69
+ | Onboarding de nuevo dev | Tutorial | `tutorials/` |
70
+ | Configurar algo que ya se conoce | How-to | `how-to/` |
71
+ | Buscar parámetros de una función | Referencia | `reference/` |
72
+ | Entender una decisión arquitectónica | Explicación | `explanation/` |
73
+
74
+ ## Árbol de Decisión
75
+
76
+ ```
77
+ ¿El lector necesita aprender algo nuevo desde cero?
78
+ ├── SÍ → ¿Se aprende mejor haciendo?
79
+ │ ├── SÍ → TUTORIAL → tutorials/
80
+ │ └── NO → EXPLICACIÓN → explanation/
81
+ └── NO → ¿Necesita resolver un problema práctico?
82
+ ├── SÍ → ¿Necesita pasos concretos?
83
+ │ ├── SÍ → HOW-TO → how-to/
84
+ │ └── NO → EXPLICACIÓN → explanation/
85
+ └── NO → ¿Necesita buscar información específica?
86
+ ├── SÍ → REFERENCIA → reference/
87
+ └── NO → Replantear la necesidad
88
+ ```
89
+
90
+ ## Ejemplos por Tipo en Proyectos Web
91
+
92
+ ### Tutorial (tutorials/)
93
+
94
+ | Título | Qué enseña |
95
+ |--------|------------|
96
+ | `quick-start.md` | Crear el primer endpoint, levantar el proyecto |
97
+ | `first-component.md` | Crear un componente React/Vue desde cero |
98
+ | `database-setup.md` | Configurar la base de datos por primera vez |
99
+ | `deploy-guide.md` | Hacer el primer deploy paso a paso |
100
+
101
+ ### How-to (how-to/)
102
+
103
+ | Título | Qué resuelve |
104
+ |---------|-------------|
105
+ | `add-auth.md` | Agregar autenticación a una API existente |
106
+ | `custom-middleware.md` | Crear middleware personalizado |
107
+ | `migrate-database.md` | Ejecutar una migración de base de datos |
108
+ | `configure-ci.md` | Configurar pipeline de CI/CD |
109
+ | `add-new-endpoint.md` | Agregar un nuevo endpoint REST |
110
+ | `debug-connection.md` | Diagnosticar problemas de conexión |
111
+
112
+ ### Referencia (reference/)
113
+
114
+ | Título | Qué documenta |
115
+ |---------|-------------|
116
+ | `api.md` | Todos los endpoints: método, ruta, params, respuesta |
117
+ | `configuration.md` | Todas las variables de configuración y sus valores |
118
+ | `cli.md` | Todos los comandos CLI con flags y ejemplos |
119
+ | `events.md` | Todos los eventos del sistema con payload |
120
+ | `errors.md` | Códigos de error con significado y resolución |
121
+
122
+ ### Explicación (explanation/)
123
+
124
+ | Título | Qué explica |
125
+ |---------|------------|
126
+ | `architecture.md` | Visión general de la arquitectura y sus capas |
127
+ | `authentication-flow.md` | Cómo funciona el flujo de auth end-to-end |
128
+ | `database-design.md` | Por qué se eligió el esquema actual |
129
+ | `caching-strategy.md` | Estrategia de caché y sus trade-offs |
130
+ | `adr/001-event-sourcing.md` | Decisión arquitectónica con contexto |
131
+
132
+ ## Tabla Rápida: Objetivo del Usuario → Tipo → Ubicación
133
+
134
+ | Objetivo del usuario | Tipo de doc | Ubicación |
135
+ |---------------------|------------|-----------|
136
+ | "Quiero aprender a usar esto" | Tutorial | `tutorials/` |
137
+ | "Quiero hacer X cosa específica" | How-to | `how-to/` |
138
+ | "Necesito consultar un dato" | Referencia | `reference/` |
139
+ | "Quiero entender por qué es así" | Explicación | `explanation/` |
140
+ | "¿Cómo se decide la arquitectura?" | ADR | `docs/adr/` |
141
+ | "¿Qué significa este término?" | CONTEXT | `docs/CONTEXT.md` |
142
+ | "¿Cómo se ve el sistema?" | Diseño | `DESIGN.md` |
143
+ | "¿Qué cambió en cada versión?" | Changelog | `CHANGELOG.md` |
144
+
145
+ ## Regla de Oro
146
+
147
+ **Un documento = Un propósito = Un tipo Diátaxis.**
148
+
149
+ Si un documento intenta ser tutorial Y referencia al mismo tiempo, ninguno de los dos funciona bien. Separar es mejorar.