docviz-builder 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/AGENTS.md +371 -0
- package/LICENSE +21 -0
- package/README.md +837 -0
- package/bin/docviz-mcp.mjs +10 -0
- package/bin/docviz.mjs +11 -0
- package/dist/build/builder.d.ts +62 -0
- package/dist/build/builder.d.ts.map +1 -0
- package/dist/build/builder.js +337 -0
- package/dist/build/builder.js.map +1 -0
- package/dist/build/diff.d.ts +64 -0
- package/dist/build/diff.d.ts.map +1 -0
- package/dist/build/diff.js +156 -0
- package/dist/build/diff.js.map +1 -0
- package/dist/build/doctor.d.ts +39 -0
- package/dist/build/doctor.d.ts.map +1 -0
- package/dist/build/doctor.js +190 -0
- package/dist/build/doctor.js.map +1 -0
- package/dist/build/init.d.ts +28 -0
- package/dist/build/init.d.ts.map +1 -0
- package/dist/build/init.js +274 -0
- package/dist/build/init.js.map +1 -0
- package/dist/build/preview.d.ts +13 -0
- package/dist/build/preview.d.ts.map +1 -0
- package/dist/build/preview.js +277 -0
- package/dist/build/preview.js.map +1 -0
- package/dist/build/skill.d.ts +41 -0
- package/dist/build/skill.d.ts.map +1 -0
- package/dist/build/skill.js +63 -0
- package/dist/build/skill.js.map +1 -0
- package/dist/build/verify.d.ts +26 -0
- package/dist/build/verify.d.ts.map +1 -0
- package/dist/build/verify.js +99 -0
- package/dist/build/verify.js.map +1 -0
- package/dist/cli.d.ts +20 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +427 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/load.d.ts +32 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +279 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/types.d.ts +89 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +5 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/cache.d.ts +32 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +69 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/errors.d.ts +115 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +164 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/hash.d.ts +57 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +0 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/package-version.d.ts +9 -0
- package/dist/core/package-version.d.ts.map +1 -0
- package/dist/core/package-version.js +44 -0
- package/dist/core/package-version.js.map +1 -0
- package/dist/core/paths.d.ts +46 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +105 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/registry.d.ts +24 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +72 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/types.d.ts +78 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +11 -0
- package/dist/core/types.js.map +1 -0
- package/dist/dsl/architecture.d.ts +15 -0
- package/dist/dsl/architecture.d.ts.map +1 -0
- package/dist/dsl/architecture.js +242 -0
- package/dist/dsl/architecture.js.map +1 -0
- package/dist/dsl/catalog.d.ts +62 -0
- package/dist/dsl/catalog.d.ts.map +1 -0
- package/dist/dsl/catalog.en.d.ts +18 -0
- package/dist/dsl/catalog.en.d.ts.map +1 -0
- package/dist/dsl/catalog.en.js +299 -0
- package/dist/dsl/catalog.en.js.map +1 -0
- package/dist/dsl/catalog.js +1082 -0
- package/dist/dsl/catalog.js.map +1 -0
- package/dist/dsl/chart.d.ts +14 -0
- package/dist/dsl/chart.d.ts.map +1 -0
- package/dist/dsl/chart.js +435 -0
- package/dist/dsl/chart.js.map +1 -0
- package/dist/dsl/compile.d.ts +31 -0
- package/dist/dsl/compile.d.ts.map +1 -0
- package/dist/dsl/compile.js +120 -0
- package/dist/dsl/compile.js.map +1 -0
- package/dist/dsl/diagram-bpmn.d.ts +13 -0
- package/dist/dsl/diagram-bpmn.d.ts.map +1 -0
- package/dist/dsl/diagram-bpmn.js +215 -0
- package/dist/dsl/diagram-bpmn.js.map +1 -0
- package/dist/dsl/diagram-product.d.ts +15 -0
- package/dist/dsl/diagram-product.d.ts.map +1 -0
- package/dist/dsl/diagram-product.js +291 -0
- package/dist/dsl/diagram-product.js.map +1 -0
- package/dist/dsl/diagram-technical.d.ts +28 -0
- package/dist/dsl/diagram-technical.d.ts.map +1 -0
- package/dist/dsl/diagram-technical.js +365 -0
- package/dist/dsl/diagram-technical.js.map +1 -0
- package/dist/dsl/diagram.d.ts +22 -0
- package/dist/dsl/diagram.d.ts.map +1 -0
- package/dist/dsl/diagram.js +542 -0
- package/dist/dsl/diagram.js.map +1 -0
- package/dist/dsl/fallbacks-d2.d.ts +27 -0
- package/dist/dsl/fallbacks-d2.d.ts.map +1 -0
- package/dist/dsl/fallbacks-d2.js +265 -0
- package/dist/dsl/fallbacks-d2.js.map +1 -0
- package/dist/dsl/fallbacks.d.ts +25 -0
- package/dist/dsl/fallbacks.d.ts.map +1 -0
- package/dist/dsl/fallbacks.js +264 -0
- package/dist/dsl/fallbacks.js.map +1 -0
- package/dist/dsl/fields.d.ts +93 -0
- package/dist/dsl/fields.d.ts.map +1 -0
- package/dist/dsl/fields.js +233 -0
- package/dist/dsl/fields.js.map +1 -0
- package/dist/dsl/index.d.ts +50 -0
- package/dist/dsl/index.d.ts.map +1 -0
- package/dist/dsl/index.js +114 -0
- package/dist/dsl/index.js.map +1 -0
- package/dist/dsl/util.d.ts +105 -0
- package/dist/dsl/util.d.ts.map +1 -0
- package/dist/dsl/util.js +261 -0
- package/dist/dsl/util.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown/scan.d.ts +73 -0
- package/dist/markdown/scan.d.ts.map +1 -0
- package/dist/markdown/scan.js +150 -0
- package/dist/markdown/scan.js.map +1 -0
- package/dist/markdown/transform.d.ts +28 -0
- package/dist/markdown/transform.d.ts.map +1 -0
- package/dist/markdown/transform.js +38 -0
- package/dist/markdown/transform.js.map +1 -0
- package/dist/mcp/server.d.ts +18 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +118 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +118 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +573 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/renderers/base.d.ts +18 -0
- package/dist/renderers/base.d.ts.map +1 -0
- package/dist/renderers/base.js +59 -0
- package/dist/renderers/base.js.map +1 -0
- package/dist/renderers/bpmn.d.ts +68 -0
- package/dist/renderers/bpmn.d.ts.map +1 -0
- package/dist/renderers/bpmn.js +158 -0
- package/dist/renderers/bpmn.js.map +1 -0
- package/dist/renderers/browser.d.ts +30 -0
- package/dist/renderers/browser.d.ts.map +1 -0
- package/dist/renderers/browser.js +143 -0
- package/dist/renderers/browser.js.map +1 -0
- package/dist/renderers/color-scheme.d.ts +40 -0
- package/dist/renderers/color-scheme.d.ts.map +1 -0
- package/dist/renderers/color-scheme.js +122 -0
- package/dist/renderers/color-scheme.js.map +1 -0
- package/dist/renderers/d2.d.ts +37 -0
- package/dist/renderers/d2.d.ts.map +1 -0
- package/dist/renderers/d2.js +108 -0
- package/dist/renderers/d2.js.map +1 -0
- package/dist/renderers/graphviz.d.ts +33 -0
- package/dist/renderers/graphviz.d.ts.map +1 -0
- package/dist/renderers/graphviz.js +88 -0
- package/dist/renderers/graphviz.js.map +1 -0
- package/dist/renderers/in-page.d.ts +33 -0
- package/dist/renderers/in-page.d.ts.map +1 -0
- package/dist/renderers/in-page.js +76 -0
- package/dist/renderers/in-page.js.map +1 -0
- package/dist/renderers/index.d.ts +20 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +94 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/kroki.d.ts +38 -0
- package/dist/renderers/kroki.d.ts.map +1 -0
- package/dist/renderers/kroki.js +151 -0
- package/dist/renderers/kroki.js.map +1 -0
- package/dist/renderers/likec4-svg.d.ts +82 -0
- package/dist/renderers/likec4-svg.d.ts.map +1 -0
- package/dist/renderers/likec4-svg.js +435 -0
- package/dist/renderers/likec4-svg.js.map +1 -0
- package/dist/renderers/likec4.d.ts +22 -0
- package/dist/renderers/likec4.d.ts.map +1 -0
- package/dist/renderers/likec4.js +77 -0
- package/dist/renderers/likec4.js.map +1 -0
- package/dist/renderers/mermaid.d.ts +64 -0
- package/dist/renderers/mermaid.d.ts.map +1 -0
- package/dist/renderers/mermaid.js +196 -0
- package/dist/renderers/mermaid.js.map +1 -0
- package/dist/renderers/plantuml.d.ts +56 -0
- package/dist/renderers/plantuml.d.ts.map +1 -0
- package/dist/renderers/plantuml.js +195 -0
- package/dist/renderers/plantuml.js.map +1 -0
- package/dist/renderers/svg-utils.d.ts +46 -0
- package/dist/renderers/svg-utils.d.ts.map +1 -0
- package/dist/renderers/svg-utils.js +439 -0
- package/dist/renderers/svg-utils.js.map +1 -0
- package/dist/renderers/svgbob.d.ts +26 -0
- package/dist/renderers/svgbob.d.ts.map +1 -0
- package/dist/renderers/svgbob.js +70 -0
- package/dist/renderers/svgbob.js.map +1 -0
- package/dist/renderers/vega-lite.d.ts +18 -0
- package/dist/renderers/vega-lite.d.ts.map +1 -0
- package/dist/renderers/vega-lite.js +94 -0
- package/dist/renderers/vega-lite.js.map +1 -0
- package/dist/themes/index.d.ts +17 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +419 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/types.d.ts +99 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +9 -0
- package/dist/themes/types.js.map +1 -0
- package/eval/casos.json +513 -0
- package/package.json +114 -0
- package/scripts/capture-preview.mjs +101 -0
- package/scripts/check-github.mjs +128 -0
- package/scripts/eval.d.mts +8 -0
- package/scripts/eval.mjs +284 -0
- package/scripts/fetch-plantuml.mjs +122 -0
- package/scripts/generate-catalog-doc.mjs +106 -0
- package/scripts/rasterize.mjs +68 -0
- package/scripts/sync-docs.mjs +158 -0
- package/skills/docviz/SKILL.md +111 -0
- package/vendor/.gitkeep +0 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
# Instrucciones para agentes — Documentación visual
|
|
2
|
+
|
|
3
|
+
Este proyecto usa **DocViz Builder** para generar diagramas, gráficos y
|
|
4
|
+
visualizaciones dentro de documentos Markdown.
|
|
5
|
+
|
|
6
|
+
## Regla principal
|
|
7
|
+
|
|
8
|
+
Modifica exclusivamente los documentos fuente de:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
docs-src/
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
No edites nunca a mano:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
docs/
|
|
18
|
+
docs/assets/generated/
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Son directorios generados. Cualquier cambio manual se pierde en la siguiente
|
|
22
|
+
compilación.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Describe la intención, no la tecnología
|
|
27
|
+
|
|
28
|
+
DocViz sabe qué motor usar. Tú solo declaras qué quieres explicar, con una de
|
|
29
|
+
estas tres vallas:
|
|
30
|
+
|
|
31
|
+
| Valla | Cuándo |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `diagram` | Interacción, flujo, estados, dependencias, análisis estratégico |
|
|
34
|
+
| `chart` | Comparación cuantitativa, tendencia, distribución |
|
|
35
|
+
| `architecture` | Modelo C4 |
|
|
36
|
+
|
|
37
|
+
### Qué tipo elegir
|
|
38
|
+
|
|
39
|
+
Busca por **lo que quieres explicar**, no por la tecnología.
|
|
40
|
+
|
|
41
|
+
<!-- docviz:tipos-tablas-4 -->
|
|
42
|
+
#### Diagramas — bloque `diagram`
|
|
43
|
+
|
|
44
|
+
| Necesidad | `type` | Motor |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| Quien habla con quien y en que orden | `sequence` | plantuml (o d2) |
|
|
47
|
+
| Estructura de clases o entidades y sus relaciones | `class` | plantuml (o d2) |
|
|
48
|
+
| Estados de una entidad y las transiciones entre ellos | `state` | plantuml (o d2) |
|
|
49
|
+
| Proceso con decisiones y ramas paralelas | `activity` | plantuml |
|
|
50
|
+
| Entidades de datos, sus campos y su cardinalidad | `erd` | plantuml (o mermaid) |
|
|
51
|
+
| Que puede hacer cada actor con el sistema | `use-case` | plantuml (o d2) |
|
|
52
|
+
| Componentes de software agrupados y como se conectan | `component` | plantuml (o d2) |
|
|
53
|
+
| Donde se ejecuta cada pieza y sobre que infraestructura | `deployment` | plantuml (o d2) |
|
|
54
|
+
| Boceto de una pantalla: campos, botones y disposicion | `wireframe` | plantuml |
|
|
55
|
+
| Estructura de un JSON dibujada como arbol | `json` | plantuml |
|
|
56
|
+
| Estructura de un YAML dibujada como arbol | `yaml` | plantuml |
|
|
57
|
+
| Descomposicion jerarquica del trabajo de un proyecto | `wbs` | plantuml (o d2) |
|
|
58
|
+
| Flujo sencillo de extremo a extremo | `flow` | mermaid (o d2) |
|
|
59
|
+
| Tareas situadas en el calendario | `gantt` | mermaid (o plantuml) |
|
|
60
|
+
| Recorrido de una persona por un proceso, con su nivel de satisfaccion | `journey` | mermaid |
|
|
61
|
+
| Historia de ramas, commits y fusiones | `git-graph` | mermaid |
|
|
62
|
+
| Tarjetas repartidas por columna de estado | `kanban` | mermaid |
|
|
63
|
+
| Elementos situados en dos ejes continuos | `quadrant` | mermaid |
|
|
64
|
+
| Como se reparte una cantidad al pasar de un estado a otro | `sankey` | mermaid |
|
|
65
|
+
| Composicion de un total por area proporcional | `treemap` | mermaid |
|
|
66
|
+
| Perfil de varias dimensiones a la vez | `radar` | mermaid |
|
|
67
|
+
| Exploracion de un tema en ramas libres | `mindmap` | mermaid (o plantuml) |
|
|
68
|
+
| Bloques dispuestos en rejilla, sin semantica de flujo | `block` | mermaid |
|
|
69
|
+
| Descomposicion de un objetivo en lineas de accion | `strategy-tree` | d2 |
|
|
70
|
+
| Descomposicion de un problema en sus causas | `issue-tree` | d2 |
|
|
71
|
+
| Alternativas de una decision y sus ramas | `decision-tree` | d2 |
|
|
72
|
+
| Pilares que sostienen un objetivo, con su contenido | `strategy-pillars` | d2 |
|
|
73
|
+
| Capacidades agrupadas por dominio | `capability-map` | d2 |
|
|
74
|
+
| Capas de un modelo operativo, de negocio a infraestructura | `operating-model` | d2 |
|
|
75
|
+
| Etapas encadenadas que generan valor | `value-chain` | d2 |
|
|
76
|
+
| Comparacion de dos escenarios | `before-after` | d2 |
|
|
77
|
+
| Cuatro cuadrantes con su contenido, sin coordenadas | `matrix-2x2` | d2 |
|
|
78
|
+
| Hitos en orden cronologico | `timeline` | d2 (o mermaid) |
|
|
79
|
+
| Fases futuras con su contenido | `roadmap` | d2 |
|
|
80
|
+
| Quien depende de quien | `dependency-map` | graphviz |
|
|
81
|
+
| Proceso de negocio en notacion BPMN estandar | `bpmn` | bpmn |
|
|
82
|
+
| Dibujo hecho con caracteres, convertido a SVG limpio | `ascii` | svgbob |
|
|
83
|
+
|
|
84
|
+
#### Gráficos — bloque `chart`
|
|
85
|
+
|
|
86
|
+
| Necesidad | `type` | Motor |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| Comparacion entre categorias | `bar` | vega-lite |
|
|
89
|
+
| Comparacion entre categorias con etiquetas largas | `horizontal-bar` | vega-lite |
|
|
90
|
+
| Composicion de un total por categoria | `stacked-bar` | vega-lite |
|
|
91
|
+
| Comparacion de varias series por categoria | `grouped-bar` | vega-lite |
|
|
92
|
+
| Evolucion de una magnitud en el tiempo | `line` | vega-lite |
|
|
93
|
+
| Evolucion con enfasis en el volumen acumulado | `area` | vega-lite |
|
|
94
|
+
| Evolucion de la composicion de un total | `stacked-area` | vega-lite |
|
|
95
|
+
| Relacion entre dos magnitudes | `scatter` | vega-lite |
|
|
96
|
+
| Densidad de una magnitud en dos dimensiones categoricas | `heatmap` | vega-lite |
|
|
97
|
+
| Distribucion de una variable continua | `histogram` | vega-lite |
|
|
98
|
+
| Mediana, dispersion y valores atipicos por grupo | `box-plot` | vega-lite |
|
|
99
|
+
| Valor real frente a su objetivo | `bullet` | vega-lite |
|
|
100
|
+
| Cambio entre dos momentos, elemento a elemento | `slope` | vega-lite |
|
|
101
|
+
| Caida de volumen a lo largo de etapas sucesivas | `funnel` | vega-lite |
|
|
102
|
+
| Reparto de un total entre pocas partes | `pie` | vega-lite |
|
|
103
|
+
| Reparto de un total, con el centro libre para un dato o un titulo | `donut` | vega-lite |
|
|
104
|
+
| Como se llega de un valor inicial a uno final, paso a paso | `waterfall` | vega-lite |
|
|
105
|
+
|
|
106
|
+
#### Arquitectura — bloque `architecture`
|
|
107
|
+
|
|
108
|
+
| Necesidad | `type` | Motor |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| El sistema, sus usuarios y los sistemas con los que habla | `c4-context` | likec4 (o plantuml-c4) |
|
|
111
|
+
| Las piezas desplegables del sistema y su tecnologia | `c4-container` | likec4 (o plantuml-c4) |
|
|
112
|
+
| Componentes internos de un contenedor | `c4-component` | likec4 (o plantuml-c4) |
|
|
113
|
+
<!-- /docviz:tipos-tablas-4 -->
|
|
114
|
+
|
|
115
|
+
No hace falta memorizar la tabla. Si dudas, describe en una frase lo que quieres
|
|
116
|
+
explicar y llama a `docviz_suggest`: devuelve el tipo recomendado y el bloque
|
|
117
|
+
listo para rellenar. `docviz types` lista el catálogo completo con el propósito
|
|
118
|
+
y un ejemplo de cada tipo.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Ejemplos
|
|
123
|
+
|
|
124
|
+
### Interacción
|
|
125
|
+
|
|
126
|
+
````md
|
|
127
|
+
```diagram
|
|
128
|
+
type: sequence
|
|
129
|
+
title: Autenticación de usuario
|
|
130
|
+
|
|
131
|
+
participants:
|
|
132
|
+
- Usuario
|
|
133
|
+
- Frontend
|
|
134
|
+
- Entra ID
|
|
135
|
+
- API
|
|
136
|
+
|
|
137
|
+
flow:
|
|
138
|
+
- Usuario -> Frontend: Login
|
|
139
|
+
- Frontend -> Entra ID: Authenticate
|
|
140
|
+
- Entra ID --> Frontend: Token
|
|
141
|
+
- Frontend -> API: Request + Token
|
|
142
|
+
```
|
|
143
|
+
````
|
|
144
|
+
|
|
145
|
+
`->` es un mensaje; `-->` una respuesta.
|
|
146
|
+
|
|
147
|
+
### Análisis estratégico
|
|
148
|
+
|
|
149
|
+
````md
|
|
150
|
+
```diagram
|
|
151
|
+
type: strategy-tree
|
|
152
|
+
title: Estrategia de calidad
|
|
153
|
+
|
|
154
|
+
root: Mejorar calidad
|
|
155
|
+
|
|
156
|
+
branches:
|
|
157
|
+
- name: Automatización
|
|
158
|
+
children:
|
|
159
|
+
- Pruebas de regresión
|
|
160
|
+
- Pipeline de CI
|
|
161
|
+
- Arquitectura
|
|
162
|
+
- Proceso
|
|
163
|
+
```
|
|
164
|
+
````
|
|
165
|
+
|
|
166
|
+
### Datos
|
|
167
|
+
|
|
168
|
+
````md
|
|
169
|
+
```chart
|
|
170
|
+
type: bar
|
|
171
|
+
title: Defectos por sprint
|
|
172
|
+
|
|
173
|
+
data:
|
|
174
|
+
- label: SP1
|
|
175
|
+
value: 42
|
|
176
|
+
- label: SP2
|
|
177
|
+
value: 28
|
|
178
|
+
- label: SP3
|
|
179
|
+
value: 15
|
|
180
|
+
```
|
|
181
|
+
````
|
|
182
|
+
|
|
183
|
+
### Arquitectura
|
|
184
|
+
|
|
185
|
+
````md
|
|
186
|
+
```architecture
|
|
187
|
+
type: c4-context
|
|
188
|
+
title: Contexto de la plataforma
|
|
189
|
+
|
|
190
|
+
elements:
|
|
191
|
+
- id: usuario
|
|
192
|
+
kind: person
|
|
193
|
+
name: Usuario
|
|
194
|
+
- id: core
|
|
195
|
+
kind: system
|
|
196
|
+
name: Plataforma
|
|
197
|
+
description: Núcleo de negocio
|
|
198
|
+
- id: bd
|
|
199
|
+
kind: database
|
|
200
|
+
name: Base de datos
|
|
201
|
+
|
|
202
|
+
relations:
|
|
203
|
+
- from: usuario
|
|
204
|
+
to: core
|
|
205
|
+
label: Utiliza
|
|
206
|
+
- from: core
|
|
207
|
+
to: bd
|
|
208
|
+
label: Persiste
|
|
209
|
+
```
|
|
210
|
+
````
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Flujo obligatorio
|
|
215
|
+
|
|
216
|
+
Después de crear o modificar documentación:
|
|
217
|
+
|
|
218
|
+
1. Guarda los cambios en `docs-src/`.
|
|
219
|
+
2. Ejecuta:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
npm run docs:check
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
3. Corrige cualquier error reportado. Los mensajes indican **código**, archivo,
|
|
226
|
+
línea, motor y motivo; no adivines. Un documento con tres bloques rotos los
|
|
227
|
+
reporta los tres a la vez: arréglalos en una sola pasada.
|
|
228
|
+
4. Ejecuta:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
npm run docs:build
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
5. Verifica que se hayan generado los Markdown finales y sus imágenes:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
npm run docs:test
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
6. Revisa visualmente el resultado:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
npm run docs:preview
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
No reportes la tarea como terminada mientras existan errores de renderizado o
|
|
247
|
+
imágenes rotas.
|
|
248
|
+
|
|
249
|
+
### Qué hacer con cada código
|
|
250
|
+
|
|
251
|
+
| Código | Qué hacer |
|
|
252
|
+
|---|---|
|
|
253
|
+
| `DV101` | Falta un campo obligatorio. El detalle dice cuál; `docviz types <tipo>` muestra el esqueleto completo |
|
|
254
|
+
| `DV102` | El campo está pero con la forma equivocada (una lista donde iba un mapa, o al revés) |
|
|
255
|
+
| `DV103` | El valor no es uno de los admitidos; el detalle los enumera |
|
|
256
|
+
| `DV104` | Escribiste un campo que ese tipo no usa. Si el mensaje propone otro nombre, es una errata: corrígela |
|
|
257
|
+
| `DV105` | El bloque no es YAML válido. Suele ser indentación o dos puntos sin escapar |
|
|
258
|
+
| `DV106` | El `type` no existe o pertenece a otra valla. `docviz suggest "..."` propone el correcto |
|
|
259
|
+
| `DV005` | El motor no está en esta máquina. No cambies el diagrama: avisa de que falta Java o Chromium |
|
|
260
|
+
|
|
261
|
+
### Los avisos también hay que leerlos
|
|
262
|
+
|
|
263
|
+
Un `AVISO ... [DV104]` significa que el bloque compiló pero una parte de lo que
|
|
264
|
+
escribiste no llegó al dibujo. No falla el build, y por eso es fácil publicarlo
|
|
265
|
+
sin darse cuenta. Trátalo como un error: o el campo sobra y se borra, o estaba
|
|
266
|
+
mal escrito y se corrige.
|
|
267
|
+
|
|
268
|
+
### Antes de publicar un cambio grande
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
docviz diff <docs-src de la versión anterior> docs-src
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Enumera qué diagramas cambiaron, cuáles son nuevos y cuáles desaparecieron. Es
|
|
275
|
+
la forma de comprobar que no tocaste de más: si aparecen modificados diagramas
|
|
276
|
+
que no tenías intención de cambiar, revísalos antes de dar la tarea por hecha.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Reglas
|
|
281
|
+
|
|
282
|
+
- No generes manualmente archivos SVG o PNG cuando DocViz pueda generarlos.
|
|
283
|
+
- No modifiques a mano hashes ni nombres de imagen.
|
|
284
|
+
- No introduzcas rutas absolutas.
|
|
285
|
+
- No referencies imágenes temporales.
|
|
286
|
+
- No envíes documentación confidencial a servicios externos.
|
|
287
|
+
- No sustituyas diagramas declarativos por capturas de pantalla.
|
|
288
|
+
- No edites nada dentro de `docs/assets/generated`.
|
|
289
|
+
- Los diagramas viven como código dentro de `docs-src`.
|
|
290
|
+
- No ignores un aviso de campo no reconocido: o sobra el campo, o está mal escrito.
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Cuándo crear una visualización
|
|
295
|
+
|
|
296
|
+
Antes de dibujar, pregúntate si realmente mejora la comprensión. Usa
|
|
297
|
+
visualizaciones sobre todo para:
|
|
298
|
+
|
|
299
|
+
- arquitectura;
|
|
300
|
+
- interacción entre componentes;
|
|
301
|
+
- flujos complejos;
|
|
302
|
+
- estados;
|
|
303
|
+
- dependencias;
|
|
304
|
+
- análisis estratégicos;
|
|
305
|
+
- comparaciones cuantitativas;
|
|
306
|
+
- tendencias;
|
|
307
|
+
- hojas de ruta;
|
|
308
|
+
- modelos operativos.
|
|
309
|
+
|
|
310
|
+
Para información sencilla, usa texto o una tabla Markdown. Una tabla de tres
|
|
311
|
+
filas no necesita un diagrama.
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Calidad visual
|
|
316
|
+
|
|
317
|
+
Una visualización debe:
|
|
318
|
+
|
|
319
|
+
- tener un objetivo claro;
|
|
320
|
+
- tener un título descriptivo (`title:`);
|
|
321
|
+
- evitar cruces innecesarios;
|
|
322
|
+
- evitar exceso de nodos;
|
|
323
|
+
- mantener los textos cortos;
|
|
324
|
+
- ser legible al renderizarse;
|
|
325
|
+
- usar el tema definido por el proyecto (no fijes colores a mano).
|
|
326
|
+
|
|
327
|
+
Los colores del tema traen su equivalente en modo oscuro, así que la misma
|
|
328
|
+
imagen se lee bien en un visor claro y en uno oscuro. Un color escrito a mano
|
|
329
|
+
pierde esa propiedad: quedará igual en ambos modos y probablemente ilegible en
|
|
330
|
+
uno de ellos.
|
|
331
|
+
|
|
332
|
+
Cuando un diagrama crezca demasiado, divídelo en varios con objetivos
|
|
333
|
+
diferentes. Un diagrama con veinte cajas no explica nada.
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Herramientas MCP
|
|
338
|
+
|
|
339
|
+
Si tu cliente tiene el servidor MCP de DocViz configurado, prefiérelo a ejecutar
|
|
340
|
+
comandos:
|
|
341
|
+
|
|
342
|
+
| Herramienta | Uso |
|
|
343
|
+
|---|---|
|
|
344
|
+
| `docviz_suggest` | Describir en una frase qué quieres explicar y recibir el tipo y el bloque |
|
|
345
|
+
| `docviz_types` | Consultar el catálogo completo con propósito y ejemplos |
|
|
346
|
+
| `docviz_validate_document` | Validar lo que acabas de escribir, antes de guardarlo |
|
|
347
|
+
| `docviz_render_diagram` | Probar un diagrama suelto |
|
|
348
|
+
| `docviz_build_document` | Compilar la documentación |
|
|
349
|
+
| `docviz_diff` | Comprobar qué diagramas cambiaron respecto a la versión anterior |
|
|
350
|
+
| `docviz_fix` | Antes de reescribir a mano un bloque que falló, pídele el corregido |
|
|
351
|
+
|
|
352
|
+
Si trabajas en un proyecto nuevo que aún no tiene DocViz, `npx docviz skill`
|
|
353
|
+
instala este contrato en tu directorio de skills y `npx docviz init` deja el
|
|
354
|
+
`AGENTS.md` completo.
|
|
355
|
+
| `docviz_preview` | Revisar el resultado y detectar imágenes rotas |
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Al terminar
|
|
360
|
+
|
|
361
|
+
Reporta:
|
|
362
|
+
|
|
363
|
+
- documentos modificados;
|
|
364
|
+
- visualizaciones agregadas y su tipo;
|
|
365
|
+
- resultado de `docs:check`;
|
|
366
|
+
- resultado de `docs:build`;
|
|
367
|
+
- resultado de `docs:test`;
|
|
368
|
+
- resultado de la validación visual.
|
|
369
|
+
|
|
370
|
+
La documentación solo se considera terminada cuando el build y las validaciones
|
|
371
|
+
son satisfactorios.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Tilson Fernandez
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|