@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,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.
|