@h2nguyen/arc42-node-mcp-server 2.0.0 → 2.1.1

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 (226) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +83 -6
  3. package/dist/templates/arc42-reference.d.ts +25 -7
  4. package/dist/templates/arc42-reference.d.ts.map +1 -1
  5. package/dist/templates/arc42-reference.js +96 -47
  6. package/dist/templates/arc42-reference.js.map +1 -1
  7. package/dist/templates/formats/asciidoc/index.d.ts +178 -0
  8. package/dist/templates/formats/asciidoc/index.d.ts.map +1 -0
  9. package/dist/templates/formats/asciidoc/index.js +225 -0
  10. package/dist/templates/formats/asciidoc/index.js.map +1 -0
  11. package/dist/templates/formats/index.d.ts +108 -0
  12. package/dist/templates/formats/index.d.ts.map +1 -0
  13. package/dist/templates/formats/index.js +149 -0
  14. package/dist/templates/formats/index.js.map +1 -0
  15. package/dist/templates/formats/markdown/index.d.ts +172 -0
  16. package/dist/templates/formats/markdown/index.d.ts.map +1 -0
  17. package/dist/templates/formats/markdown/index.js +211 -0
  18. package/dist/templates/formats/markdown/index.js.map +1 -0
  19. package/dist/templates/formats/output-format-factory.d.ts +125 -0
  20. package/dist/templates/formats/output-format-factory.d.ts.map +1 -0
  21. package/dist/templates/formats/output-format-factory.js +166 -0
  22. package/dist/templates/formats/output-format-factory.js.map +1 -0
  23. package/dist/templates/formats/output-format-registry.d.ts +114 -0
  24. package/dist/templates/formats/output-format-registry.d.ts.map +1 -0
  25. package/dist/templates/formats/output-format-registry.js +147 -0
  26. package/dist/templates/formats/output-format-registry.js.map +1 -0
  27. package/dist/templates/formats/output-format-strategy.d.ts +195 -0
  28. package/dist/templates/formats/output-format-strategy.d.ts.map +1 -0
  29. package/dist/templates/formats/output-format-strategy.js +69 -0
  30. package/dist/templates/formats/output-format-strategy.js.map +1 -0
  31. package/dist/templates/index.d.ts +9 -8
  32. package/dist/templates/index.d.ts.map +1 -1
  33. package/dist/templates/index.js +21 -10
  34. package/dist/templates/index.js.map +1 -1
  35. package/dist/templates/locales/cz/index.d.ts +25 -3
  36. package/dist/templates/locales/cz/index.d.ts.map +1 -1
  37. package/dist/templates/locales/cz/index.js +34 -18
  38. package/dist/templates/locales/cz/index.js.map +1 -1
  39. package/dist/templates/locales/cz/templates-asciidoc.d.ts +22 -0
  40. package/dist/templates/locales/cz/templates-asciidoc.d.ts.map +1 -0
  41. package/dist/templates/locales/cz/templates-asciidoc.js +764 -0
  42. package/dist/templates/locales/cz/templates-asciidoc.js.map +1 -0
  43. package/dist/templates/locales/cz/{templates.d.ts → templates-markdown.d.ts} +1 -1
  44. package/dist/templates/locales/cz/templates-markdown.d.ts.map +1 -0
  45. package/dist/templates/locales/cz/{templates.js → templates-markdown.js} +1 -1
  46. package/dist/templates/locales/cz/templates-markdown.js.map +1 -0
  47. package/dist/templates/locales/de/index.d.ts +14 -4
  48. package/dist/templates/locales/de/index.d.ts.map +1 -1
  49. package/dist/templates/locales/de/index.js +22 -25
  50. package/dist/templates/locales/de/index.js.map +1 -1
  51. package/dist/templates/locales/de/templates-asciidoc.d.ts +22 -0
  52. package/dist/templates/locales/de/templates-asciidoc.d.ts.map +1 -0
  53. package/dist/templates/locales/de/templates-asciidoc.js +814 -0
  54. package/dist/templates/locales/de/templates-asciidoc.js.map +1 -0
  55. package/dist/templates/locales/de/{templates.d.ts → templates-markdown.d.ts} +1 -1
  56. package/dist/templates/locales/de/templates-markdown.d.ts.map +1 -0
  57. package/dist/templates/locales/de/{templates.js → templates-markdown.js} +1 -1
  58. package/dist/templates/locales/de/templates-markdown.js.map +1 -0
  59. package/dist/templates/locales/en/index.d.ts +14 -4
  60. package/dist/templates/locales/en/index.d.ts.map +1 -1
  61. package/dist/templates/locales/en/index.js +22 -25
  62. package/dist/templates/locales/en/index.js.map +1 -1
  63. package/dist/templates/locales/en/templates-asciidoc.d.ts +22 -0
  64. package/dist/templates/locales/en/templates-asciidoc.d.ts.map +1 -0
  65. package/dist/templates/locales/en/templates-asciidoc.js +764 -0
  66. package/dist/templates/locales/en/templates-asciidoc.js.map +1 -0
  67. package/dist/templates/locales/en/{templates.d.ts → templates-markdown.d.ts} +1 -1
  68. package/dist/templates/locales/en/templates-markdown.d.ts.map +1 -0
  69. package/dist/templates/locales/en/{templates.js → templates-markdown.js} +1 -1
  70. package/dist/templates/locales/en/templates-markdown.js.map +1 -0
  71. package/dist/templates/locales/es/index.d.ts +15 -10
  72. package/dist/templates/locales/es/index.d.ts.map +1 -1
  73. package/dist/templates/locales/es/index.js +23 -31
  74. package/dist/templates/locales/es/index.js.map +1 -1
  75. package/dist/templates/locales/es/templates-asciidoc.d.ts +22 -0
  76. package/dist/templates/locales/es/templates-asciidoc.d.ts.map +1 -0
  77. package/dist/templates/locales/es/templates-asciidoc.js +764 -0
  78. package/dist/templates/locales/es/templates-asciidoc.js.map +1 -0
  79. package/dist/templates/locales/es/{templates.d.ts → templates-markdown.d.ts} +1 -1
  80. package/dist/templates/locales/es/templates-markdown.d.ts.map +1 -0
  81. package/dist/templates/locales/es/{templates.js → templates-markdown.js} +1 -1
  82. package/dist/templates/locales/es/templates-markdown.js.map +1 -0
  83. package/dist/templates/locales/fr/index.d.ts +14 -9
  84. package/dist/templates/locales/fr/index.d.ts.map +1 -1
  85. package/dist/templates/locales/fr/index.js +22 -30
  86. package/dist/templates/locales/fr/index.js.map +1 -1
  87. package/dist/templates/locales/fr/templates-asciidoc.d.ts +22 -0
  88. package/dist/templates/locales/fr/templates-asciidoc.d.ts.map +1 -0
  89. package/dist/templates/locales/fr/templates-asciidoc.js +764 -0
  90. package/dist/templates/locales/fr/templates-asciidoc.js.map +1 -0
  91. package/dist/templates/locales/fr/{templates.d.ts → templates-markdown.d.ts} +1 -1
  92. package/dist/templates/locales/fr/templates-markdown.d.ts.map +1 -0
  93. package/dist/templates/locales/fr/{templates.js → templates-markdown.js} +1 -1
  94. package/dist/templates/locales/fr/templates-markdown.js.map +1 -0
  95. package/dist/templates/locales/it/index.d.ts +14 -9
  96. package/dist/templates/locales/it/index.d.ts.map +1 -1
  97. package/dist/templates/locales/it/index.js +22 -30
  98. package/dist/templates/locales/it/index.js.map +1 -1
  99. package/dist/templates/locales/it/templates-asciidoc.d.ts +22 -0
  100. package/dist/templates/locales/it/templates-asciidoc.d.ts.map +1 -0
  101. package/dist/templates/locales/it/templates-asciidoc.js +764 -0
  102. package/dist/templates/locales/it/templates-asciidoc.js.map +1 -0
  103. package/dist/templates/locales/it/{templates.d.ts → templates-markdown.d.ts} +1 -1
  104. package/dist/templates/locales/it/templates-markdown.d.ts.map +1 -0
  105. package/dist/templates/locales/it/{templates.js → templates-markdown.js} +1 -1
  106. package/dist/templates/locales/it/templates-markdown.js.map +1 -0
  107. package/dist/templates/locales/language-strategy-factory.d.ts +120 -0
  108. package/dist/templates/locales/language-strategy-factory.d.ts.map +1 -0
  109. package/dist/templates/locales/language-strategy-factory.js +127 -0
  110. package/dist/templates/locales/language-strategy-factory.js.map +1 -0
  111. package/dist/templates/locales/language-strategy.d.ts +16 -12
  112. package/dist/templates/locales/language-strategy.d.ts.map +1 -1
  113. package/dist/templates/locales/language-strategy.js.map +1 -1
  114. package/dist/templates/locales/nl/index.d.ts +14 -9
  115. package/dist/templates/locales/nl/index.d.ts.map +1 -1
  116. package/dist/templates/locales/nl/index.js +22 -30
  117. package/dist/templates/locales/nl/index.js.map +1 -1
  118. package/dist/templates/locales/nl/templates-asciidoc.d.ts +22 -0
  119. package/dist/templates/locales/nl/templates-asciidoc.d.ts.map +1 -0
  120. package/dist/templates/locales/nl/templates-asciidoc.js +764 -0
  121. package/dist/templates/locales/nl/templates-asciidoc.js.map +1 -0
  122. package/dist/templates/locales/nl/{templates.d.ts → templates-markdown.d.ts} +1 -1
  123. package/dist/templates/locales/nl/templates-markdown.d.ts.map +1 -0
  124. package/dist/templates/locales/nl/{templates.js → templates-markdown.js} +1 -1
  125. package/dist/templates/locales/nl/templates-markdown.js.map +1 -0
  126. package/dist/templates/locales/pt/index.d.ts +14 -9
  127. package/dist/templates/locales/pt/index.d.ts.map +1 -1
  128. package/dist/templates/locales/pt/index.js +22 -30
  129. package/dist/templates/locales/pt/index.js.map +1 -1
  130. package/dist/templates/locales/pt/templates-asciidoc.d.ts +22 -0
  131. package/dist/templates/locales/pt/templates-asciidoc.d.ts.map +1 -0
  132. package/dist/templates/locales/pt/templates-asciidoc.js +764 -0
  133. package/dist/templates/locales/pt/templates-asciidoc.js.map +1 -0
  134. package/dist/templates/locales/pt/{templates.d.ts → templates-markdown.d.ts} +1 -1
  135. package/dist/templates/locales/pt/templates-markdown.d.ts.map +1 -0
  136. package/dist/templates/locales/pt/{templates.js → templates-markdown.js} +1 -1
  137. package/dist/templates/locales/pt/templates-markdown.js.map +1 -0
  138. package/dist/templates/locales/ru/index.d.ts +19 -3
  139. package/dist/templates/locales/ru/index.d.ts.map +1 -1
  140. package/dist/templates/locales/ru/index.js +28 -24
  141. package/dist/templates/locales/ru/index.js.map +1 -1
  142. package/dist/templates/locales/ru/templates-asciidoc.d.ts +22 -0
  143. package/dist/templates/locales/ru/templates-asciidoc.d.ts.map +1 -0
  144. package/dist/templates/locales/ru/templates-asciidoc.js +996 -0
  145. package/dist/templates/locales/ru/templates-asciidoc.js.map +1 -0
  146. package/dist/templates/locales/ru/{templates.d.ts → templates-markdown.d.ts} +1 -1
  147. package/dist/templates/locales/ru/templates-markdown.d.ts.map +1 -0
  148. package/dist/templates/locales/ru/{templates.js → templates-markdown.js} +1 -1
  149. package/dist/templates/locales/ru/templates-markdown.js.map +1 -0
  150. package/dist/templates/locales/template-provider.d.ts +22 -10
  151. package/dist/templates/locales/template-provider.d.ts.map +1 -1
  152. package/dist/templates/locales/template-provider.js +53 -14
  153. package/dist/templates/locales/template-provider.js.map +1 -1
  154. package/dist/templates/locales/ukr/index.d.ts +25 -3
  155. package/dist/templates/locales/ukr/index.d.ts.map +1 -1
  156. package/dist/templates/locales/ukr/index.js +34 -18
  157. package/dist/templates/locales/ukr/index.js.map +1 -1
  158. package/dist/templates/locales/ukr/templates-asciidoc.d.ts +22 -0
  159. package/dist/templates/locales/ukr/templates-asciidoc.d.ts.map +1 -0
  160. package/dist/templates/locales/ukr/templates-asciidoc.js +764 -0
  161. package/dist/templates/locales/ukr/templates-asciidoc.js.map +1 -0
  162. package/dist/templates/locales/ukr/{templates.d.ts → templates-markdown.d.ts} +1 -1
  163. package/dist/templates/locales/ukr/templates-markdown.d.ts.map +1 -0
  164. package/dist/templates/locales/ukr/{templates.js → templates-markdown.js} +1 -1
  165. package/dist/templates/locales/ukr/templates-markdown.js.map +1 -0
  166. package/dist/templates/locales/zh/index.d.ts +25 -3
  167. package/dist/templates/locales/zh/index.d.ts.map +1 -1
  168. package/dist/templates/locales/zh/index.js +34 -18
  169. package/dist/templates/locales/zh/index.js.map +1 -1
  170. package/dist/templates/locales/zh/templates-asciidoc.d.ts +22 -0
  171. package/dist/templates/locales/zh/templates-asciidoc.d.ts.map +1 -0
  172. package/dist/templates/locales/zh/templates-asciidoc.js +764 -0
  173. package/dist/templates/locales/zh/templates-asciidoc.js.map +1 -0
  174. package/dist/templates/locales/zh/{templates.d.ts → templates-markdown.d.ts} +1 -1
  175. package/dist/templates/locales/zh/templates-markdown.d.ts.map +1 -0
  176. package/dist/templates/locales/zh/{templates.js → templates-markdown.js} +1 -1
  177. package/dist/templates/locales/zh/templates-markdown.js.map +1 -0
  178. package/dist/tools/arc42-init.d.ts +2 -1
  179. package/dist/tools/arc42-init.d.ts.map +1 -1
  180. package/dist/tools/arc42-init.js +154 -24
  181. package/dist/tools/arc42-init.js.map +1 -1
  182. package/dist/tools/arc42-status.d.ts.map +1 -1
  183. package/dist/tools/arc42-status.js +66 -10
  184. package/dist/tools/arc42-status.js.map +1 -1
  185. package/dist/tools/arc42-workflow-guide.d.ts +1 -0
  186. package/dist/tools/arc42-workflow-guide.d.ts.map +1 -1
  187. package/dist/tools/arc42-workflow-guide.js +16 -14
  188. package/dist/tools/arc42-workflow-guide.js.map +1 -1
  189. package/dist/tools/generate-template.d.ts +1 -0
  190. package/dist/tools/generate-template.d.ts.map +1 -1
  191. package/dist/tools/generate-template.js +16 -5
  192. package/dist/tools/generate-template.js.map +1 -1
  193. package/dist/tools/get-section.d.ts.map +1 -1
  194. package/dist/tools/get-section.js +28 -7
  195. package/dist/tools/get-section.js.map +1 -1
  196. package/dist/tools/update-section.d.ts +1 -1
  197. package/dist/tools/update-section.d.ts.map +1 -1
  198. package/dist/tools/update-section.js +71 -8
  199. package/dist/tools/update-section.js.map +1 -1
  200. package/dist/types.d.ts +2 -0
  201. package/dist/types.d.ts.map +1 -1
  202. package/dist/types.js +1 -0
  203. package/dist/types.js.map +1 -1
  204. package/package.json +1 -1
  205. package/dist/templates/locales/cz/templates.d.ts.map +0 -1
  206. package/dist/templates/locales/cz/templates.js.map +0 -1
  207. package/dist/templates/locales/de/templates.d.ts.map +0 -1
  208. package/dist/templates/locales/de/templates.js.map +0 -1
  209. package/dist/templates/locales/en/templates.d.ts.map +0 -1
  210. package/dist/templates/locales/en/templates.js.map +0 -1
  211. package/dist/templates/locales/es/templates.d.ts.map +0 -1
  212. package/dist/templates/locales/es/templates.js.map +0 -1
  213. package/dist/templates/locales/fr/templates.d.ts.map +0 -1
  214. package/dist/templates/locales/fr/templates.js.map +0 -1
  215. package/dist/templates/locales/it/templates.d.ts.map +0 -1
  216. package/dist/templates/locales/it/templates.js.map +0 -1
  217. package/dist/templates/locales/nl/templates.d.ts.map +0 -1
  218. package/dist/templates/locales/nl/templates.js.map +0 -1
  219. package/dist/templates/locales/pt/templates.d.ts.map +0 -1
  220. package/dist/templates/locales/pt/templates.js.map +0 -1
  221. package/dist/templates/locales/ru/templates.d.ts.map +0 -1
  222. package/dist/templates/locales/ru/templates.js.map +0 -1
  223. package/dist/templates/locales/ukr/templates.d.ts.map +0 -1
  224. package/dist/templates/locales/ukr/templates.js.map +0 -1
  225. package/dist/templates/locales/zh/templates.d.ts.map +0 -1
  226. package/dist/templates/locales/zh/templates.js.map +0 -1
@@ -0,0 +1,764 @@
1
+ /**
2
+ * Spanish Templates - AsciiDoc Format
3
+ *
4
+ * Contains all arc42 section templates in Spanish using AsciiDoc syntax.
5
+ * Based on the official arc42 templates from vendor/arc42-template.
6
+ *
7
+ * @module templates/locales/es/templates-asciidoc
8
+ */
9
+ /**
10
+ * Get the Spanish AsciiDoc template for a specific section
11
+ */
12
+ export function getTemplate(section) {
13
+ const templates = {
14
+ '01_introduction_and_goals': getIntroductionAndGoalsTemplate,
15
+ '02_architecture_constraints': getArchitectureConstraintsTemplate,
16
+ '03_context_and_scope': getContextAndScopeTemplate,
17
+ '04_solution_strategy': getSolutionStrategyTemplate,
18
+ '05_building_block_view': getBuildingBlockViewTemplate,
19
+ '06_runtime_view': getRuntimeViewTemplate,
20
+ '07_deployment_view': getDeploymentViewTemplate,
21
+ '08_concepts': getConceptsTemplate,
22
+ '09_architecture_decisions': getArchitectureDecisionsTemplate,
23
+ '10_quality_requirements': getQualityRequirementsTemplate,
24
+ '11_technical_risks': getTechnicalRisksTemplate,
25
+ '12_glossary': getGlossaryTemplate
26
+ };
27
+ return templates[section]();
28
+ }
29
+ function getIntroductionAndGoalsTemplate() {
30
+ return `= 1. Introduccion y Metas
31
+
32
+ == Vista de Requerimientos
33
+
34
+ *Proposito*: Descripcion de los requerimientos relevantes y las directrices que los arquitectos de software y el equipo de desarrollo deben considerar.
35
+
36
+ === Requerimientos Clave
37
+
38
+ // Lista de los 3-5 principales requerimientos funcionales
39
+
40
+ [options="header",cols="1,3,1"]
41
+ |===
42
+ |ID |Requerimiento |Prioridad
43
+ |REQ-1 |[Descripcion breve] |Alta
44
+ |REQ-2 |[Descripcion breve] |Media
45
+ |===
46
+
47
+ === Caracteristicas
48
+
49
+ // Caracteristicas esenciales del sistema
50
+
51
+ * Caracteristica 1: [Descripcion]
52
+ * Caracteristica 2: [Descripcion]
53
+
54
+ == Metas de Calidad
55
+
56
+ *Proposito*: Defina las 3-5 principales metas de calidad que son mas importantes para las partes interesadas.
57
+
58
+ // Basado en ISO 25010, priorice cualidades como:
59
+ // Rendimiento, Seguridad, Fiabilidad, Mantenibilidad, Usabilidad, etc.
60
+
61
+ [options="header",cols="1,2,3"]
62
+ |===
63
+ |Prioridad |Meta de Calidad |Motivacion
64
+ |1 |[ej., Rendimiento] |[Por que es critico]
65
+ |2 |[ej., Seguridad] |[Por que es critico]
66
+ |3 |[ej., Mantenibilidad] |[Por que es critico]
67
+ |===
68
+
69
+ == Partes Interesadas (Stakeholders)
70
+
71
+ *Proposito*: Identifique a todas las personas que deben conocer la arquitectura.
72
+
73
+ [options="header",cols="2,2,3"]
74
+ |===
75
+ |Rol/Nombre |Contacto |Expectativas
76
+ |Propietario del Producto |[Nombre/Email] |[Lo que esperan de la arquitectura]
77
+ |Equipo de Desarrollo |[Nombre del equipo] |[Lo que necesitan saber]
78
+ |Operaciones |[Equipo/Persona] |[Preocupaciones de despliegue y operaciones]
79
+ |Usuarios Finales |[Tipo] |[Expectativas de experiencia de usuario]
80
+ |===
81
+
82
+ .Informacion Adicional
83
+ Vea link:https://docs.arc42.org/section-1/[Introduccion y Metas] en la documentacion de arc42.
84
+ `;
85
+ }
86
+ function getArchitectureConstraintsTemplate() {
87
+ return `= 2. Restricciones de la Arquitectura
88
+
89
+ *Proposito*: Documente cualquier requerimiento que restrinja a los arquitectos en la libertad de diseno y decisiones de implementacion.
90
+
91
+ == Restricciones Tecnicas
92
+
93
+ [options="header",cols="1,3"]
94
+ |===
95
+ |Restriccion |Explicacion
96
+ |[ej., Debe ejecutarse en Linux] |[Por que existe esta restriccion]
97
+ |[ej., Java 17 minimo] |[Requerimiento organizacional]
98
+ |===
99
+
100
+ == Restricciones Organizacionales
101
+
102
+ [options="header",cols="1,3"]
103
+ |===
104
+ |Restriccion |Explicacion
105
+ |[ej., Tamano del equipo: 5 desarrolladores] |[Impacto en la arquitectura]
106
+ |[ej., Plazo: 6 meses] |[Restricciones de entrega]
107
+ |===
108
+
109
+ == Convenciones
110
+
111
+ [options="header",cols="1,3"]
112
+ |===
113
+ |Convencion |Explicacion
114
+ |[ej., Estilo de codigo: Google Java Style] |[Enlace a guia de estilo]
115
+ |[ej., Documentacion: arc42] |[Requerimientos de documentacion]
116
+ |===
117
+
118
+ .Informacion Adicional
119
+ Vea link:https://docs.arc42.org/section-2/[Restricciones de Arquitectura] en la documentacion de arc42.
120
+ `;
121
+ }
122
+ function getContextAndScopeTemplate() {
123
+ return `= 3. Alcance y Contexto del Sistema
124
+
125
+ *Proposito*: Delimita el sistema de sus socios de comunicacion (sistemas vecinos y usuarios).
126
+
127
+ == Contexto de Negocio
128
+
129
+ *Proposito*: Especifique todos los socios de comunicacion (usuarios, sistemas IT, ...) con explicaciones de entradas y salidas especificas del dominio.
130
+
131
+ // Agregue un diagrama de contexto aqui (PlantUML, Mermaid, o imagen)
132
+
133
+ [plantuml, contexto-negocio, svg]
134
+ ----
135
+ @startuml
136
+ !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
137
+
138
+ Person(usuario, "Usuario", "Usuario del sistema")
139
+ System(sistema, "Su Sistema", "Descripcion")
140
+ System_Ext(externo, "Sistema Externo", "Descripcion")
141
+
142
+ Rel(usuario, sistema, "Usa")
143
+ Rel(sistema, externo, "Llama")
144
+ @enduml
145
+ ----
146
+
147
+ [options="header",cols="1,2,2"]
148
+ |===
149
+ |Socio |Entrada |Salida
150
+ |[Nombre de Usuario/Sistema] |[Lo que envian] |[Lo que reciben]
151
+ |===
152
+
153
+ == Contexto Tecnico
154
+
155
+ *Proposito*: Especifique los canales tecnicos y protocolos entre el sistema y su contexto.
156
+
157
+ // Infraestructura tecnica con protocolos
158
+
159
+ [options="header",cols="1,1,2"]
160
+ |===
161
+ |Socio |Canal |Protocolo
162
+ |[Nombre del sistema] |[ej., API REST] |[ej., HTTPS, JSON]
163
+ |[Nombre del sistema] |[ej., Cola de Mensajes] |[ej., AMQP]
164
+ |===
165
+
166
+ .Informacion Adicional
167
+ Vea link:https://docs.arc42.org/section-3/[Alcance y Contexto] en la documentacion de arc42.
168
+ `;
169
+ }
170
+ function getSolutionStrategyTemplate() {
171
+ return `= 4. Estrategia de Solucion
172
+
173
+ *Proposito*: Resumen de las decisiones fundamentales y estrategias de solucion que dan forma a la arquitectura del sistema.
174
+
175
+ == Decisiones Tecnologicas
176
+
177
+ [options="header",cols="1,2,2"]
178
+ |===
179
+ |Decision |Eleccion |Justificacion
180
+ |Lenguaje de Programacion |[ej., TypeScript] |[Por que esta eleccion]
181
+ |Framework |[ej., NestJS] |[Por que esta eleccion]
182
+ |Base de Datos |[ej., PostgreSQL] |[Por que esta eleccion]
183
+ |===
184
+
185
+ == Descomposicion de Alto Nivel
186
+
187
+ Describa la estructura de alto nivel:
188
+
189
+ * [ej., Arquitectura en capas]
190
+ * [ej., Microservicios]
191
+ * [ej., Orientada a eventos]
192
+
193
+ == Estrategias para Alcanzar Metas de Calidad
194
+
195
+ [options="header",cols="1,2"]
196
+ |===
197
+ |Meta de Calidad |Estrategia de Logro
198
+ |[Rendimiento] |[ej., Cache, procesamiento asincrono]
199
+ |[Seguridad] |[ej., OAuth2, cifrado en reposo]
200
+ |[Mantenibilidad] |[ej., Arquitectura limpia, pruebas exhaustivas]
201
+ |===
202
+
203
+ .Informacion Adicional
204
+ Vea link:https://docs.arc42.org/section-4/[Estrategia de Solucion] en la documentacion de arc42.
205
+ `;
206
+ }
207
+ function getBuildingBlockViewTemplate() {
208
+ return `= 5. Vista de Bloques
209
+
210
+ *Proposito*: Descomposicion estatica del sistema en bloques de construccion con sus dependencias.
211
+
212
+ == Nivel 1: Sistema General
213
+
214
+ *Proposito*: La descripcion de caja blanca muestra la estructura interna del sistema general.
215
+
216
+ === Descripcion de Caja Blanca
217
+
218
+ // Agregue un diagrama de componentes aqui
219
+
220
+ [plantuml, bloques-n1, svg]
221
+ ----
222
+ @startuml
223
+ !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
224
+
225
+ Container(web, "Aplicacion Web", "React", "Interfaz de usuario")
226
+ Container(api, "Servidor API", "Node.js", "Logica de negocio")
227
+ ContainerDb(db, "Base de Datos", "PostgreSQL", "Almacenamiento de datos")
228
+
229
+ Rel(web, api, "Llama", "REST/JSON")
230
+ Rel(api, db, "Lee/Escribe", "SQL")
231
+ @enduml
232
+ ----
233
+
234
+ === Bloques de Construccion Contenidos
235
+
236
+ [options="header",cols="1,3"]
237
+ |===
238
+ |Bloque de Construccion |Descripcion
239
+ |[Componente A] |[Responsabilidad y proposito]
240
+ |[Componente B] |[Responsabilidad y proposito]
241
+ |===
242
+
243
+ == Nivel 2: [Nombre del Subsistema]
244
+
245
+ *Proposito*: Descomponga los componentes principales en bloques de construccion mas pequenos.
246
+
247
+ === Caja Blanca [Componente A]
248
+
249
+ // Describa la estructura interna del Componente A
250
+
251
+ [options="header",cols="1,3"]
252
+ |===
253
+ |Bloque de Construccion |Descripcion
254
+ |[Sub-componente A.1] |[Responsabilidad]
255
+ |[Sub-componente A.2] |[Responsabilidad]
256
+ |===
257
+
258
+ .Informacion Adicional
259
+ Vea link:https://docs.arc42.org/section-5/[Vista de Bloques] en la documentacion de arc42.
260
+ `;
261
+ }
262
+ function getRuntimeViewTemplate() {
263
+ return `= 6. Vista de Ejecucion
264
+
265
+ *Proposito*: Documente el comportamiento y la interaccion de los bloques de construccion durante la ejecucion.
266
+
267
+ == Escenario 1: [ej., Inicio de Sesion de Usuario]
268
+
269
+ // Describa el comportamiento en tiempo de ejecucion para un escenario clave
270
+
271
+ [plantuml, ejecucion-login, svg]
272
+ ----
273
+ @startuml
274
+ actor Usuario
275
+ participant "App Web" as Web
276
+ participant "Servidor API" as API
277
+ participant "Servicio Auth" as Auth
278
+ database "BD Usuario" as DB
279
+
280
+ Usuario -> Web: Ingresa credenciales
281
+ Web -> API: POST /auth/login
282
+ API -> Auth: Validar credenciales
283
+ Auth -> DB: Consultar usuario
284
+ DB --> Auth: Datos del usuario
285
+ Auth --> API: Token JWT
286
+ API --> Web: Exito + token
287
+ Web --> Usuario: Panel de control
288
+ @enduml
289
+ ----
290
+
291
+ === Descripcion
292
+
293
+ . El usuario ingresa las credenciales en la aplicacion web
294
+ . La app web envia la solicitud de inicio de sesion al servidor API
295
+ . La API valida las credenciales contra el servicio de autenticacion
296
+ . En caso de exito, se devuelve el token JWT
297
+
298
+ == Escenario 2: [ej., Procesamiento de Datos]
299
+
300
+ // Documente otro escenario de ejecucion importante
301
+
302
+ === Descripcion
303
+
304
+ [Describa los pasos e interacciones]
305
+
306
+ .Informacion Adicional
307
+ Vea link:https://docs.arc42.org/section-6/[Vista de Ejecucion] en la documentacion de arc42.
308
+ `;
309
+ }
310
+ function getDeploymentViewTemplate() {
311
+ return `= 7. Vista de Despliegue
312
+
313
+ *Proposito*: Infraestructura tecnica con ambientes, computadoras, procesadores, topologias.
314
+
315
+ == Nivel de Infraestructura 1
316
+
317
+ *Proposito*: Vision general de la infraestructura de despliegue.
318
+
319
+ [plantuml, despliegue-n1, svg]
320
+ ----
321
+ @startuml
322
+ !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Deployment.puml
323
+
324
+ Deployment_Node(nube, "Proveedor Cloud", "AWS/Azure/GCP") {
325
+ Deployment_Node(capa_web, "Capa Web") {
326
+ Container(web, "Servidor Web", "nginx", "Archivos estaticos + proxy inverso")
327
+ }
328
+ Deployment_Node(capa_app, "Capa de Aplicacion") {
329
+ Container(api, "Servidor API", "Node.js", "Logica de negocio")
330
+ }
331
+ Deployment_Node(capa_datos, "Capa de Datos") {
332
+ ContainerDb(db, "Base de Datos", "PostgreSQL", "Almacenamiento principal")
333
+ }
334
+ }
335
+ @enduml
336
+ ----
337
+
338
+ === Motivacion
339
+
340
+ [Por que se eligio esta arquitectura de despliegue]
341
+
342
+ === Caracteristicas de Calidad y Rendimiento
343
+
344
+ [Como este despliegue soporta las metas de calidad]
345
+
346
+ == Nivel de Infraestructura 2
347
+
348
+ *Proposito*: Vista detallada de nodos de despliegue especificos.
349
+
350
+ === [Nombre del Nodo]
351
+
352
+ [options="header",cols="1,3"]
353
+ |===
354
+ |Aspecto |Descripcion
355
+ |Hardware |[ej., 4 vCPU, 16GB RAM]
356
+ |Software |[ej., Ubuntu 22.04, Docker 24.x]
357
+ |Red |[ej., VPC, grupos de seguridad]
358
+ |===
359
+
360
+ .Informacion Adicional
361
+ Vea link:https://docs.arc42.org/section-7/[Vista de Despliegue] en la documentacion de arc42.
362
+ `;
363
+ }
364
+ function getConceptsTemplate() {
365
+ return `= 8. Conceptos Transversales
366
+
367
+ *Proposito*: Regulaciones generales e ideas de solucion relevantes en multiples bloques de construccion.
368
+
369
+ == Modelo de Dominio
370
+
371
+ // Conceptos principales del dominio y sus relaciones
372
+
373
+ [plantuml, modelo-dominio, svg]
374
+ ----
375
+ @startuml
376
+ class Usuario {
377
+ +id: UUID
378
+ +email: String
379
+ +nombre: String
380
+ }
381
+ class Pedido {
382
+ +id: UUID
383
+ +estado: EstadoPedido
384
+ +creadoEn: DateTime
385
+ }
386
+ Usuario "1" -- "*" Pedido : realiza
387
+ @enduml
388
+ ----
389
+
390
+ == Concepto de Seguridad
391
+
392
+ === Autenticacion
393
+
394
+ [Describa el enfoque de autenticacion: JWT, OAuth2, etc.]
395
+
396
+ === Autorizacion
397
+
398
+ [Describa el enfoque de autorizacion: RBAC, ABAC, etc.]
399
+
400
+ == Manejo de Errores
401
+
402
+ [Describa como se manejan los errores en el sistema]
403
+
404
+ * [ej., Manejador de errores global]
405
+ * [ej., Respuestas de error estructuradas]
406
+ * [ej., Estrategia de registro de errores]
407
+
408
+ == Registro y Monitoreo
409
+
410
+ [options="header",cols="1,2"]
411
+ |===
412
+ |Aspecto |Enfoque
413
+ |Registro |[ej., Logs JSON estructurados, stack ELK]
414
+ |Metricas |[ej., Prometheus, Grafana]
415
+ |Trazabilidad |[ej., OpenTelemetry, Jaeger]
416
+ |===
417
+
418
+ == Estrategia de Pruebas
419
+
420
+ [options="header",cols="1,2,1"]
421
+ |===
422
+ |Tipo |Alcance |Cobertura Objetivo
423
+ |Pruebas Unitarias |Funciones/clases individuales |80%
424
+ |Pruebas de Integracion |Interacciones de componentes |Rutas clave
425
+ |Pruebas E2E |Flujos completos de usuario |Flujos criticos
426
+ |===
427
+
428
+ .Informacion Adicional
429
+ Vea link:https://docs.arc42.org/section-8/[Conceptos Transversales] en la documentacion de arc42.
430
+ `;
431
+ }
432
+ function getArchitectureDecisionsTemplate() {
433
+ return `= 9. Decisiones de Arquitectura
434
+
435
+ *Proposito*: Documente las decisiones arquitectonicas importantes, costosas, a gran escala o riesgosas.
436
+
437
+ == ADR-001: [Titulo de la Decision]
438
+
439
+ === Estado
440
+
441
+ [Propuesta | Aceptada | Obsoleta | Reemplazada]
442
+
443
+ === Contexto
444
+
445
+ [Describa el problema que motiva esta decision]
446
+
447
+ === Decision
448
+
449
+ [Describa la decision que se tomo]
450
+
451
+ === Consecuencias
452
+
453
+ *Positivas:*
454
+
455
+ * [Beneficio 1]
456
+ * [Beneficio 2]
457
+
458
+ *Negativas:*
459
+
460
+ * [Desventaja 1]
461
+ * [Desventaja 2]
462
+
463
+ === Alternativas Consideradas
464
+
465
+ [options="header",cols="1,2,2"]
466
+ |===
467
+ |Alternativa |Pros |Contras
468
+ |[Opcion A] |[Beneficios] |[Desventajas]
469
+ |[Opcion B] |[Beneficios] |[Desventajas]
470
+ |===
471
+
472
+ '''
473
+
474
+ == ADR-002: [Titulo de la Decision]
475
+
476
+ // Use la misma plantilla para decisiones adicionales
477
+
478
+ .Informacion Adicional
479
+ Vea link:https://docs.arc42.org/section-9/[Decisiones de Arquitectura] en la documentacion de arc42.
480
+ `;
481
+ }
482
+ function getQualityRequirementsTemplate() {
483
+ return `= 10. Requerimientos de Calidad
484
+
485
+ *Proposito*: Requerimientos de calidad concretos con escenarios para evaluacion.
486
+
487
+ == Arbol de Calidad
488
+
489
+ // Representacion visual de las metas de calidad y sus refinamientos
490
+
491
+ [plantuml, arbol-calidad, svg]
492
+ ----
493
+ @startmindmap
494
+ * Calidad
495
+ ** Rendimiento
496
+ *** Tiempo de Respuesta
497
+ *** Capacidad
498
+ ** Seguridad
499
+ *** Autenticacion
500
+ *** Autorizacion
501
+ ** Mantenibilidad
502
+ *** Modularidad
503
+ *** Testeabilidad
504
+ @endmindmap
505
+ ----
506
+
507
+ == Escenarios de Calidad
508
+
509
+ === Escenarios de Rendimiento
510
+
511
+ [options="header",cols="1,2,1,1"]
512
+ |===
513
+ |ID |Escenario |Respuesta Esperada |Prioridad
514
+ |REND-1 |Usuario solicita panel bajo carga normal |< 200ms |Alta
515
+ |REND-2 |Sistema maneja 1000 usuarios concurrentes |Sin degradacion |Media
516
+ |===
517
+
518
+ === Escenarios de Seguridad
519
+
520
+ [options="header",cols="1,2,1,1"]
521
+ |===
522
+ |ID |Escenario |Comportamiento Esperado |Prioridad
523
+ |SEG-1 |Intento de inicio de sesion invalido |Bloqueo de cuenta despues de 5 intentos |Alta
524
+ |SEG-2 |Acceso no autorizado a API |Respuesta 401, registrado en auditoria |Alta
525
+ |===
526
+
527
+ === Escenarios de Mantenibilidad
528
+
529
+ [options="header",cols="1,2,1,1"]
530
+ |===
531
+ |ID |Escenario |Esfuerzo Esperado |Prioridad
532
+ |MANT-1 |Agregar nuevo tipo de entidad |< 2 dias de desarrollo |Media
533
+ |MANT-2 |Actualizar version de dependencia |< 4 horas incluyendo pruebas |Media
534
+ |===
535
+
536
+ .Informacion Adicional
537
+ Vea link:https://docs.arc42.org/section-10/[Requerimientos de Calidad] en la documentacion de arc42.
538
+ `;
539
+ }
540
+ function getTechnicalRisksTemplate() {
541
+ return `= 11. Riesgos Tecnicos y Deuda Tecnica
542
+
543
+ *Proposito*: Identifique y rastree los riesgos tecnicos conocidos y la deuda tecnica acumulada.
544
+
545
+ == Riesgos Tecnicos
546
+
547
+ [options="header",cols="1,2,1,2"]
548
+ |===
549
+ |Riesgo |Descripcion |Probabilidad |Mitigacion
550
+ |[ej., Falla de API de terceros] |[Servicio externo del que dependemos] |Media |[Circuit breaker, fallback]
551
+ |[ej., Perdida de datos] |[Corrupcion de base de datos] |Baja |[Respaldos, replicacion]
552
+ |===
553
+
554
+ == Deuda Tecnica
555
+
556
+ [options="header",cols="1,2,1,1"]
557
+ |===
558
+ |Elemento |Descripcion |Impacto |Prioridad
559
+ |[ej., Autenticacion heredada] |[Sistema de auth antiguo necesita reemplazo] |Alto |Media
560
+ |[ej., Pruebas faltantes] |[Cobertura por debajo del objetivo en modulo X] |Medio |Baja
561
+ |===
562
+
563
+ == Monitoreo de Riesgos
564
+
565
+ [Describa como se monitorean y revisan los riesgos]
566
+
567
+ * [ej., Reuniones semanales de revision de riesgos]
568
+ * [ej., Alertas de monitoreo automatizado]
569
+
570
+ .Informacion Adicional
571
+ Vea link:https://docs.arc42.org/section-11/[Riesgos y Deuda Tecnica] en la documentacion de arc42.
572
+ `;
573
+ }
574
+ function getGlossaryTemplate() {
575
+ return `= 12. Glosario
576
+
577
+ *Proposito*: Defina los terminos importantes del dominio y tecnicos utilizados en la documentacion de arquitectura.
578
+
579
+ == Terminos de Dominio
580
+
581
+ [options="header",cols="1,3"]
582
+ |===
583
+ |Termino |Definicion
584
+ |[Termino de Dominio 1] |[Definicion clara y concisa]
585
+ |[Termino de Dominio 2] |[Definicion clara y concisa]
586
+ |===
587
+
588
+ == Terminos Tecnicos
589
+
590
+ [options="header",cols="1,3"]
591
+ |===
592
+ |Termino |Definicion
593
+ |[Termino Tecnico 1] |[Definicion clara y concisa]
594
+ |[Termino Tecnico 2] |[Definicion clara y concisa]
595
+ |===
596
+
597
+ == Abreviaturas
598
+
599
+ [options="header",cols="1,3"]
600
+ |===
601
+ |Abreviatura |Significado
602
+ |API |Interfaz de Programacion de Aplicaciones
603
+ |JWT |JSON Web Token
604
+ |REST |Transferencia de Estado Representacional
605
+ |===
606
+
607
+ .Informacion Adicional
608
+ Vea link:https://docs.arc42.org/section-12/[Glosario] en la documentacion de arc42.
609
+ `;
610
+ }
611
+ /**
612
+ * Get the Spanish workflow guide in AsciiDoc format
613
+ */
614
+ export function getWorkflowGuide() {
615
+ return `= Guia de Flujo de Trabajo para Documentacion de Arquitectura arc42
616
+
617
+ == Vision General
618
+
619
+ Esta guia le ayuda a documentar su arquitectura de software utilizando la plantilla arc42. La plantilla arc42 es una plantilla practica y probada para la documentacion de arquitecturas de software y sistemas.
620
+
621
+ == Idiomas Disponibles
622
+
623
+ Este servidor MCP de arc42 soporta multiples idiomas para la documentacion:
624
+
625
+ [options="header",cols="1,2,2"]
626
+ |===
627
+ |Codigo |Idioma |Nombre Nativo
628
+ |EN |Ingles |English
629
+ |DE |Aleman |Deutsch
630
+ |CZ |Checo |Cestina
631
+ |ES |Espanol |Espanol
632
+ |FR |Frances |Francais
633
+ |IT |Italiano |Italiano
634
+ |NL |Holandes |Nederlands
635
+ |PT |Portugues |Portugues
636
+ |RU |Ruso |Russkij
637
+ |UKR |Ucraniano |Ukrainska
638
+ |ZH |Chino |Zhongwen
639
+ |===
640
+
641
+ == Comenzando
642
+
643
+ === Paso 1: Inicializar su Espacio de Trabajo
644
+
645
+ Use la herramienta \`arc42-init\` para crear su espacio de trabajo de documentacion:
646
+
647
+ [source]
648
+ ----
649
+ arc42-init(projectName: "Mi Proyecto", language: "ES")
650
+ ----
651
+
652
+ Puede especificar un idioma diferente usando el codigo de idioma ISO.
653
+
654
+ === Paso 2: Verificar Estado
655
+
656
+ Use \`arc42-status\` para ver el estado actual de su documentacion:
657
+
658
+ [source]
659
+ ----
660
+ arc42-status()
661
+ ----
662
+
663
+ === Paso 3: Generar Plantillas de Secciones
664
+
665
+ Use \`generate-template\` para obtener plantillas detalladas para cada seccion:
666
+
667
+ [source]
668
+ ----
669
+ generate-template(section: "01_introduction_and_goals", language: "ES")
670
+ ----
671
+
672
+ == Las 12 Secciones de arc42
673
+
674
+ . *Introduccion y Metas* - Comience aqui! Defina que esta construyendo y por que.
675
+ . *Restricciones de Arquitectura* - Que NO tiene permitido hacer?
676
+ . *Alcance y Contexto* - Que esta dentro y que esta fuera?
677
+ . *Estrategia de Solucion* - Enfoque de alto nivel para resolver el problema.
678
+ . *Vista de Bloques* - Estructura estatica de su sistema.
679
+ . *Vista de Ejecucion* - Comportamiento dinamico y escenarios.
680
+ . *Vista de Despliegue* - Como se despliega y opera?
681
+ . *Conceptos Transversales* - Patrones usados en todo el sistema.
682
+ . *Decisiones de Arquitectura* - Decisiones importantes y su justificacion.
683
+ . *Requerimientos de Calidad* - Escenarios de calidad concretos.
684
+ . *Riesgos y Deuda Tecnica* - Que podria salir mal?
685
+ . *Glosario* - Defina sus terminos.
686
+
687
+ == Mejores Practicas
688
+
689
+ . *Comience con la Seccion 1* - Entender las metas es fundamental
690
+ . *Mantengalo conciso* - arc42 es pragmatico, no burocratico
691
+ . *Use diagramas* - Una imagen vale mas que mil palabras
692
+ . *Documente las decisiones* - Su yo futuro le agradecera a su yo presente
693
+ . *Itere* - La documentacion de arquitectura nunca esta "terminada"
694
+
695
+ == Herramientas Disponibles
696
+
697
+ * \`arc42-init\` - Inicializar espacio de trabajo de documentacion
698
+ * \`arc42-status\` - Verificar estado de la documentacion
699
+ * \`generate-template\` - Generar plantillas de secciones
700
+ * \`update-section\` - Actualizar contenido de secciones
701
+ * \`get-section\` - Leer contenido de secciones
702
+ * \`arc42-workflow-guide\` - Mostrar esta guia
703
+
704
+ == Recursos
705
+
706
+ * link:https://arc42.org/[Sitio Web de arc42]
707
+ * link:https://docs.arc42.org/[Documentacion de arc42]
708
+ * link:https://arc42.org/examples[Ejemplos de arc42]
709
+ `;
710
+ }
711
+ /**
712
+ * Get the Spanish README content in AsciiDoc format
713
+ */
714
+ export function getReadmeContent(projectName) {
715
+ const name = projectName || 'Proyecto';
716
+ return `= ${name} - Documentacion de Arquitectura
717
+
718
+ Este directorio contiene la documentacion de arquitectura para ${name}, siguiendo la plantilla arc42.
719
+
720
+ == Estructura
721
+
722
+ * \`sections/\` - Archivos AsciiDoc de secciones individuales (12 secciones)
723
+ * \`images/\` - Diagramas e imagenes
724
+ * \`arc42-documentation.adoc\` - Documentacion principal combinada
725
+ * \`config.yaml\` - Configuracion
726
+
727
+ == Las 12 Secciones de arc42
728
+
729
+ . *Introduccion y Metas* - Requerimientos, metas de calidad, partes interesadas
730
+ . *Restricciones de Arquitectura* - Restricciones tecnicas y organizacionales
731
+ . *Alcance y Contexto* - Contexto de negocio y tecnico
732
+ . *Estrategia de Solucion* - Decisiones y estrategias fundamentales
733
+ . *Vista de Bloques* - Descomposicion estatica
734
+ . *Vista de Ejecucion* - Comportamiento dinamico
735
+ . *Vista de Despliegue* - Infraestructura y despliegue
736
+ . *Conceptos Transversales* - Regulaciones y enfoques generales
737
+ . *Decisiones de Arquitectura* - Decisiones importantes (ADRs)
738
+ . *Requerimientos de Calidad* - Arbol de calidad y escenarios
739
+ . *Riesgos y Deuda Tecnica* - Problemas y riesgos conocidos
740
+ . *Glosario* - Terminos importantes
741
+
742
+ == Comenzando
743
+
744
+ . Comience con la Seccion 1: Introduccion y Metas
745
+ . Trabaje las secciones de forma iterativa
746
+ . Use diagramas para ilustrar conceptos
747
+ . Mantengase enfocado en las decisiones, no en detalles de implementacion
748
+
749
+ == Generando Documentacion
750
+
751
+ Use las herramientas MCP para:
752
+
753
+ * Verificar estado: \`arc42-status\`
754
+ * Generar plantillas: \`generate-template\`
755
+ * Actualizar secciones: \`update-section\`
756
+
757
+ == Recursos
758
+
759
+ * link:https://arc42.org/[Sitio Web de arc42]
760
+ * link:https://docs.arc42.org/[Documentacion de arc42]
761
+ * link:https://arc42.org/examples[Ejemplos de arc42]
762
+ `;
763
+ }
764
+ //# sourceMappingURL=templates-asciidoc.js.map