@damenor/agent-docs 0.1.0 → 0.1.2
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 +141 -71
- package/dist/index.js +259 -13
- package/package.json +11 -11
- package/templates/base/README.md +64 -69
- package/templates/base/docs/CONTEXT.md +111 -111
- package/templates/modules/agents/.agents/skills/doc-maintain/SKILL.md +193 -193
- package/templates/modules/agents/.agents/skills/doc-review/SKILL.md +223 -223
- package/templates/modules/agents/.agents/skills/doc-scaffold/SKILL.md +155 -155
- package/templates/modules/agents/.agents/skills/doc-write/SKILL.md +197 -197
package/templates/base/README.md
CHANGED
|
@@ -1,110 +1,105 @@
|
|
|
1
|
-
---
|
|
2
|
-
created: "2025-01-01"
|
|
3
|
-
status: active
|
|
4
|
-
type: project-overview
|
|
5
|
-
tags: [readme, proyecto, índice]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
1
|
# {{PROJECT_NAME}}
|
|
9
2
|
|
|
10
|
-
|
|
3
|
+
<!-- Badges — update or remove as needed -->
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[()
|
|
6
|
+
|
|
7
|
+
> One-line description of what this project does and who it's for.
|
|
11
8
|
|
|
12
9
|
---
|
|
13
10
|
|
|
14
|
-
##
|
|
11
|
+
## 🚀 Quick Start
|
|
15
12
|
|
|
16
13
|
```bash
|
|
17
|
-
#
|
|
18
|
-
git clone https://github.com/org/{{PROJECT_NAME}} && cd
|
|
14
|
+
# Clone the repository
|
|
15
|
+
git clone https://github.com/org/{{PROJECT_NAME}}.git && cd {{PROJECT_NAME}}
|
|
19
16
|
|
|
20
|
-
#
|
|
21
|
-
|
|
17
|
+
# Install dependencies
|
|
18
|
+
npm install
|
|
22
19
|
|
|
23
|
-
#
|
|
24
|
-
|
|
20
|
+
# Start development server
|
|
21
|
+
npm run dev
|
|
25
22
|
```
|
|
26
23
|
|
|
27
|
-
|
|
24
|
+
The project should be available at `http://localhost:3000`.
|
|
28
25
|
|
|
29
26
|
---
|
|
30
27
|
|
|
31
|
-
##
|
|
28
|
+
## 📖 Documentation Map
|
|
32
29
|
|
|
33
|
-
|
|
30
|
+
All documentation lives in [`docs/`](docs/README.md).
|
|
34
31
|
|
|
35
|
-
|
|
|
32
|
+
| Section | What you'll find | Link |
|
|
36
33
|
|---------|-----------------|------|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
34
|
+
| Product | Vision, roadmap, stakeholders | [`docs/product/`](docs/product/overview.md) |
|
|
35
|
+
| Tutorials | Quick start, setup, first task | [`docs/tutorials/`](docs/tutorials/quick-start.md) |
|
|
36
|
+
| Guides | Deployment, troubleshooting, runbooks | [`docs/guides/`](docs/guides/deployment.md) |
|
|
37
|
+
| Reference | API, configuration, infrastructure | [`docs/reference/`](docs/reference/api.md) |
|
|
38
|
+
| Explanation | Architecture, decisions (ADRs) | [`docs/explanation/`](docs/explanation/architecture.md) |
|
|
39
|
+
| Operations | Monitoring, incidents, SLAs | [`docs/operations/`](docs/operations/README.md) |
|
|
43
40
|
|
|
44
|
-
|
|
41
|
+
Key files:
|
|
45
42
|
|
|
46
|
-
- [`AGENTS.md`](AGENTS.md) —
|
|
47
|
-
- [`CHANGELOG.md`](CHANGELOG.md) —
|
|
48
|
-
- [`docs/CONTEXT.md`](docs/CONTEXT.md) —
|
|
49
|
-
- [`docs/DESIGN.md`](docs/DESIGN.md) —
|
|
43
|
+
- [`AGENTS.md`](AGENTS.md) — Operational protocol for AI agents
|
|
44
|
+
- [`CHANGELOG.md`](CHANGELOG.md) — Project changelog
|
|
45
|
+
- [`docs/CONTEXT.md`](docs/CONTEXT.md) — Domain vocabulary and glossary
|
|
46
|
+
- [`docs/DESIGN.md`](docs/DESIGN.md) — Design system tokens and components
|
|
50
47
|
|
|
51
48
|
---
|
|
52
49
|
|
|
53
|
-
##
|
|
54
|
-
|
|
55
|
-
| Comando | Descripción |
|
|
56
|
-
|---------|-------------|
|
|
57
|
-
| `[npm run dev]` | Inicia el servidor de desarrollo con hot-reload |
|
|
58
|
-
| `[npm run build]` | Genera la build de producción |
|
|
59
|
-
| `[npm run test]` | Ejecuta la suite de tests |
|
|
60
|
-
| `[npm run lint]` | Ejecuta el linter y el formateador |
|
|
61
|
-
| `[npm run test:e2e]` | Ejecuta tests end-to-end |
|
|
62
|
-
|
|
63
|
-
> **Fuente de verdad**: [`AGENTS.md`](AGENTS.md) § Comandos. Actualizar ahí primero.
|
|
64
|
-
|
|
65
|
-
## Arquitectura
|
|
66
|
-
|
|
67
|
-
Para entender cómo está construido el proyecto, leer [`docs/explanation/architecture.md`](docs/explanation/architecture.md).
|
|
50
|
+
## 🏗 Architecture
|
|
68
51
|
|
|
69
|
-
|
|
52
|
+
> See [`docs/explanation/architecture.md`](docs/explanation/architecture.md) for the full picture.
|
|
70
53
|
|
|
71
54
|
```
|
|
72
|
-
[
|
|
73
|
-
|
|
74
|
-
Cliente (Browser)
|
|
75
|
-
↓
|
|
55
|
+
[Client / Browser]
|
|
56
|
+
↓
|
|
76
57
|
[Frontend Framework]
|
|
77
|
-
|
|
58
|
+
↓
|
|
78
59
|
[API / Backend]
|
|
79
|
-
|
|
80
|
-
[
|
|
60
|
+
↓
|
|
61
|
+
[Database]
|
|
81
62
|
```
|
|
82
63
|
|
|
83
|
-
|
|
64
|
+
Architecture decisions are documented as ADRs in [`docs/adr/`](docs/adr/TEMPLATE.md).
|
|
84
65
|
|
|
85
66
|
---
|
|
86
67
|
|
|
87
|
-
## Stack
|
|
68
|
+
## 🛠 Stack
|
|
69
|
+
|
|
70
|
+
| Layer | Technology | Version |
|
|
71
|
+
|-------|-----------|---------|
|
|
72
|
+
| Language | — | — |
|
|
73
|
+
| Frontend | — | — |
|
|
74
|
+
| Backend | — | — |
|
|
75
|
+
| Database | — | — |
|
|
76
|
+
| CI/CD | — | — |
|
|
77
|
+
| Hosting | — | — |
|
|
78
|
+
|
|
79
|
+
---
|
|
88
80
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
81
|
+
## 📁 Project Structure
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
{{PROJECT_NAME}}/
|
|
85
|
+
├── docs/ # Documentation (Diátaxis framework)
|
|
86
|
+
├── src/ # Application source code
|
|
87
|
+
├── tests/ # Test suites
|
|
88
|
+
├── AGENTS.md # AI agent protocol
|
|
89
|
+
├── CHANGELOG.md # Changelog
|
|
90
|
+
└── README.md # This file
|
|
91
|
+
```
|
|
97
92
|
|
|
98
93
|
---
|
|
99
94
|
|
|
100
|
-
##
|
|
95
|
+
## 🤝 Contributing
|
|
101
96
|
|
|
102
|
-
1.
|
|
103
|
-
2.
|
|
104
|
-
3.
|
|
97
|
+
1. Read [`docs/dev-workflow.md`](docs/dev-workflow.md) for the internal workflow.
|
|
98
|
+
2. Read [`AGENTS.md`](AGENTS.md) if you work with AI agents.
|
|
99
|
+
3. Read [`docs/tutorials/first-task.md`](docs/tutorials/first-task.md) for your first contribution.
|
|
105
100
|
|
|
106
101
|
---
|
|
107
102
|
|
|
108
|
-
##
|
|
103
|
+
## 📄 License
|
|
109
104
|
|
|
110
|
-
[
|
|
105
|
+
[MIT](LICENSE) © {{PROJECT_NAME}} contributors
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
---
|
|
2
|
-
created: "2025-01-01"
|
|
3
|
-
updated: "2025-01-01"
|
|
4
|
-
status: active
|
|
5
|
-
completeness: "15%"
|
|
6
|
-
type: domain-language
|
|
7
|
-
tags: [contexto, dominio, vocabulario, glosario]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# CONTEXT.md — Lenguaje del Dominio
|
|
11
|
-
|
|
12
|
-
Este archivo define el vocabulario compartido que se usa en este proyecto. Todo término de negocio o concepto clave del dominio debe estar documentado aquí.
|
|
13
|
-
|
|
14
|
-
Si un término aparece en el código, la documentación o las conversaciones del equipo y NO está en este archivo, es un gap que debe cubrirse.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Lenguaje del dominio
|
|
19
|
-
|
|
20
|
-
### Entidades principales
|
|
21
|
-
|
|
22
|
-
| Término | Definición | Ejemplo de uso | Equivalente técnico |
|
|
23
|
-
|---------|-----------|----------------|-------------------|
|
|
24
|
-
| **[Término 1]** | [Qué es, en una oración, desde la perspectiva del negocio] | "El [término] se vence el viernes." | `[nombre_en_codigo]` |
|
|
25
|
-
| **[Término 2]** | [Qué es, en una oración, desde la perspectiva del negocio] | "Cada [término] puede tener múltiples [otro término]." | `[nombre_en_codigo]` |
|
|
26
|
-
| **[Término 3]** | [Qué es, en una oración, desde la perspectiva del negocio] | "El sistema genera un [término] automáticamente." | `[nombre_en_codigo]` |
|
|
27
|
-
|
|
28
|
-
### Estados y flujos
|
|
29
|
-
|
|
30
|
-
| Término | Significa | Transiciones posibles |
|
|
31
|
-
|---------|-----------|----------------------|
|
|
32
|
-
| **[Estado A]** | [Qué significa este estado en términos de negocio] | → [Estado B], → [Estado C] |
|
|
33
|
-
| **[Estado B]** | [Qué significa este estado en términos de negocio] | → [Estado C] |
|
|
34
|
-
| **[Estado C]** | [Estado final — qué implica] | — |
|
|
35
|
-
|
|
36
|
-
### Roles y permisos
|
|
37
|
-
|
|
38
|
-
| Rol | Quién es | Qué puede hacer |
|
|
39
|
-
|-----|----------|----------------|
|
|
40
|
-
| **[Rol 1]** | [Descripción del perfil de usuario] | [Lista de permisos clave] |
|
|
41
|
-
| **[Rol 2]** | [Descripción del perfil de usuario] | [Lista de permisos clave] |
|
|
42
|
-
| **Admin** | Administrador del sistema con acceso total | Gestiona usuarios, configuración global, y puede asumir cualquier rol |
|
|
43
|
-
|
|
44
|
-
### Términos de negocio
|
|
45
|
-
|
|
46
|
-
| Término | Definición | Notas |
|
|
47
|
-
|---------|-----------|-------|
|
|
48
|
-
| **[Término de negocio]** | [Definición desde la perspectiva del negocio, no técnica] | [Contexto adicional o advertencias] |
|
|
49
|
-
| **[Otro término]** | [Definición] | [Ejemplo: "No confundir con [término similar]. Ver [otra sección]."] |
|
|
50
|
-
|
|
51
|
-
### Términos técnicos internos
|
|
52
|
-
|
|
53
|
-
| Término | Definición | Por qué existe |
|
|
54
|
-
|---------|-----------|----------------|
|
|
55
|
-
| **[Término técnico]** | [Qué es y cómo se usa en este proyecto específicamente] | [Motivo por el que se introdujo o contexto de la decisión] |
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Relaciones entre conceptos
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
[Entidad 1] ─── 1:N ───→ [Entidad 2]
|
|
63
|
-
└──→ [Entidad 3] (a través de [Entidad 4])
|
|
64
|
-
|
|
65
|
-
[Rol 1] ─── puede ───→ [Acción A] sobre [Entidad 1]
|
|
66
|
-
└──→ [Acción B] sobre [Entidad 2]
|
|
67
|
-
|
|
68
|
-
[Estado A] ──→ [Estado B] ──→ [Estado C] ──→ [Estado D]
|
|
69
|
-
└──→ [Estado E] (reversión)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Ejemplo de diálogo usando el dominio
|
|
75
|
-
|
|
76
|
-
Este ejemplo muestra cómo se usa el vocabulario en una conversación real del equipo:
|
|
77
|
-
|
|
78
|
-
> **Product Manager**: "El cliente necesita que los [Término 1] en estado [Estado A] se puedan convertir automáticamente en [Término 2] cuando pasen a [Estado B]."
|
|
79
|
-
>
|
|
80
|
-
> **Developer**: "Entendido. ¿Esa conversación aplica para todos los [Rol 1] o solo para los que tienen permiso de [acción]?"
|
|
81
|
-
>
|
|
82
|
-
> **Product Manager**: "Solo para [Rol 1]. Los [Rol 2] solo ven el [Término 1] pero no pueden convertirlo."
|
|
83
|
-
>
|
|
84
|
-
> **Developer**: "Perfecto. Voy a añadir un botón de conversión en la vista de [Término 1] para [Rol 1], visible solo cuando esté en [Estado A]. ¿El [Término 2] resultante empieza en [Estado C]?"
|
|
85
|
-
>
|
|
86
|
-
> **Product Manager**: "Sí, empieza en [Estado C] y necesita aprobación de un [Rol 2] para pasar a [Estado D]."
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Ambigüedades flagadas
|
|
91
|
-
|
|
92
|
-
Estos términos tienen significados que podrían confundirse. Prestar atención al contexto:
|
|
93
|
-
|
|
94
|
-
| Término | Confusión posible | Aclaración |
|
|
95
|
-
|---------|-------------------|-----------|
|
|
96
|
-
| **[Término ambiguo]** | Se podría confundir con [otro término] | En este proyecto significa [definición precisa]. No es lo mismo que [otro término]. |
|
|
97
|
-
| **[Otro término ambiguo]** | Significa cosas distintas según el contexto | Cuando dice "[término]" en el contexto de [área 1] significa [X]. En el contexto de [área 2] significa [Y]. |
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Cómo actualizar este archivo
|
|
102
|
-
|
|
103
|
-
Cuando se añada un nuevo término al dominio:
|
|
104
|
-
|
|
105
|
-
1. Identificar si es una **entidad**, un **estado**, un **rol**, un **término de negocio** o un **término técnico**.
|
|
106
|
-
2. Añadirlo en la sección correspondiente con: definición, ejemplo de uso, y equivalente técnico.
|
|
107
|
-
3. Si tiene relaciones con otras entidades, actualizar el diagrama de relaciones.
|
|
108
|
-
4. Si es ambiguo o se confunde con otro término, añadirlo en "Ambigüedades flagadas".
|
|
109
|
-
5. Si se introdujo un nuevo estado o flujo, actualizar la tabla de estados.
|
|
110
|
-
|
|
111
|
-
**Regla**: Todo término que aparezca en código, APIs, UI o conversaciones del equipo DEBE estar aquí. Si no está, es un bug de documentación.
|
|
1
|
+
---
|
|
2
|
+
created: "2025-01-01"
|
|
3
|
+
updated: "2025-01-01"
|
|
4
|
+
status: active
|
|
5
|
+
completeness: "15%"
|
|
6
|
+
type: domain-language
|
|
7
|
+
tags: [contexto, dominio, vocabulario, glosario]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# CONTEXT.md — Lenguaje del Dominio
|
|
11
|
+
|
|
12
|
+
Este archivo define el vocabulario compartido que se usa en este proyecto. Todo término de negocio o concepto clave del dominio debe estar documentado aquí.
|
|
13
|
+
|
|
14
|
+
Si un término aparece en el código, la documentación o las conversaciones del equipo y NO está en este archivo, es un gap que debe cubrirse.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Lenguaje del dominio
|
|
19
|
+
|
|
20
|
+
### Entidades principales
|
|
21
|
+
|
|
22
|
+
| Término | Definición | Ejemplo de uso | Equivalente técnico |
|
|
23
|
+
|---------|-----------|----------------|-------------------|
|
|
24
|
+
| **[Término 1]** | [Qué es, en una oración, desde la perspectiva del negocio] | "El [término] se vence el viernes." | `[nombre_en_codigo]` |
|
|
25
|
+
| **[Término 2]** | [Qué es, en una oración, desde la perspectiva del negocio] | "Cada [término] puede tener múltiples [otro término]." | `[nombre_en_codigo]` |
|
|
26
|
+
| **[Término 3]** | [Qué es, en una oración, desde la perspectiva del negocio] | "El sistema genera un [término] automáticamente." | `[nombre_en_codigo]` |
|
|
27
|
+
|
|
28
|
+
### Estados y flujos
|
|
29
|
+
|
|
30
|
+
| Término | Significa | Transiciones posibles |
|
|
31
|
+
|---------|-----------|----------------------|
|
|
32
|
+
| **[Estado A]** | [Qué significa este estado en términos de negocio] | → [Estado B], → [Estado C] |
|
|
33
|
+
| **[Estado B]** | [Qué significa este estado en términos de negocio] | → [Estado C] |
|
|
34
|
+
| **[Estado C]** | [Estado final — qué implica] | — |
|
|
35
|
+
|
|
36
|
+
### Roles y permisos
|
|
37
|
+
|
|
38
|
+
| Rol | Quién es | Qué puede hacer |
|
|
39
|
+
|-----|----------|----------------|
|
|
40
|
+
| **[Rol 1]** | [Descripción del perfil de usuario] | [Lista de permisos clave] |
|
|
41
|
+
| **[Rol 2]** | [Descripción del perfil de usuario] | [Lista de permisos clave] |
|
|
42
|
+
| **Admin** | Administrador del sistema con acceso total | Gestiona usuarios, configuración global, y puede asumir cualquier rol |
|
|
43
|
+
|
|
44
|
+
### Términos de negocio
|
|
45
|
+
|
|
46
|
+
| Término | Definición | Notas |
|
|
47
|
+
|---------|-----------|-------|
|
|
48
|
+
| **[Término de negocio]** | [Definición desde la perspectiva del negocio, no técnica] | [Contexto adicional o advertencias] |
|
|
49
|
+
| **[Otro término]** | [Definición] | [Ejemplo: "No confundir con [término similar]. Ver [otra sección]."] |
|
|
50
|
+
|
|
51
|
+
### Términos técnicos internos
|
|
52
|
+
|
|
53
|
+
| Término | Definición | Por qué existe |
|
|
54
|
+
|---------|-----------|----------------|
|
|
55
|
+
| **[Término técnico]** | [Qué es y cómo se usa en este proyecto específicamente] | [Motivo por el que se introdujo o contexto de la decisión] |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Relaciones entre conceptos
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
[Entidad 1] ─── 1:N ───→ [Entidad 2]
|
|
63
|
+
└──→ [Entidad 3] (a través de [Entidad 4])
|
|
64
|
+
|
|
65
|
+
[Rol 1] ─── puede ───→ [Acción A] sobre [Entidad 1]
|
|
66
|
+
└──→ [Acción B] sobre [Entidad 2]
|
|
67
|
+
|
|
68
|
+
[Estado A] ──→ [Estado B] ──→ [Estado C] ──→ [Estado D]
|
|
69
|
+
└──→ [Estado E] (reversión)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Ejemplo de diálogo usando el dominio
|
|
75
|
+
|
|
76
|
+
Este ejemplo muestra cómo se usa el vocabulario en una conversación real del equipo:
|
|
77
|
+
|
|
78
|
+
> **Product Manager**: "El cliente necesita que los [Término 1] en estado [Estado A] se puedan convertir automáticamente en [Término 2] cuando pasen a [Estado B]."
|
|
79
|
+
>
|
|
80
|
+
> **Developer**: "Entendido. ¿Esa conversación aplica para todos los [Rol 1] o solo para los que tienen permiso de [acción]?"
|
|
81
|
+
>
|
|
82
|
+
> **Product Manager**: "Solo para [Rol 1]. Los [Rol 2] solo ven el [Término 1] pero no pueden convertirlo."
|
|
83
|
+
>
|
|
84
|
+
> **Developer**: "Perfecto. Voy a añadir un botón de conversión en la vista de [Término 1] para [Rol 1], visible solo cuando esté en [Estado A]. ¿El [Término 2] resultante empieza en [Estado C]?"
|
|
85
|
+
>
|
|
86
|
+
> **Product Manager**: "Sí, empieza en [Estado C] y necesita aprobación de un [Rol 2] para pasar a [Estado D]."
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Ambigüedades flagadas
|
|
91
|
+
|
|
92
|
+
Estos términos tienen significados que podrían confundirse. Prestar atención al contexto:
|
|
93
|
+
|
|
94
|
+
| Término | Confusión posible | Aclaración |
|
|
95
|
+
|---------|-------------------|-----------|
|
|
96
|
+
| **[Término ambiguo]** | Se podría confundir con [otro término] | En este proyecto significa [definición precisa]. No es lo mismo que [otro término]. |
|
|
97
|
+
| **[Otro término ambiguo]** | Significa cosas distintas según el contexto | Cuando dice "[término]" en el contexto de [área 1] significa [X]. En el contexto de [área 2] significa [Y]. |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Cómo actualizar este archivo
|
|
102
|
+
|
|
103
|
+
Cuando se añada un nuevo término al dominio:
|
|
104
|
+
|
|
105
|
+
1. Identificar si es una **entidad**, un **estado**, un **rol**, un **término de negocio** o un **término técnico**.
|
|
106
|
+
2. Añadirlo en la sección correspondiente con: definición, ejemplo de uso, y equivalente técnico.
|
|
107
|
+
3. Si tiene relaciones con otras entidades, actualizar el diagrama de relaciones.
|
|
108
|
+
4. Si es ambiguo o se confunde con otro término, añadirlo en "Ambigüedades flagadas".
|
|
109
|
+
5. Si se introdujo un nuevo estado o flujo, actualizar la tabla de estados.
|
|
110
|
+
|
|
111
|
+
**Regla**: Todo término que aparezca en código, APIs, UI o conversaciones del equipo DEBE estar aquí. Si no está, es un bug de documentación.
|