@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.
- package/CHANGELOG.md +72 -0
- package/README.md +83 -6
- package/dist/templates/arc42-reference.d.ts +25 -7
- package/dist/templates/arc42-reference.d.ts.map +1 -1
- package/dist/templates/arc42-reference.js +96 -47
- package/dist/templates/arc42-reference.js.map +1 -1
- package/dist/templates/formats/asciidoc/index.d.ts +178 -0
- package/dist/templates/formats/asciidoc/index.d.ts.map +1 -0
- package/dist/templates/formats/asciidoc/index.js +225 -0
- package/dist/templates/formats/asciidoc/index.js.map +1 -0
- package/dist/templates/formats/index.d.ts +108 -0
- package/dist/templates/formats/index.d.ts.map +1 -0
- package/dist/templates/formats/index.js +149 -0
- package/dist/templates/formats/index.js.map +1 -0
- package/dist/templates/formats/markdown/index.d.ts +172 -0
- package/dist/templates/formats/markdown/index.d.ts.map +1 -0
- package/dist/templates/formats/markdown/index.js +211 -0
- package/dist/templates/formats/markdown/index.js.map +1 -0
- package/dist/templates/formats/output-format-factory.d.ts +125 -0
- package/dist/templates/formats/output-format-factory.d.ts.map +1 -0
- package/dist/templates/formats/output-format-factory.js +166 -0
- package/dist/templates/formats/output-format-factory.js.map +1 -0
- package/dist/templates/formats/output-format-registry.d.ts +114 -0
- package/dist/templates/formats/output-format-registry.d.ts.map +1 -0
- package/dist/templates/formats/output-format-registry.js +147 -0
- package/dist/templates/formats/output-format-registry.js.map +1 -0
- package/dist/templates/formats/output-format-strategy.d.ts +195 -0
- package/dist/templates/formats/output-format-strategy.d.ts.map +1 -0
- package/dist/templates/formats/output-format-strategy.js +69 -0
- package/dist/templates/formats/output-format-strategy.js.map +1 -0
- package/dist/templates/index.d.ts +9 -8
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +21 -10
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/locales/cz/index.d.ts +25 -3
- package/dist/templates/locales/cz/index.d.ts.map +1 -1
- package/dist/templates/locales/cz/index.js +34 -18
- package/dist/templates/locales/cz/index.js.map +1 -1
- package/dist/templates/locales/cz/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/cz/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/cz/templates-asciidoc.js +764 -0
- package/dist/templates/locales/cz/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/cz/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/cz/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/cz/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/cz/templates-markdown.js.map +1 -0
- package/dist/templates/locales/de/index.d.ts +14 -4
- package/dist/templates/locales/de/index.d.ts.map +1 -1
- package/dist/templates/locales/de/index.js +22 -25
- package/dist/templates/locales/de/index.js.map +1 -1
- package/dist/templates/locales/de/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/de/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/de/templates-asciidoc.js +814 -0
- package/dist/templates/locales/de/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/de/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/de/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/de/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/de/templates-markdown.js.map +1 -0
- package/dist/templates/locales/en/index.d.ts +14 -4
- package/dist/templates/locales/en/index.d.ts.map +1 -1
- package/dist/templates/locales/en/index.js +22 -25
- package/dist/templates/locales/en/index.js.map +1 -1
- package/dist/templates/locales/en/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/en/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/en/templates-asciidoc.js +764 -0
- package/dist/templates/locales/en/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/en/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/en/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/en/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/en/templates-markdown.js.map +1 -0
- package/dist/templates/locales/es/index.d.ts +15 -10
- package/dist/templates/locales/es/index.d.ts.map +1 -1
- package/dist/templates/locales/es/index.js +23 -31
- package/dist/templates/locales/es/index.js.map +1 -1
- package/dist/templates/locales/es/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/es/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/es/templates-asciidoc.js +764 -0
- package/dist/templates/locales/es/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/es/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/es/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/es/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/es/templates-markdown.js.map +1 -0
- package/dist/templates/locales/fr/index.d.ts +14 -9
- package/dist/templates/locales/fr/index.d.ts.map +1 -1
- package/dist/templates/locales/fr/index.js +22 -30
- package/dist/templates/locales/fr/index.js.map +1 -1
- package/dist/templates/locales/fr/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/fr/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/fr/templates-asciidoc.js +764 -0
- package/dist/templates/locales/fr/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/fr/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/fr/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/fr/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/fr/templates-markdown.js.map +1 -0
- package/dist/templates/locales/it/index.d.ts +14 -9
- package/dist/templates/locales/it/index.d.ts.map +1 -1
- package/dist/templates/locales/it/index.js +22 -30
- package/dist/templates/locales/it/index.js.map +1 -1
- package/dist/templates/locales/it/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/it/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/it/templates-asciidoc.js +764 -0
- package/dist/templates/locales/it/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/it/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/it/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/it/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/it/templates-markdown.js.map +1 -0
- package/dist/templates/locales/language-strategy-factory.d.ts +120 -0
- package/dist/templates/locales/language-strategy-factory.d.ts.map +1 -0
- package/dist/templates/locales/language-strategy-factory.js +127 -0
- package/dist/templates/locales/language-strategy-factory.js.map +1 -0
- package/dist/templates/locales/language-strategy.d.ts +16 -12
- package/dist/templates/locales/language-strategy.d.ts.map +1 -1
- package/dist/templates/locales/language-strategy.js.map +1 -1
- package/dist/templates/locales/nl/index.d.ts +14 -9
- package/dist/templates/locales/nl/index.d.ts.map +1 -1
- package/dist/templates/locales/nl/index.js +22 -30
- package/dist/templates/locales/nl/index.js.map +1 -1
- package/dist/templates/locales/nl/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/nl/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/nl/templates-asciidoc.js +764 -0
- package/dist/templates/locales/nl/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/nl/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/nl/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/nl/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/nl/templates-markdown.js.map +1 -0
- package/dist/templates/locales/pt/index.d.ts +14 -9
- package/dist/templates/locales/pt/index.d.ts.map +1 -1
- package/dist/templates/locales/pt/index.js +22 -30
- package/dist/templates/locales/pt/index.js.map +1 -1
- package/dist/templates/locales/pt/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/pt/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/pt/templates-asciidoc.js +764 -0
- package/dist/templates/locales/pt/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/pt/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/pt/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/pt/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/pt/templates-markdown.js.map +1 -0
- package/dist/templates/locales/ru/index.d.ts +19 -3
- package/dist/templates/locales/ru/index.d.ts.map +1 -1
- package/dist/templates/locales/ru/index.js +28 -24
- package/dist/templates/locales/ru/index.js.map +1 -1
- package/dist/templates/locales/ru/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/ru/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/ru/templates-asciidoc.js +996 -0
- package/dist/templates/locales/ru/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/ru/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/ru/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/ru/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/ru/templates-markdown.js.map +1 -0
- package/dist/templates/locales/template-provider.d.ts +22 -10
- package/dist/templates/locales/template-provider.d.ts.map +1 -1
- package/dist/templates/locales/template-provider.js +53 -14
- package/dist/templates/locales/template-provider.js.map +1 -1
- package/dist/templates/locales/ukr/index.d.ts +25 -3
- package/dist/templates/locales/ukr/index.d.ts.map +1 -1
- package/dist/templates/locales/ukr/index.js +34 -18
- package/dist/templates/locales/ukr/index.js.map +1 -1
- package/dist/templates/locales/ukr/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/ukr/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/ukr/templates-asciidoc.js +764 -0
- package/dist/templates/locales/ukr/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/ukr/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/ukr/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/ukr/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/ukr/templates-markdown.js.map +1 -0
- package/dist/templates/locales/zh/index.d.ts +25 -3
- package/dist/templates/locales/zh/index.d.ts.map +1 -1
- package/dist/templates/locales/zh/index.js +34 -18
- package/dist/templates/locales/zh/index.js.map +1 -1
- package/dist/templates/locales/zh/templates-asciidoc.d.ts +22 -0
- package/dist/templates/locales/zh/templates-asciidoc.d.ts.map +1 -0
- package/dist/templates/locales/zh/templates-asciidoc.js +764 -0
- package/dist/templates/locales/zh/templates-asciidoc.js.map +1 -0
- package/dist/templates/locales/zh/{templates.d.ts → templates-markdown.d.ts} +1 -1
- package/dist/templates/locales/zh/templates-markdown.d.ts.map +1 -0
- package/dist/templates/locales/zh/{templates.js → templates-markdown.js} +1 -1
- package/dist/templates/locales/zh/templates-markdown.js.map +1 -0
- package/dist/tools/arc42-init.d.ts +2 -1
- package/dist/tools/arc42-init.d.ts.map +1 -1
- package/dist/tools/arc42-init.js +154 -24
- package/dist/tools/arc42-init.js.map +1 -1
- package/dist/tools/arc42-status.d.ts.map +1 -1
- package/dist/tools/arc42-status.js +66 -10
- package/dist/tools/arc42-status.js.map +1 -1
- package/dist/tools/arc42-workflow-guide.d.ts +1 -0
- package/dist/tools/arc42-workflow-guide.d.ts.map +1 -1
- package/dist/tools/arc42-workflow-guide.js +16 -14
- package/dist/tools/arc42-workflow-guide.js.map +1 -1
- package/dist/tools/generate-template.d.ts +1 -0
- package/dist/tools/generate-template.d.ts.map +1 -1
- package/dist/tools/generate-template.js +16 -5
- package/dist/tools/generate-template.js.map +1 -1
- package/dist/tools/get-section.d.ts.map +1 -1
- package/dist/tools/get-section.js +28 -7
- package/dist/tools/get-section.js.map +1 -1
- package/dist/tools/update-section.d.ts +1 -1
- package/dist/tools/update-section.d.ts.map +1 -1
- package/dist/tools/update-section.js +71 -8
- package/dist/tools/update-section.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/templates/locales/cz/templates.d.ts.map +0 -1
- package/dist/templates/locales/cz/templates.js.map +0 -1
- package/dist/templates/locales/de/templates.d.ts.map +0 -1
- package/dist/templates/locales/de/templates.js.map +0 -1
- package/dist/templates/locales/en/templates.d.ts.map +0 -1
- package/dist/templates/locales/en/templates.js.map +0 -1
- package/dist/templates/locales/es/templates.d.ts.map +0 -1
- package/dist/templates/locales/es/templates.js.map +0 -1
- package/dist/templates/locales/fr/templates.d.ts.map +0 -1
- package/dist/templates/locales/fr/templates.js.map +0 -1
- package/dist/templates/locales/it/templates.d.ts.map +0 -1
- package/dist/templates/locales/it/templates.js.map +0 -1
- package/dist/templates/locales/nl/templates.d.ts.map +0 -1
- package/dist/templates/locales/nl/templates.js.map +0 -1
- package/dist/templates/locales/pt/templates.d.ts.map +0 -1
- package/dist/templates/locales/pt/templates.js.map +0 -1
- package/dist/templates/locales/ru/templates.d.ts.map +0 -1
- package/dist/templates/locales/ru/templates.js.map +0 -1
- package/dist/templates/locales/ukr/templates.d.ts.map +0 -1
- package/dist/templates/locales/ukr/templates.js.map +0 -1
- package/dist/templates/locales/zh/templates.d.ts.map +0 -1
- 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
|