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.
Files changed (233) hide show
  1. package/AGENTS.md +371 -0
  2. package/LICENSE +21 -0
  3. package/README.md +837 -0
  4. package/bin/docviz-mcp.mjs +10 -0
  5. package/bin/docviz.mjs +11 -0
  6. package/dist/build/builder.d.ts +62 -0
  7. package/dist/build/builder.d.ts.map +1 -0
  8. package/dist/build/builder.js +337 -0
  9. package/dist/build/builder.js.map +1 -0
  10. package/dist/build/diff.d.ts +64 -0
  11. package/dist/build/diff.d.ts.map +1 -0
  12. package/dist/build/diff.js +156 -0
  13. package/dist/build/diff.js.map +1 -0
  14. package/dist/build/doctor.d.ts +39 -0
  15. package/dist/build/doctor.d.ts.map +1 -0
  16. package/dist/build/doctor.js +190 -0
  17. package/dist/build/doctor.js.map +1 -0
  18. package/dist/build/init.d.ts +28 -0
  19. package/dist/build/init.d.ts.map +1 -0
  20. package/dist/build/init.js +274 -0
  21. package/dist/build/init.js.map +1 -0
  22. package/dist/build/preview.d.ts +13 -0
  23. package/dist/build/preview.d.ts.map +1 -0
  24. package/dist/build/preview.js +277 -0
  25. package/dist/build/preview.js.map +1 -0
  26. package/dist/build/skill.d.ts +41 -0
  27. package/dist/build/skill.d.ts.map +1 -0
  28. package/dist/build/skill.js +63 -0
  29. package/dist/build/skill.js.map +1 -0
  30. package/dist/build/verify.d.ts +26 -0
  31. package/dist/build/verify.d.ts.map +1 -0
  32. package/dist/build/verify.js +99 -0
  33. package/dist/build/verify.js.map +1 -0
  34. package/dist/cli.d.ts +20 -0
  35. package/dist/cli.d.ts.map +1 -0
  36. package/dist/cli.js +427 -0
  37. package/dist/cli.js.map +1 -0
  38. package/dist/config/load.d.ts +32 -0
  39. package/dist/config/load.d.ts.map +1 -0
  40. package/dist/config/load.js +279 -0
  41. package/dist/config/load.js.map +1 -0
  42. package/dist/config/types.d.ts +89 -0
  43. package/dist/config/types.d.ts.map +1 -0
  44. package/dist/config/types.js +5 -0
  45. package/dist/config/types.js.map +1 -0
  46. package/dist/core/cache.d.ts +32 -0
  47. package/dist/core/cache.d.ts.map +1 -0
  48. package/dist/core/cache.js +69 -0
  49. package/dist/core/cache.js.map +1 -0
  50. package/dist/core/errors.d.ts +115 -0
  51. package/dist/core/errors.d.ts.map +1 -0
  52. package/dist/core/errors.js +164 -0
  53. package/dist/core/errors.js.map +1 -0
  54. package/dist/core/hash.d.ts +57 -0
  55. package/dist/core/hash.d.ts.map +1 -0
  56. package/dist/core/hash.js +0 -0
  57. package/dist/core/hash.js.map +1 -0
  58. package/dist/core/package-version.d.ts +9 -0
  59. package/dist/core/package-version.d.ts.map +1 -0
  60. package/dist/core/package-version.js +44 -0
  61. package/dist/core/package-version.js.map +1 -0
  62. package/dist/core/paths.d.ts +46 -0
  63. package/dist/core/paths.d.ts.map +1 -0
  64. package/dist/core/paths.js +105 -0
  65. package/dist/core/paths.js.map +1 -0
  66. package/dist/core/registry.d.ts +24 -0
  67. package/dist/core/registry.d.ts.map +1 -0
  68. package/dist/core/registry.js +72 -0
  69. package/dist/core/registry.js.map +1 -0
  70. package/dist/core/types.d.ts +78 -0
  71. package/dist/core/types.d.ts.map +1 -0
  72. package/dist/core/types.js +11 -0
  73. package/dist/core/types.js.map +1 -0
  74. package/dist/dsl/architecture.d.ts +15 -0
  75. package/dist/dsl/architecture.d.ts.map +1 -0
  76. package/dist/dsl/architecture.js +242 -0
  77. package/dist/dsl/architecture.js.map +1 -0
  78. package/dist/dsl/catalog.d.ts +62 -0
  79. package/dist/dsl/catalog.d.ts.map +1 -0
  80. package/dist/dsl/catalog.en.d.ts +18 -0
  81. package/dist/dsl/catalog.en.d.ts.map +1 -0
  82. package/dist/dsl/catalog.en.js +299 -0
  83. package/dist/dsl/catalog.en.js.map +1 -0
  84. package/dist/dsl/catalog.js +1082 -0
  85. package/dist/dsl/catalog.js.map +1 -0
  86. package/dist/dsl/chart.d.ts +14 -0
  87. package/dist/dsl/chart.d.ts.map +1 -0
  88. package/dist/dsl/chart.js +435 -0
  89. package/dist/dsl/chart.js.map +1 -0
  90. package/dist/dsl/compile.d.ts +31 -0
  91. package/dist/dsl/compile.d.ts.map +1 -0
  92. package/dist/dsl/compile.js +120 -0
  93. package/dist/dsl/compile.js.map +1 -0
  94. package/dist/dsl/diagram-bpmn.d.ts +13 -0
  95. package/dist/dsl/diagram-bpmn.d.ts.map +1 -0
  96. package/dist/dsl/diagram-bpmn.js +215 -0
  97. package/dist/dsl/diagram-bpmn.js.map +1 -0
  98. package/dist/dsl/diagram-product.d.ts +15 -0
  99. package/dist/dsl/diagram-product.d.ts.map +1 -0
  100. package/dist/dsl/diagram-product.js +291 -0
  101. package/dist/dsl/diagram-product.js.map +1 -0
  102. package/dist/dsl/diagram-technical.d.ts +28 -0
  103. package/dist/dsl/diagram-technical.d.ts.map +1 -0
  104. package/dist/dsl/diagram-technical.js +365 -0
  105. package/dist/dsl/diagram-technical.js.map +1 -0
  106. package/dist/dsl/diagram.d.ts +22 -0
  107. package/dist/dsl/diagram.d.ts.map +1 -0
  108. package/dist/dsl/diagram.js +542 -0
  109. package/dist/dsl/diagram.js.map +1 -0
  110. package/dist/dsl/fallbacks-d2.d.ts +27 -0
  111. package/dist/dsl/fallbacks-d2.d.ts.map +1 -0
  112. package/dist/dsl/fallbacks-d2.js +265 -0
  113. package/dist/dsl/fallbacks-d2.js.map +1 -0
  114. package/dist/dsl/fallbacks.d.ts +25 -0
  115. package/dist/dsl/fallbacks.d.ts.map +1 -0
  116. package/dist/dsl/fallbacks.js +264 -0
  117. package/dist/dsl/fallbacks.js.map +1 -0
  118. package/dist/dsl/fields.d.ts +93 -0
  119. package/dist/dsl/fields.d.ts.map +1 -0
  120. package/dist/dsl/fields.js +233 -0
  121. package/dist/dsl/fields.js.map +1 -0
  122. package/dist/dsl/index.d.ts +50 -0
  123. package/dist/dsl/index.d.ts.map +1 -0
  124. package/dist/dsl/index.js +114 -0
  125. package/dist/dsl/index.js.map +1 -0
  126. package/dist/dsl/util.d.ts +105 -0
  127. package/dist/dsl/util.d.ts.map +1 -0
  128. package/dist/dsl/util.js +261 -0
  129. package/dist/dsl/util.js.map +1 -0
  130. package/dist/index.d.ts +27 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +21 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/markdown/scan.d.ts +73 -0
  135. package/dist/markdown/scan.d.ts.map +1 -0
  136. package/dist/markdown/scan.js +150 -0
  137. package/dist/markdown/scan.js.map +1 -0
  138. package/dist/markdown/transform.d.ts +28 -0
  139. package/dist/markdown/transform.d.ts.map +1 -0
  140. package/dist/markdown/transform.js +38 -0
  141. package/dist/markdown/transform.js.map +1 -0
  142. package/dist/mcp/server.d.ts +18 -0
  143. package/dist/mcp/server.d.ts.map +1 -0
  144. package/dist/mcp/server.js +118 -0
  145. package/dist/mcp/server.js.map +1 -0
  146. package/dist/mcp/tools.d.ts +118 -0
  147. package/dist/mcp/tools.d.ts.map +1 -0
  148. package/dist/mcp/tools.js +573 -0
  149. package/dist/mcp/tools.js.map +1 -0
  150. package/dist/renderers/base.d.ts +18 -0
  151. package/dist/renderers/base.d.ts.map +1 -0
  152. package/dist/renderers/base.js +59 -0
  153. package/dist/renderers/base.js.map +1 -0
  154. package/dist/renderers/bpmn.d.ts +68 -0
  155. package/dist/renderers/bpmn.d.ts.map +1 -0
  156. package/dist/renderers/bpmn.js +158 -0
  157. package/dist/renderers/bpmn.js.map +1 -0
  158. package/dist/renderers/browser.d.ts +30 -0
  159. package/dist/renderers/browser.d.ts.map +1 -0
  160. package/dist/renderers/browser.js +143 -0
  161. package/dist/renderers/browser.js.map +1 -0
  162. package/dist/renderers/color-scheme.d.ts +40 -0
  163. package/dist/renderers/color-scheme.d.ts.map +1 -0
  164. package/dist/renderers/color-scheme.js +122 -0
  165. package/dist/renderers/color-scheme.js.map +1 -0
  166. package/dist/renderers/d2.d.ts +37 -0
  167. package/dist/renderers/d2.d.ts.map +1 -0
  168. package/dist/renderers/d2.js +108 -0
  169. package/dist/renderers/d2.js.map +1 -0
  170. package/dist/renderers/graphviz.d.ts +33 -0
  171. package/dist/renderers/graphviz.d.ts.map +1 -0
  172. package/dist/renderers/graphviz.js +88 -0
  173. package/dist/renderers/graphviz.js.map +1 -0
  174. package/dist/renderers/in-page.d.ts +33 -0
  175. package/dist/renderers/in-page.d.ts.map +1 -0
  176. package/dist/renderers/in-page.js +76 -0
  177. package/dist/renderers/in-page.js.map +1 -0
  178. package/dist/renderers/index.d.ts +20 -0
  179. package/dist/renderers/index.d.ts.map +1 -0
  180. package/dist/renderers/index.js +94 -0
  181. package/dist/renderers/index.js.map +1 -0
  182. package/dist/renderers/kroki.d.ts +38 -0
  183. package/dist/renderers/kroki.d.ts.map +1 -0
  184. package/dist/renderers/kroki.js +151 -0
  185. package/dist/renderers/kroki.js.map +1 -0
  186. package/dist/renderers/likec4-svg.d.ts +82 -0
  187. package/dist/renderers/likec4-svg.d.ts.map +1 -0
  188. package/dist/renderers/likec4-svg.js +435 -0
  189. package/dist/renderers/likec4-svg.js.map +1 -0
  190. package/dist/renderers/likec4.d.ts +22 -0
  191. package/dist/renderers/likec4.d.ts.map +1 -0
  192. package/dist/renderers/likec4.js +77 -0
  193. package/dist/renderers/likec4.js.map +1 -0
  194. package/dist/renderers/mermaid.d.ts +64 -0
  195. package/dist/renderers/mermaid.d.ts.map +1 -0
  196. package/dist/renderers/mermaid.js +196 -0
  197. package/dist/renderers/mermaid.js.map +1 -0
  198. package/dist/renderers/plantuml.d.ts +56 -0
  199. package/dist/renderers/plantuml.d.ts.map +1 -0
  200. package/dist/renderers/plantuml.js +195 -0
  201. package/dist/renderers/plantuml.js.map +1 -0
  202. package/dist/renderers/svg-utils.d.ts +46 -0
  203. package/dist/renderers/svg-utils.d.ts.map +1 -0
  204. package/dist/renderers/svg-utils.js +439 -0
  205. package/dist/renderers/svg-utils.js.map +1 -0
  206. package/dist/renderers/svgbob.d.ts +26 -0
  207. package/dist/renderers/svgbob.d.ts.map +1 -0
  208. package/dist/renderers/svgbob.js +70 -0
  209. package/dist/renderers/svgbob.js.map +1 -0
  210. package/dist/renderers/vega-lite.d.ts +18 -0
  211. package/dist/renderers/vega-lite.d.ts.map +1 -0
  212. package/dist/renderers/vega-lite.js +94 -0
  213. package/dist/renderers/vega-lite.js.map +1 -0
  214. package/dist/themes/index.d.ts +17 -0
  215. package/dist/themes/index.d.ts.map +1 -0
  216. package/dist/themes/index.js +419 -0
  217. package/dist/themes/index.js.map +1 -0
  218. package/dist/themes/types.d.ts +99 -0
  219. package/dist/themes/types.d.ts.map +1 -0
  220. package/dist/themes/types.js +9 -0
  221. package/dist/themes/types.js.map +1 -0
  222. package/eval/casos.json +513 -0
  223. package/package.json +114 -0
  224. package/scripts/capture-preview.mjs +101 -0
  225. package/scripts/check-github.mjs +128 -0
  226. package/scripts/eval.d.mts +8 -0
  227. package/scripts/eval.mjs +284 -0
  228. package/scripts/fetch-plantuml.mjs +122 -0
  229. package/scripts/generate-catalog-doc.mjs +106 -0
  230. package/scripts/rasterize.mjs +68 -0
  231. package/scripts/sync-docs.mjs +158 -0
  232. package/skills/docviz/SKILL.md +111 -0
  233. package/vendor/.gitkeep +0 -0
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Ficha de cada tipo en ingles.
3
+ *
4
+ * Vive aparte del catalogo para que la traduccion se pueda revisar de un
5
+ * vistazo, y para que anadir un idioma no obligue a tocar las 57 definiciones.
6
+ *
7
+ * No es documentacion decorativa: `docviz suggest` puntua la peticion contra
8
+ * esta prosa igual que contra la española, asi que una peticion en ingles deja
9
+ * de depender solo de las palabras clave. Una prueba comprueba que no falte
10
+ * ningun tipo.
11
+ */
12
+ export const CATALOG_EN = {
13
+ sequence: {
14
+ purpose: 'Who talks to whom, and in what order.',
15
+ whenToUse: 'To explain an interaction between components over time: a login, a payment, a call between services.',
16
+ whenNotToUse: 'If the order in time does not matter; then it is a component or a dependency diagram.',
17
+ },
18
+ class: {
19
+ purpose: 'Classes or entities and how they relate.',
20
+ whenToUse: 'For the domain model of an object-oriented system, with attributes, methods and inheritance.',
21
+ whenNotToUse: 'If what you describe are tables and foreign keys: use `erd`.',
22
+ },
23
+ state: {
24
+ purpose: 'The states of one thing and the transitions between them.',
25
+ whenToUse: 'When something has a lifecycle: an order, a request, a deployment.',
26
+ whenNotToUse: 'If the process is a sequence of tasks with no states of its own: use `activity` or `flow`.',
27
+ },
28
+ activity: {
29
+ purpose: 'A process with decisions and parallel branches.',
30
+ whenToUse: 'When conditions fork the path: validations, approvals, retries.',
31
+ whenNotToUse: 'If the process is linear and simple, `flow` reads cleaner. If it is a business process with roles: `bpmn`.',
32
+ },
33
+ erd: {
34
+ purpose: 'Data entities, their fields and their cardinality.',
35
+ whenToUse: 'To document a relational data model: tables, keys and cardinalities.',
36
+ whenNotToUse: 'If the focus is behaviour rather than data: use `class`.',
37
+ },
38
+ 'use-case': {
39
+ purpose: 'What each actor can do with the system.',
40
+ whenToUse: 'To scope the functionality against users and external systems.',
41
+ whenNotToUse: 'If you need to detail how each case happens: that is `sequence` or `activity`.',
42
+ },
43
+ component: {
44
+ purpose: 'Software components, grouped, and how they connect.',
45
+ whenToUse: 'For the internal structure of an application when C4 is overkill.',
46
+ whenNotToUse: 'If you describe the whole system and its surroundings: use `c4-context` or `c4-container`.',
47
+ },
48
+ deployment: {
49
+ purpose: 'Where each piece runs and on what infrastructure.',
50
+ whenToUse: 'To document nodes, containers, artifacts and the databases of an environment.',
51
+ whenNotToUse: 'If the interest is logical responsibility rather than the machine: use `component` or C4.',
52
+ },
53
+ wireframe: {
54
+ purpose: 'A sketch of a screen: fields, buttons and layout.',
55
+ whenToUse: 'To agree on an interface without opening a design tool, inside the document itself.',
56
+ whenNotToUse: 'If you need real visual fidelity; this is a sketch, not a design.',
57
+ },
58
+ json: {
59
+ purpose: 'The shape of a JSON drawn as a tree.',
60
+ whenToUse: 'To document an API request or response body at a glance.',
61
+ whenNotToUse: 'If the JSON is short: a code block reads better and can be copied.',
62
+ },
63
+ yaml: {
64
+ purpose: 'The shape of a YAML drawn as a tree.',
65
+ whenToUse: 'To explain a manifest or a long configuration by its shape.',
66
+ whenNotToUse: 'If the file is short or the reader will copy it: use a code block.',
67
+ },
68
+ wbs: {
69
+ purpose: 'The hierarchical breakdown of a project.',
70
+ whenToUse: 'To break a scope down into deliverables and work packages.',
71
+ whenNotToUse: 'If what matters are the dates: use `gantt`. If it is a causal analysis: `issue-tree`.',
72
+ },
73
+ flow: {
74
+ purpose: 'A simple end-to-end flow.',
75
+ whenToUse: 'To chain steps or components when seeing where things go through is enough.',
76
+ whenNotToUse: 'If there are many conditions: `activity`. If it is an interaction over time: `sequence`.',
77
+ },
78
+ gantt: {
79
+ purpose: 'Tasks placed on the calendar.',
80
+ whenToUse: 'For a plan with dates and dependencies between tasks.',
81
+ whenNotToUse: 'If there are no concrete dates: use `roadmap` or `timeline`.',
82
+ },
83
+ journey: {
84
+ purpose: 'A person walking through a process, with how they feel at each step.',
85
+ whenToUse: 'To show where the user suffers and who takes part at each step.',
86
+ whenNotToUse: 'If the interest is technical rather than the experience: use `flow` or `sequence`.',
87
+ },
88
+ 'git-graph': {
89
+ purpose: 'The history of branches, commits and merges.',
90
+ whenToUse: 'To explain the branching strategy of the team.',
91
+ whenNotToUse: 'If what you document is the review process rather than the topology: use `flow`.',
92
+ },
93
+ kanban: {
94
+ purpose: 'Cards spread across status columns.',
95
+ whenToUse: 'To snapshot the state of a board inside a report.',
96
+ whenNotToUse: 'If the board changes daily: link the tool instead of freezing it.',
97
+ },
98
+ quadrant: {
99
+ purpose: 'Items placed on two continuous axes.',
100
+ whenToUse: 'To prioritise with data: every item has a concrete position, not just a quadrant.',
101
+ whenNotToUse: 'If you only want to name the four quadrants without placing anything: use `matrix-2x2`.',
102
+ },
103
+ sankey: {
104
+ purpose: 'How a quantity splits as it moves from one state to another.',
105
+ whenToUse: 'To show volumes that divide: where defects come from, a conversion funnel with leaks.',
106
+ whenNotToUse: 'If you only compare totals with no flow between them: use `bar`.',
107
+ },
108
+ treemap: {
109
+ purpose: 'The composition of a total by proportional area.',
110
+ whenToUse: 'To see at a glance who weighs most inside a hierarchical set.',
111
+ whenNotToUse: 'If you compare a few categories with no hierarchy: `bar` is more precise to read.',
112
+ },
113
+ radar: {
114
+ purpose: 'A profile across several dimensions at once.',
115
+ whenToUse: 'For maturity or capability assessments, and to compare two profiles.',
116
+ whenNotToUse: 'With more than seven axes, or if the dimensions are not comparable to each other.',
117
+ },
118
+ mindmap: {
119
+ purpose: 'Exploring a topic in free branches.',
120
+ whenToUse: 'To open up a scope or collect ideas before structuring them.',
121
+ whenNotToUse: 'If the hierarchy is already firm and deliberate: `strategy-tree` conveys the intent better.',
122
+ },
123
+ block: {
124
+ purpose: 'Blocks laid out on a grid, with no flow semantics.',
125
+ whenToUse: 'For layers, bands or a schematic view where position matters more than arrows.',
126
+ whenNotToUse: 'If there are relationships to explain: use `flow` or `component`.',
127
+ },
128
+ 'strategy-tree': {
129
+ purpose: 'Breaking an objective down into lines of action.',
130
+ whenToUse: 'To bring an objective down to concrete initiatives in front of leadership.',
131
+ whenNotToUse: 'If you are exploring the causes of a problem: `issue-tree` names the intent better.',
132
+ },
133
+ 'issue-tree': {
134
+ purpose: 'Breaking a problem down into its causes.',
135
+ whenToUse: 'For root cause analysis, or to structure a diagnosis.',
136
+ whenNotToUse: 'If you already know what to do and only want to present it: `strategy-tree`.',
137
+ },
138
+ 'decision-tree': {
139
+ purpose: 'The alternatives of a decision and where each one leads.',
140
+ whenToUse: 'To present mutually exclusive options and what each one leads to.',
141
+ whenNotToUse: 'If the decision happens inside a process: use `activity`.',
142
+ },
143
+ 'strategy-pillars': {
144
+ purpose: 'The pillars holding up an objective, with their content.',
145
+ whenToUse: 'For a leadership slide with three or four themes and their initiatives.',
146
+ whenNotToUse: 'If the hierarchy has more than two levels: use `strategy-tree`.',
147
+ },
148
+ 'capability-map': {
149
+ purpose: 'Capabilities grouped by domain.',
150
+ whenToUse: 'To show what an organisation or a product knows how to do, without talking about technology.',
151
+ whenNotToUse: 'If you describe software components: use `component` or C4.',
152
+ },
153
+ 'operating-model': {
154
+ purpose: 'The layers of an operating model, from business to infrastructure.',
155
+ whenToUse: 'To relate levels: business, processes, applications, technology.',
156
+ whenNotToUse: 'If there is a single layer with loose items: use `capability-map`.',
157
+ },
158
+ 'value-chain': {
159
+ purpose: 'Chained stages that create value.',
160
+ whenToUse: 'For the journey of an activity from start to finish, in broad steps.',
161
+ whenNotToUse: 'If there are conditions or loops back: use `flow` or `activity`.',
162
+ },
163
+ 'before-after': {
164
+ purpose: 'A comparison of two scenarios.',
165
+ whenToUse: 'To justify a change by showing the current situation against the proposal.',
166
+ whenNotToUse: 'If the comparison is numeric: use `bar` or `slope`.',
167
+ },
168
+ 'matrix-2x2': {
169
+ purpose: 'Four quadrants with their content, without coordinates.',
170
+ whenToUse: 'To classify into four qualitative groups.',
171
+ whenNotToUse: 'If each item has a measured position: use `quadrant`.',
172
+ },
173
+ timeline: {
174
+ purpose: 'Milestones in chronological order.',
175
+ whenToUse: 'For a history or a succession of milestones with no durations.',
176
+ whenNotToUse: 'If there are start and end dates per task: use `gantt`.',
177
+ },
178
+ roadmap: {
179
+ purpose: 'Upcoming phases with their content.',
180
+ whenToUse: 'To communicate the plan by quarter or phase without committing to exact dates.',
181
+ whenNotToUse: 'If there are date commitments: use `gantt`.',
182
+ },
183
+ 'dependency-map': {
184
+ purpose: 'Who depends on whom.',
185
+ whenToUse: 'For dependency graphs between modules, services or teams, cycles included.',
186
+ whenNotToUse: 'If the order in time matters: use `sequence`.',
187
+ },
188
+ bpmn: {
189
+ purpose: 'A business process in standard BPMN notation.',
190
+ whenToUse: 'When the document goes to business or audit and the standard notation matters.',
191
+ whenNotToUse: 'For an internal technical process, `activity` or `flow` are shorter. Lanes by role are not supported yet.',
192
+ },
193
+ ascii: {
194
+ purpose: 'A drawing made of characters, turned into clean SVG.',
195
+ whenToUse: 'When you already have an ASCII sketch —from an RFC, from a README— and want to publish it legibly.',
196
+ whenNotToUse: 'For a new diagram: any declarative type ages better.',
197
+ },
198
+ bar: {
199
+ purpose: 'A comparison between categories.',
200
+ whenToUse: 'When each bar is a category and you want to compare them.',
201
+ whenNotToUse: 'If the axis is time and there are many points: use `line`.',
202
+ },
203
+ 'horizontal-bar': {
204
+ purpose: 'A comparison between categories with long labels.',
205
+ whenToUse: 'When the names do not fit under vertical bars.',
206
+ whenNotToUse: 'If there are few categories with short names: `bar` takes less room.',
207
+ },
208
+ 'stacked-bar': {
209
+ purpose: 'The composition of a total, per category.',
210
+ whenToUse: 'To see the total and how it breaks down inside, at the same time.',
211
+ whenNotToUse: 'If you want to compare the parts against each other: use `grouped-bar`.',
212
+ },
213
+ 'grouped-bar': {
214
+ purpose: 'A comparison of several series per category.',
215
+ whenToUse: 'When you compare two or three series within each category.',
216
+ whenNotToUse: 'If the interest is the total: use `stacked-bar`.',
217
+ },
218
+ line: {
219
+ purpose: 'How a magnitude evolves over time.',
220
+ whenToUse: 'For trends with several points: coverage per sprint, defects per month.',
221
+ whenNotToUse: 'With two or three points and no continuity: use `bar`.',
222
+ },
223
+ area: {
224
+ purpose: 'Evolution with the accumulated volume emphasised.',
225
+ whenToUse: 'When the magnitude under the curve matters, not just its shape.',
226
+ whenNotToUse: 'If you compare several series that cross each other: `line` reads better.',
227
+ },
228
+ 'stacked-area': {
229
+ purpose: 'How the composition of a total evolves.',
230
+ whenToUse: 'To see how the split between series changes over time.',
231
+ whenNotToUse: 'If the series do not add up to a meaningful total: use `line`.',
232
+ },
233
+ scatter: {
234
+ purpose: 'The relationship between two magnitudes.',
235
+ whenToUse: 'To look for correlation: size against defects, effort against value.',
236
+ whenNotToUse: 'If one of the two is categorical: use `bar`.',
237
+ },
238
+ heatmap: {
239
+ purpose: 'The density of a magnitude across two categorical dimensions.',
240
+ whenToUse: 'For crossings: defects by module and sprint, activity by day and hour.',
241
+ whenNotToUse: 'If one dimension has a single value: use `bar`.',
242
+ },
243
+ histogram: {
244
+ purpose: 'The distribution of a continuous variable.',
245
+ whenToUse: 'To see how values spread out: build durations, story sizes.',
246
+ whenNotToUse: 'If the values already come grouped into categories: use `bar`.',
247
+ },
248
+ 'box-plot': {
249
+ purpose: 'Median, spread and outliers per group.',
250
+ whenToUse: 'To compare variability between groups, not just their average.',
251
+ whenNotToUse: 'With very few observations per group: the box would mislead.',
252
+ },
253
+ bullet: {
254
+ purpose: 'The actual value against its target.',
255
+ whenToUse: 'For indicators with a goal: coverage against 80 %, availability against the SLA.',
256
+ whenNotToUse: 'If there is no defined target: use `bar`.',
257
+ },
258
+ slope: {
259
+ purpose: 'The change between two moments, item by item.',
260
+ whenToUse: 'To show who improved and who got worse between two measurements.',
261
+ whenNotToUse: 'With more than two moments: use `line`.',
262
+ },
263
+ funnel: {
264
+ purpose: 'How volume drops along successive stages.',
265
+ whenToUse: 'For conversions or filters: candidates per stage, incidents per status.',
266
+ whenNotToUse: 'If the stages are not successive: use `bar`.',
267
+ },
268
+ pie: {
269
+ purpose: 'How a total splits between a few parts.',
270
+ whenToUse: 'With three or four parts and large differences between them.',
271
+ whenNotToUse: 'With many parts or similar values: `bar` compares better.',
272
+ },
273
+ donut: {
274
+ purpose: 'How a total splits, with the centre free for a figure or a title.',
275
+ whenToUse: 'Same as `pie`, when the hole in the middle lightens the slide.',
276
+ whenNotToUse: 'With many parts or similar values: `bar` compares better.',
277
+ },
278
+ waterfall: {
279
+ purpose: 'How you get from a starting value to a final one, step by step.',
280
+ whenToUse: 'To break a variation down into its positive and negative contributions.',
281
+ whenNotToUse: 'If you only have the start and the end: use `bar`.',
282
+ },
283
+ 'c4-context': {
284
+ purpose: 'The system, its users and the systems it talks to.',
285
+ whenToUse: 'As the first view of an architecture, for an audience that does not know the system.',
286
+ whenNotToUse: 'If you need to see internal pieces: use `c4-container`.',
287
+ },
288
+ 'c4-container': {
289
+ purpose: 'The deployable pieces of the system and their technology.',
290
+ whenToUse: 'To explain what parts the system consists of and how they communicate.',
291
+ whenNotToUse: 'If the detail is about internal classes or modules: use `c4-component` or `component`.',
292
+ },
293
+ 'c4-component': {
294
+ purpose: 'The internal components of one container.',
295
+ whenToUse: 'For the inside of one specific application, when it helps the reader.',
296
+ whenNotToUse: 'Almost always: this level ages fast. Check that someone is going to read it.',
297
+ },
298
+ };
299
+ //# sourceMappingURL=catalog.en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.en.js","sourceRoot":"","sources":["../../src/dsl/catalog.en.ts"],"names":[],"mappings":"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"}