@h2nguyen/arc42-node-mcp-server 1.0.3 → 2.0.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 (190) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +222 -11
  3. package/dist/server.d.ts.map +1 -1
  4. package/dist/server.js +28 -72
  5. package/dist/server.js.map +1 -1
  6. package/dist/templates/index.d.ts +46 -1
  7. package/dist/templates/index.d.ts.map +1 -1
  8. package/dist/templates/index.js +63 -896
  9. package/dist/templates/index.js.map +1 -1
  10. package/dist/templates/locales/cz/index.d.ts +9 -0
  11. package/dist/templates/locales/cz/index.d.ts.map +1 -0
  12. package/dist/templates/locales/cz/index.js +29 -0
  13. package/dist/templates/locales/cz/index.js.map +1 -0
  14. package/dist/templates/locales/cz/sections.d.ts +10 -0
  15. package/dist/templates/locales/cz/sections.d.ts.map +1 -0
  16. package/dist/templates/locales/cz/sections.js +39 -0
  17. package/dist/templates/locales/cz/sections.js.map +1 -0
  18. package/dist/templates/locales/cz/templates.d.ts +9 -0
  19. package/dist/templates/locales/cz/templates.d.ts.map +1 -0
  20. package/dist/templates/locales/cz/templates.js +274 -0
  21. package/dist/templates/locales/cz/templates.js.map +1 -0
  22. package/dist/templates/locales/de/index.d.ts +26 -0
  23. package/dist/templates/locales/de/index.d.ts.map +1 -0
  24. package/dist/templates/locales/de/index.js +53 -0
  25. package/dist/templates/locales/de/index.js.map +1 -0
  26. package/dist/templates/locales/de/sections.d.ts +28 -0
  27. package/dist/templates/locales/de/sections.d.ts.map +1 -0
  28. package/dist/templates/locales/de/sections.js +57 -0
  29. package/dist/templates/locales/de/sections.js.map +1 -0
  30. package/dist/templates/locales/de/templates.d.ts +22 -0
  31. package/dist/templates/locales/de/templates.d.ts.map +1 -0
  32. package/dist/templates/locales/de/templates.js +1060 -0
  33. package/dist/templates/locales/de/templates.js.map +1 -0
  34. package/dist/templates/locales/en/index.d.ts +26 -0
  35. package/dist/templates/locales/en/index.d.ts.map +1 -0
  36. package/dist/templates/locales/en/index.js +53 -0
  37. package/dist/templates/locales/en/index.js.map +1 -0
  38. package/dist/templates/locales/en/sections.d.ts +25 -0
  39. package/dist/templates/locales/en/sections.d.ts.map +1 -0
  40. package/dist/templates/locales/en/sections.js +54 -0
  41. package/dist/templates/locales/en/sections.js.map +1 -0
  42. package/dist/templates/locales/en/templates.d.ts +22 -0
  43. package/dist/templates/locales/en/templates.d.ts.map +1 -0
  44. package/dist/templates/locales/en/templates.js +1060 -0
  45. package/dist/templates/locales/en/templates.js.map +1 -0
  46. package/dist/templates/locales/es/index.d.ts +26 -0
  47. package/dist/templates/locales/es/index.d.ts.map +1 -0
  48. package/dist/templates/locales/es/index.js +53 -0
  49. package/dist/templates/locales/es/index.js.map +1 -0
  50. package/dist/templates/locales/es/sections.d.ts +28 -0
  51. package/dist/templates/locales/es/sections.d.ts.map +1 -0
  52. package/dist/templates/locales/es/sections.js +57 -0
  53. package/dist/templates/locales/es/sections.js.map +1 -0
  54. package/dist/templates/locales/es/templates.d.ts +22 -0
  55. package/dist/templates/locales/es/templates.d.ts.map +1 -0
  56. package/dist/templates/locales/es/templates.js +1060 -0
  57. package/dist/templates/locales/es/templates.js.map +1 -0
  58. package/dist/templates/locales/fr/index.d.ts +26 -0
  59. package/dist/templates/locales/fr/index.d.ts.map +1 -0
  60. package/dist/templates/locales/fr/index.js +53 -0
  61. package/dist/templates/locales/fr/index.js.map +1 -0
  62. package/dist/templates/locales/fr/sections.d.ts +28 -0
  63. package/dist/templates/locales/fr/sections.d.ts.map +1 -0
  64. package/dist/templates/locales/fr/sections.js +57 -0
  65. package/dist/templates/locales/fr/sections.js.map +1 -0
  66. package/dist/templates/locales/fr/templates.d.ts +22 -0
  67. package/dist/templates/locales/fr/templates.d.ts.map +1 -0
  68. package/dist/templates/locales/fr/templates.js +1060 -0
  69. package/dist/templates/locales/fr/templates.js.map +1 -0
  70. package/dist/templates/locales/index.d.ts +67 -0
  71. package/dist/templates/locales/index.d.ts.map +1 -0
  72. package/dist/templates/locales/index.js +100 -0
  73. package/dist/templates/locales/index.js.map +1 -0
  74. package/dist/templates/locales/it/index.d.ts +26 -0
  75. package/dist/templates/locales/it/index.d.ts.map +1 -0
  76. package/dist/templates/locales/it/index.js +53 -0
  77. package/dist/templates/locales/it/index.js.map +1 -0
  78. package/dist/templates/locales/it/sections.d.ts +28 -0
  79. package/dist/templates/locales/it/sections.d.ts.map +1 -0
  80. package/dist/templates/locales/it/sections.js +57 -0
  81. package/dist/templates/locales/it/sections.js.map +1 -0
  82. package/dist/templates/locales/it/templates.d.ts +22 -0
  83. package/dist/templates/locales/it/templates.d.ts.map +1 -0
  84. package/dist/templates/locales/it/templates.js +1060 -0
  85. package/dist/templates/locales/it/templates.js.map +1 -0
  86. package/dist/templates/locales/language-factory.d.ts +97 -0
  87. package/dist/templates/locales/language-factory.d.ts.map +1 -0
  88. package/dist/templates/locales/language-factory.js +126 -0
  89. package/dist/templates/locales/language-factory.js.map +1 -0
  90. package/dist/templates/locales/language-registry.d.ts +114 -0
  91. package/dist/templates/locales/language-registry.d.ts.map +1 -0
  92. package/dist/templates/locales/language-registry.js +146 -0
  93. package/dist/templates/locales/language-registry.js.map +1 -0
  94. package/dist/templates/locales/language-strategy.d.ts +126 -0
  95. package/dist/templates/locales/language-strategy.d.ts.map +1 -0
  96. package/dist/templates/locales/language-strategy.js +46 -0
  97. package/dist/templates/locales/language-strategy.js.map +1 -0
  98. package/dist/templates/locales/nl/index.d.ts +26 -0
  99. package/dist/templates/locales/nl/index.d.ts.map +1 -0
  100. package/dist/templates/locales/nl/index.js +53 -0
  101. package/dist/templates/locales/nl/index.js.map +1 -0
  102. package/dist/templates/locales/nl/sections.d.ts +28 -0
  103. package/dist/templates/locales/nl/sections.d.ts.map +1 -0
  104. package/dist/templates/locales/nl/sections.js +57 -0
  105. package/dist/templates/locales/nl/sections.js.map +1 -0
  106. package/dist/templates/locales/nl/templates.d.ts +22 -0
  107. package/dist/templates/locales/nl/templates.d.ts.map +1 -0
  108. package/dist/templates/locales/nl/templates.js +1060 -0
  109. package/dist/templates/locales/nl/templates.js.map +1 -0
  110. package/dist/templates/locales/pt/index.d.ts +26 -0
  111. package/dist/templates/locales/pt/index.d.ts.map +1 -0
  112. package/dist/templates/locales/pt/index.js +53 -0
  113. package/dist/templates/locales/pt/index.js.map +1 -0
  114. package/dist/templates/locales/pt/sections.d.ts +28 -0
  115. package/dist/templates/locales/pt/sections.d.ts.map +1 -0
  116. package/dist/templates/locales/pt/sections.js +57 -0
  117. package/dist/templates/locales/pt/sections.js.map +1 -0
  118. package/dist/templates/locales/pt/templates.d.ts +22 -0
  119. package/dist/templates/locales/pt/templates.d.ts.map +1 -0
  120. package/dist/templates/locales/pt/templates.js +1060 -0
  121. package/dist/templates/locales/pt/templates.js.map +1 -0
  122. package/dist/templates/locales/ru/index.d.ts +15 -0
  123. package/dist/templates/locales/ru/index.d.ts.map +1 -0
  124. package/dist/templates/locales/ru/index.js +41 -0
  125. package/dist/templates/locales/ru/index.js.map +1 -0
  126. package/dist/templates/locales/ru/sections.d.ts +28 -0
  127. package/dist/templates/locales/ru/sections.d.ts.map +1 -0
  128. package/dist/templates/locales/ru/sections.js +57 -0
  129. package/dist/templates/locales/ru/sections.js.map +1 -0
  130. package/dist/templates/locales/ru/templates.d.ts +22 -0
  131. package/dist/templates/locales/ru/templates.d.ts.map +1 -0
  132. package/dist/templates/locales/ru/templates.js +664 -0
  133. package/dist/templates/locales/ru/templates.js.map +1 -0
  134. package/dist/templates/locales/template-provider.d.ts +122 -0
  135. package/dist/templates/locales/template-provider.d.ts.map +1 -0
  136. package/dist/templates/locales/template-provider.js +173 -0
  137. package/dist/templates/locales/template-provider.js.map +1 -0
  138. package/dist/templates/locales/ukr/index.d.ts +9 -0
  139. package/dist/templates/locales/ukr/index.d.ts.map +1 -0
  140. package/dist/templates/locales/ukr/index.js +29 -0
  141. package/dist/templates/locales/ukr/index.js.map +1 -0
  142. package/dist/templates/locales/ukr/sections.d.ts +10 -0
  143. package/dist/templates/locales/ukr/sections.d.ts.map +1 -0
  144. package/dist/templates/locales/ukr/sections.js +39 -0
  145. package/dist/templates/locales/ukr/sections.js.map +1 -0
  146. package/dist/templates/locales/ukr/templates.d.ts +9 -0
  147. package/dist/templates/locales/ukr/templates.d.ts.map +1 -0
  148. package/dist/templates/locales/ukr/templates.js +242 -0
  149. package/dist/templates/locales/ukr/templates.js.map +1 -0
  150. package/dist/templates/locales/zh/index.d.ts +9 -0
  151. package/dist/templates/locales/zh/index.d.ts.map +1 -0
  152. package/dist/templates/locales/zh/index.js +29 -0
  153. package/dist/templates/locales/zh/index.js.map +1 -0
  154. package/dist/templates/locales/zh/sections.d.ts +10 -0
  155. package/dist/templates/locales/zh/sections.d.ts.map +1 -0
  156. package/dist/templates/locales/zh/sections.js +39 -0
  157. package/dist/templates/locales/zh/sections.js.map +1 -0
  158. package/dist/templates/locales/zh/templates.d.ts +9 -0
  159. package/dist/templates/locales/zh/templates.d.ts.map +1 -0
  160. package/dist/templates/locales/zh/templates.js +260 -0
  161. package/dist/templates/locales/zh/templates.js.map +1 -0
  162. package/dist/tools/arc42-init.d.ts +8 -2
  163. package/dist/tools/arc42-init.d.ts.map +1 -1
  164. package/dist/tools/arc42-init.js +67 -97
  165. package/dist/tools/arc42-init.js.map +1 -1
  166. package/dist/tools/arc42-status.d.ts +5 -2
  167. package/dist/tools/arc42-status.d.ts.map +1 -1
  168. package/dist/tools/arc42-status.js +47 -18
  169. package/dist/tools/arc42-status.js.map +1 -1
  170. package/dist/tools/arc42-workflow-guide.d.ts +6 -3
  171. package/dist/tools/arc42-workflow-guide.d.ts.map +1 -1
  172. package/dist/tools/arc42-workflow-guide.js +42 -276
  173. package/dist/tools/arc42-workflow-guide.js.map +1 -1
  174. package/dist/tools/generate-template.d.ts +7 -3
  175. package/dist/tools/generate-template.d.ts.map +1 -1
  176. package/dist/tools/generate-template.js +44 -35
  177. package/dist/tools/generate-template.js.map +1 -1
  178. package/dist/tools/get-section.d.ts +7 -3
  179. package/dist/tools/get-section.d.ts.map +1 -1
  180. package/dist/tools/get-section.js +38 -38
  181. package/dist/tools/get-section.js.map +1 -1
  182. package/dist/tools/index.d.ts +6 -5
  183. package/dist/tools/index.d.ts.map +1 -1
  184. package/dist/tools/index.js +14 -20
  185. package/dist/tools/index.js.map +1 -1
  186. package/dist/tools/update-section.d.ts +9 -3
  187. package/dist/tools/update-section.d.ts.map +1 -1
  188. package/dist/tools/update-section.js +12 -44
  189. package/dist/tools/update-section.js.map +1 -1
  190. package/package.json +1 -1
@@ -0,0 +1,1060 @@
1
+ /**
2
+ * Italian Templates
3
+ *
4
+ * Contains all arc42 section templates in Italian.
5
+ * Based on the official arc42 Italian template from vendor/arc42-template/IT/.
6
+ *
7
+ * @module templates/locales/it/templates
8
+ */
9
+ /**
10
+ * Get the Italian 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. Introduzione e Obiettivi
31
+
32
+ ## Descrizione dei Requisiti
33
+
34
+ **Scopo**: Descrive i requisiti essenziali e le forze trainanti che devono essere considerate nell'implementazione dell'architettura software e nello sviluppo del sistema.
35
+
36
+ ### Requisiti Essenziali
37
+
38
+ <!-- Elenca i top 3-5 requisiti funzionali -->
39
+
40
+ | ID | Requisito | Priorita |
41
+ |----|-----------|----------|
42
+ | REQ-1 | [Breve descrizione] | Alta |
43
+ | REQ-2 | [Breve descrizione] | Media |
44
+
45
+ ### Funzionalita
46
+
47
+ <!-- Funzionalita essenziali del sistema -->
48
+
49
+ - Funzionalita 1: [Descrizione]
50
+ - Funzionalita 2: [Descrizione]
51
+
52
+ ## Obiettivi di Qualita
53
+
54
+ **Scopo**: I top-3 o top-5 obiettivi di qualita per l'architettura, il cui raggiungimento e di massima importanza per i principali stakeholder.
55
+
56
+ <!-- Basandosi su ISO 25010, dare priorita a qualita come: -->
57
+ <!-- Prestazioni, Sicurezza, Affidabilita, Manutenibilita, Usabilita, ecc. -->
58
+
59
+ | Priorita | Obiettivo di Qualita | Motivazione |
60
+ |----------|---------------------|-------------|
61
+ | 1 | [es. Prestazioni] | [Perche e critico] |
62
+ | 2 | [es. Sicurezza] | [Perche e critico] |
63
+ | 3 | [es. Manutenibilita] | [Perche e critico] |
64
+
65
+ ## Stakeholder
66
+
67
+ **Scopo**: Panoramica esplicita degli stakeholder del sistema.
68
+
69
+ | Ruolo/Nome | Contatto | Aspettative |
70
+ |------------|----------|-------------|
71
+ | Product Owner | [Nome/Email] | [Aspettative riguardo l'architettura] |
72
+ | Team di Sviluppo | [Nome team] | [Cosa devono sapere] |
73
+ | Operations | [Team/Persona] | [Preoccupazioni di deployment e operations] |
74
+ | Utenti Finali | [Tipo] | [Aspettative sull'esperienza utente] |
75
+
76
+ ## Criteri di Successo
77
+
78
+ <!-- Cosa definisce il successo di questo sistema? -->
79
+
80
+ - [ ] Criterio 1
81
+ - [ ] Criterio 2
82
+ - [ ] Criterio 3
83
+ `;
84
+ }
85
+ function getArchitectureConstraintsTemplate() {
86
+ return `# 2. Vincoli dell'Architettura
87
+
88
+ ## Vincoli Tecnici
89
+
90
+ **Vincoli Hardware**
91
+
92
+ | Vincolo | Contesto/Motivazione |
93
+ |---------|---------------------|
94
+ | [es. Piattaforma cloud] | [Perche esiste questo vincolo] |
95
+
96
+ **Vincoli Software/Tecnologia**
97
+
98
+ | Vincolo | Contesto/Motivazione |
99
+ |---------|---------------------|
100
+ | [es. Java 17+ richiesto] | [Motivo del vincolo] |
101
+ | [es. PostgreSQL richiesto] | [Perche e stato scelto] |
102
+
103
+ **Linee Guida di Programmazione**
104
+
105
+ - Linguaggio di programmazione: [Linguaggio]
106
+ - Framework: [Framework e versione]
107
+ - Librerie: [Librerie obbligatorie o vietate]
108
+
109
+ ## Vincoli Organizzativi
110
+
111
+ **Organizzazione e Struttura**
112
+
113
+ | Vincolo | Contesto/Motivazione |
114
+ |---------|---------------------|
115
+ | [es. Struttura del team] | [Come influenza l'architettura] |
116
+ | [es. Metodologia Agile] | [Impatto sul processo di sviluppo] |
117
+
118
+ **Risorse**
119
+
120
+ - Budget: [Limitazioni di budget]
121
+ - Tempo: [Vincoli temporali]
122
+ - Team: [Dimensione e competenze del team]
123
+
124
+ ## Convenzioni
125
+
126
+ **Convenzioni di Architettura e Design**
127
+
128
+ - [es. Pattern architetturale Microservices]
129
+ - [es. Design RESTful API]
130
+ - [es. Domain-Driven Design]
131
+
132
+ **Convenzioni di Codifica**
133
+
134
+ - Stile del codice: [Link alla guida di stile]
135
+ - Documentazione: [Standard di documentazione]
136
+ - Test: [Requisiti di testing]
137
+
138
+ **Requisiti di Conformita**
139
+
140
+ - [es. Conformita GDPR]
141
+ - [es. Regolamenti specifici del settore]
142
+ - [es. Standard di accessibilita]
143
+ `;
144
+ }
145
+ function getContextAndScopeTemplate() {
146
+ return `# 3. Contesto e Ambito
147
+
148
+ ## Contesto di Business
149
+
150
+ **Scopo**: Mostra l'ambiente di business del sistema e le principali dipendenze esterne.
151
+
152
+ ### Diagramma di Contesto
153
+
154
+ \`\`\`
155
+ [Crea un diagramma che mostra il tuo sistema e sistemi/utenti esterni]
156
+ Puoi usare:
157
+ - Diagrammi Mermaid
158
+ - PlantUML
159
+ - ASCII art
160
+ - Oppure fai riferimento a un'immagine in /images/
161
+ \`\`\`
162
+
163
+ ### Interfacce Esterne
164
+
165
+ | Sistema Esterno | Interfaccia | Scopo |
166
+ |-----------------|-------------|-------|
167
+ | [Sistema Esterno 1] | [API/Protocollo] | [Quali dati/funzioni vengono scambiati] |
168
+ | [Tipo Utente 1] | [UI/API] | [Come interagiscono gli utenti] |
169
+
170
+ ### Processi di Business Supportati
171
+
172
+ <!-- Quali processi di business supporta questo sistema? -->
173
+
174
+ 1. **Processo 1**: [Descrizione]
175
+ - Attori: [Chi e coinvolto]
176
+ - Flusso: [Flusso di alto livello]
177
+
178
+ 2. **Processo 2**: [Descrizione]
179
+
180
+ ## Contesto Tecnico
181
+
182
+ **Scopo**: Mostra le interfacce tecniche e i canali tra il sistema e il suo ambiente.
183
+
184
+ ### Interfacce Tecniche
185
+
186
+ | Interfaccia | Tecnologia | Protocollo | Formato |
187
+ |-------------|------------|------------|---------|
188
+ | [API 1] | [REST API] | [HTTPS] | [JSON] |
189
+ | [Database] | [PostgreSQL] | [TCP/IP] | [SQL] |
190
+
191
+ ### Canali e Trasmissione
192
+
193
+ | Canale | Tecnologia | Descrizione |
194
+ |--------|------------|-------------|
195
+ | [Coda Messaggi] | [RabbitMQ] | [Comunicazione asincrona tra servizi] |
196
+
197
+ ### Mappatura: Business a Tecnico
198
+
199
+ | Contesto di Business | Realizzazione Tecnica |
200
+ |---------------------|----------------------|
201
+ | [Interfaccia Utente] | [React SPA via HTTPS] |
202
+ | [Sistema Esterno A] | [REST API via HTTPS] |
203
+ `;
204
+ }
205
+ function getSolutionStrategyTemplate() {
206
+ return `# 4. Strategia di Soluzione
207
+
208
+ **Scopo**: Riassume le decisioni fondamentali e le strategie di soluzione che modellano l'architettura del sistema.
209
+
210
+ ## Decisioni Chiave della Soluzione
211
+
212
+ ### Pattern Architetturali
213
+
214
+ | Pattern | Motivazione | Conseguenze |
215
+ |---------|-------------|-------------|
216
+ | [es. Microservices] | [Perche e stato scelto questo pattern] | [Benefici e compromessi] |
217
+
218
+ ### Decisioni Tecnologiche
219
+
220
+ | Componente | Tecnologia | Motivazione |
221
+ |------------|------------|-------------|
222
+ | Backend | [es. Node.js] | [Perche e stato scelto] |
223
+ | Frontend | [es. React] | [Motivazioni] |
224
+ | Database | [es. PostgreSQL] | [Motivazioni] |
225
+
226
+ ### Decomposizione di Alto Livello
227
+
228
+ <!-- Come e strutturato il sistema al livello piu alto? -->
229
+
230
+ \`\`\`
231
+ [Diagramma dei componenti di alto livello]
232
+ \`\`\`
233
+
234
+ Descrizione:
235
+ - Componente 1: [Scopo e responsabilita]
236
+ - Componente 2: [Scopo e responsabilita]
237
+
238
+ ## Raggiungimento degli Obiettivi di Qualita
239
+
240
+ ### Mappatura: Obiettivi di Qualita agli Approcci
241
+
242
+ | Obiettivo di Qualita | Approccio alla Soluzione |
243
+ |---------------------|-------------------------|
244
+ | [Prestazioni] | [Strategia di caching, elaborazione asincrona, CDN] |
245
+ | [Sicurezza] | [Autenticazione, autorizzazione, crittografia] |
246
+ | [Scalabilita] | [Scaling orizzontale, load balancing] |
247
+
248
+ ### Decisioni di Design Chiave
249
+
250
+ 1. **Decisione 1**: [es. Architettura event-driven]
251
+ - Motivazione: [Perche questo approccio]
252
+ - Impatto: [Come aiuta a raggiungere gli obiettivi di qualita]
253
+
254
+ 2. **Decisione 2**: [Descrizione]
255
+ - Motivazione: [Ragionamento]
256
+ - Impatto: [Impatto sugli obiettivi di qualita]
257
+
258
+ ## Strategia di Sviluppo
259
+
260
+ - Approccio di sviluppo: [Agile, Scrum, ecc.]
261
+ - Strategia di deployment: [CI/CD, Blue-Green, ecc.]
262
+ - Strategia di test: [Unit, Integration, E2E]
263
+ `;
264
+ }
265
+ function getBuildingBlockViewTemplate() {
266
+ return `# 5. Vista dei Building Block
267
+
268
+ **Scopo**: Decomposizione statica del sistema in building block e loro relazioni.
269
+
270
+ ## Livello 1: Contesto del Sistema
271
+
272
+ ### Whitebox: Sistema Complessivo
273
+
274
+ **Scopo**: [Cosa fa il sistema]
275
+
276
+ \`\`\`
277
+ [Diagramma dei componenti con i principali building block]
278
+ \`\`\`
279
+
280
+ **Building Block Contenuti**:
281
+
282
+ | Componente | Responsabilita |
283
+ |------------|----------------|
284
+ | [Componente 1] | [Cosa fa] |
285
+ | [Componente 2] | [Cosa fa] |
286
+
287
+ **Interfacce Importanti**:
288
+
289
+ | Interfaccia | Descrizione |
290
+ |-------------|-------------|
291
+ | [API 1] | [Scopo e protocollo] |
292
+
293
+ ## Livello 2: Dettagli dei Componenti
294
+
295
+ ### Componente 1 (Whitebox)
296
+
297
+ **Scopo**: [Scopo dettagliato]
298
+
299
+ **Interfacce**:
300
+ - Input: [Cosa riceve]
301
+ - Output: [Cosa produce]
302
+
303
+ **Struttura Interna**:
304
+
305
+ \`\`\`
306
+ [Diagramma dei moduli/classi interni]
307
+ \`\`\`
308
+
309
+ **Elementi Contenuti**:
310
+
311
+ | Elemento | Responsabilita |
312
+ |----------|----------------|
313
+ | [Modulo A] | [Scopo] |
314
+ | [Modulo B] | [Scopo] |
315
+
316
+ ### Componente 2 (Whitebox)
317
+
318
+ [Struttura simile]
319
+
320
+ ## Livello 3: Viste di Dettaglio
321
+
322
+ <!-- Includi il Livello 3 solo per componenti che necessitano di dettagli aggiuntivi -->
323
+
324
+ ### Dettagli Modulo A
325
+
326
+ [Diagrammi di classe dettagliati, struttura dei pacchetti, ecc.]
327
+ `;
328
+ }
329
+ function getRuntimeViewTemplate() {
330
+ return `# 6. Vista Runtime
331
+
332
+ **Scopo**: Mostra il comportamento e l'interazione dei building block durante l'esecuzione.
333
+
334
+ ## Scenari Importanti
335
+
336
+ ### Scenario 1: [Nome, es. "Login Utente"]
337
+
338
+ **Descrizione**: [Cosa succede in questo scenario]
339
+
340
+ **Diagramma di Sequenza**:
341
+
342
+ \`\`\`mermaid
343
+ sequenceDiagram
344
+ participant Utente
345
+ participant Frontend
346
+ participant API
347
+ participant Database
348
+
349
+ Utente->>Frontend: Inserisce credenziali
350
+ Frontend->>API: POST /login
351
+ API->>Database: Valida credenziali
352
+ Database-->>API: Dati utente
353
+ API-->>Frontend: Token JWT
354
+ Frontend-->>Utente: Login riuscito
355
+ \`\`\`
356
+
357
+ **Passi**:
358
+
359
+ 1. L'utente inserisce le credenziali
360
+ 2. Il frontend invia la richiesta di login
361
+ 3. L'API valida con il database
362
+ 4. Il token viene generato e restituito
363
+ 5. L'utente e autenticato
364
+
365
+ ### Scenario 2: [Nome]
366
+
367
+ [Struttura simile]
368
+
369
+ ## Flusso Dati
370
+
371
+ ### Flusso 1: [Nome]
372
+
373
+ **Scopo**: [Quali dati fluiscono e dove]
374
+
375
+ **Diagramma**:
376
+
377
+ \`\`\`
378
+ [Diagramma del flusso dati]
379
+ \`\`\`
380
+
381
+ **Descrizione**:
382
+ - Passo 1: [Cosa succede]
383
+ - Passo 2: [Cosa succede]
384
+
385
+ ## Macchine a Stati
386
+
387
+ ### Macchina a Stati per [Entita]
388
+
389
+ **Stati**:
390
+ - Stato 1: [Descrizione]
391
+ - Stato 2: [Descrizione]
392
+
393
+ **Transizioni**:
394
+
395
+ | Da | Evento | A | Azione |
396
+ |----|--------|---|--------|
397
+ | [Stato 1] | [Evento] | [Stato 2] | [Cosa succede] |
398
+ `;
399
+ }
400
+ function getDeploymentViewTemplate() {
401
+ return `# 7. Vista di Deployment
402
+
403
+ **Scopo**: Descrive l'infrastruttura tecnica e come il software viene distribuito.
404
+
405
+ ## Panoramica dell'Infrastruttura
406
+
407
+ ### Diagramma di Deployment
408
+
409
+ \`\`\`
410
+ [Diagramma con server, container, reti]
411
+ \`\`\`
412
+
413
+ ## Ambienti
414
+
415
+ ### Ambiente di Produzione
416
+
417
+ **Infrastruttura**:
418
+
419
+ | Componente | Tecnologia | Configurazione |
420
+ |------------|------------|----------------|
421
+ | [Application Server] | [AWS ECS] | [Specifiche] |
422
+ | [Database] | [RDS PostgreSQL] | [Specifiche] |
423
+ | [Cache] | [Redis] | [Specifiche] |
424
+
425
+ **Rete**:
426
+ - VPC: [Configurazione]
427
+ - Subnet: [Setup pubblico/privato]
428
+ - Security Groups: [Regole]
429
+
430
+ ### Ambiente di Staging
431
+
432
+ [Struttura simile]
433
+
434
+ ### Ambiente di Sviluppo
435
+
436
+ [Struttura simile]
437
+
438
+ ## Strategia di Deployment
439
+
440
+ ### Pipeline CI/CD
441
+
442
+ 1. **Build**: [Cosa succede]
443
+ 2. **Test**: [Test automatizzati]
444
+ 3. **Deploy**: [Processo di deployment]
445
+
446
+ ### Strategia di Rollback
447
+
448
+ [Come vengono fatti i rollback dei deployment]
449
+
450
+ ## Strategia di Scaling
451
+
452
+ ### Scaling Orizzontale
453
+
454
+ | Componente | Trigger di Scaling | Max Istanze |
455
+ |------------|-------------------|-------------|
456
+ | [API Server] | [CPU > 70%] | [10] |
457
+
458
+ ### Scaling Verticale
459
+
460
+ [Quando e come fare scaling verticale]
461
+
462
+ ## Monitoring e Operazioni
463
+
464
+ ### Health Check
465
+
466
+ | Componente | Controllo | Soglia |
467
+ |------------|-----------|--------|
468
+ | [API] | [Endpoint /health] | [Tempo di risposta < 1s] |
469
+
470
+ ### Logging
471
+
472
+ - Aggregazione log: [ELK, CloudWatch, ecc.]
473
+ - Retention log: [Policy]
474
+
475
+ ### Metriche
476
+
477
+ - Metriche chiave: [CPU, memoria, tasso richieste]
478
+ - Alerting: [Condizioni di alert]
479
+ `;
480
+ }
481
+ function getConceptsTemplate() {
482
+ return `# 8. Concetti Trasversali
483
+
484
+ **Scopo**: Regole e idee di soluzione trasversali, rilevanti in piu parti del sistema.
485
+
486
+ ## Modelli di Dominio
487
+
488
+ ### Concetti Chiave del Dominio
489
+
490
+ \`\`\`
491
+ [Diagramma del modello di dominio o diagramma delle classi]
492
+ \`\`\`
493
+
494
+ **Entita Chiave**:
495
+
496
+ | Entita | Responsabilita | Relazioni |
497
+ |--------|----------------|-----------|
498
+ | [Entita 1] | [Scopo] | [Entita correlate] |
499
+
500
+ ## Sicurezza
501
+
502
+ ### Autenticazione
503
+
504
+ - Metodo: [JWT, OAuth2, ecc.]
505
+ - Implementazione: [Come funziona]
506
+
507
+ ### Autorizzazione
508
+
509
+ - Modello: [RBAC, ABAC, ecc.]
510
+ - Ruoli: [Lista dei ruoli e permessi]
511
+
512
+ ### Protezione dei Dati
513
+
514
+ - Crittografia at rest: [Come]
515
+ - Crittografia in transit: [Versione TLS]
516
+ - Gestione dati sensibili: [Approccio]
517
+
518
+ ## Gestione degli Errori
519
+
520
+ ### Categorie di Errori
521
+
522
+ | Categoria | Strategia di Gestione |
523
+ |-----------|----------------------|
524
+ | [Errori di validazione] | [Restituisci 400 con dettagli] |
525
+ | [Errori di sistema] | [Log e restituisci 500] |
526
+
527
+ ### Formato Risposta Errore
528
+
529
+ \`\`\`json
530
+ {
531
+ "error": {
532
+ "code": "ERROR_CODE",
533
+ "message": "Messaggio leggibile",
534
+ "details": {}
535
+ }
536
+ }
537
+ \`\`\`
538
+
539
+ ## Logging e Monitoring
540
+
541
+ ### Strategia di Logging
542
+
543
+ - Livelli di log: [DEBUG, INFO, WARN, ERROR]
544
+ - Logging strutturato: [Formato JSON]
545
+ - ID di correlazione: [Per il tracing delle richieste]
546
+
547
+ ### Monitoring
548
+
549
+ - APM: [Tool di Application Performance Monitoring]
550
+ - Metriche: [Metriche chiave di business e tecniche]
551
+
552
+ ## Gestione della Configurazione
553
+
554
+ ### Fonti di Configurazione
555
+
556
+ 1. Variabili d'ambiente
557
+ 2. File di configurazione
558
+ 3. Gestione dei segreti: [Vault, AWS Secrets Manager]
559
+
560
+ ### Configurazione per Ambiente
561
+
562
+ | Impostazione | Dev | Staging | Prod |
563
+ |--------------|-----|---------|------|
564
+ | [Livello Log] | [DEBUG] | [INFO] | [WARN] |
565
+
566
+ ## Strategia di Test
567
+
568
+ ### Livelli di Test
569
+
570
+ | Livello | Copertura | Strumenti |
571
+ |---------|-----------|-----------|
572
+ | Unit Test | [Target %] | [Framework] |
573
+ | Test di Integrazione | [Ambito] | [Strumenti] |
574
+ | Test E2E | [Flussi chiave] | [Strumenti] |
575
+
576
+ ### Gestione dei Dati di Test
577
+
578
+ [Come vengono creati e gestiti i dati di test]
579
+
580
+ ## Concetti di Sviluppo
581
+
582
+ ### Organizzazione del Codice
583
+
584
+ - Struttura dei pacchetti: [Approccio]
585
+ - Convenzioni di naming: [Standard]
586
+
587
+ ### Build e Gestione Dipendenze
588
+
589
+ - Strumento di build: [Maven, Gradle, npm, ecc.]
590
+ - Gestione dipendenze: [Strategia]
591
+
592
+ ## Concetti Operativi
593
+
594
+ ### Backup e Recovery
595
+
596
+ - Frequenza backup: [Giornaliero, orario, ecc.]
597
+ - Retention: [Policy]
598
+ - Procedura di recovery: [Passi]
599
+
600
+ ### Disaster Recovery
601
+
602
+ - RTO: [Recovery Time Objective]
603
+ - RPO: [Recovery Point Objective]
604
+ - Strategia DR: [Approccio]
605
+ `;
606
+ }
607
+ function getArchitectureDecisionsTemplate() {
608
+ return `# 9. Decisioni Architetturali
609
+
610
+ **Scopo**: Documenta decisioni architetturali importanti, costose, critiche o rischiose con le relative motivazioni.
611
+
612
+ ## Formato ADR
613
+
614
+ Ogni decisione segue questa struttura:
615
+ - **Contesto**: Qual e il problema che stiamo affrontando?
616
+ - **Decisione**: Cosa abbiamo deciso di fare
617
+ - **Conseguenze**: Cosa diventa piu facile o piu difficile
618
+
619
+ ## Registro delle Decisioni
620
+
621
+ ### ADR-001: [Titolo Decisione]
622
+
623
+ **Data**: [AAAA-MM-GG]
624
+ **Stato**: [Proposta | Accettata | Deprecata | Sostituita]
625
+ **Decisori**: [Nomi]
626
+
627
+ **Contesto**:
628
+
629
+ [Descrivi le forze in gioco, tecniche, politiche, sociali e specifiche del progetto. Queste forze sono probabilmente in tensione e dovrebbero essere chiamate come tali.]
630
+
631
+ **Decisione**:
632
+
633
+ [Descrivi la nostra risposta a queste forze. Qui prendiamo la nostra decisione.]
634
+
635
+ **Conseguenze**:
636
+
637
+ Positive:
638
+ - [Beneficio 1]
639
+ - [Beneficio 2]
640
+
641
+ Negative:
642
+ - [Compromesso 1]
643
+ - [Compromesso 2]
644
+
645
+ Rischi:
646
+ - [Rischio 1 e mitigazione]
647
+
648
+ ### ADR-002: [Altra Decisione]
649
+
650
+ [Struttura simile]
651
+
652
+ ## Categorie di Decisioni
653
+
654
+ ### Decisioni Strutturali
655
+
656
+ | Decisione | Motivazione | Data |
657
+ |-----------|-------------|------|
658
+ | [Microservices vs Monolith] | [Perche scelto] | [Data] |
659
+
660
+ ### Decisioni Tecnologiche
661
+
662
+ | Componente | Tecnologia | Alternative Considerate | Perche Scelta |
663
+ |------------|------------|------------------------|---------------|
664
+ | [Backend] | [Node.js] | [Python, Java] | [Motivazioni] |
665
+
666
+ ### Decisioni di Processo
667
+
668
+ | Decisione | Impatto | Data |
669
+ |-----------|---------|------|
670
+ | [Metodologia Agile] | [Come influenza l'architettura] | [Data] |
671
+
672
+ ## Decisioni Deprecate
673
+
674
+ | Decisione | Data Deprecazione | Motivo | Sostituita Da |
675
+ |-----------|-------------------|--------|---------------|
676
+ | [Vecchia decisione] | [Data] | [Perche deprecata] | [ADR-XXX] |
677
+ `;
678
+ }
679
+ function getQualityRequirementsTemplate() {
680
+ return `# 10. Requisiti di Qualita
681
+
682
+ **Scopo**: Definisce i requisiti di qualita con scenari concreti.
683
+
684
+ ## Albero della Qualita
685
+
686
+ ### Obiettivi di Qualita di Alto Livello
687
+
688
+ \`\`\`
689
+ Qualita
690
+ +-- Prestazioni
691
+ | +-- Tempo di risposta
692
+ | +-- Throughput
693
+ +-- Sicurezza
694
+ | +-- Autenticazione
695
+ | +-- Privacy dei dati
696
+ +-- Affidabilita
697
+ | +-- Disponibilita
698
+ | +-- Tolleranza ai guasti
699
+ +-- Manutenibilita
700
+ +-- Testabilita
701
+ +-- Modificabilita
702
+ \`\`\`
703
+
704
+ ## Scenari di Qualita
705
+
706
+ ### Scenari di Prestazioni
707
+
708
+ **Scenario 1: Tempo di Risposta a Carico Normale**
709
+
710
+ | Aspetto | Descrizione |
711
+ |---------|-------------|
712
+ | Scenario | L'utente richiede dati sotto carico normale |
713
+ | Sorgente | Utente finale |
714
+ | Stimolo | Richiesta HTTP all'API |
715
+ | Ambiente | Operazioni normali, 100 utenti concorrenti |
716
+ | Risposta | Il sistema restituisce i dati |
717
+ | Misura | 95esimo percentile tempo di risposta < 200ms |
718
+
719
+ **Scenario 2: Gestione del Carico di Picco**
720
+
721
+ | Aspetto | Descrizione |
722
+ |---------|-------------|
723
+ | Scenario | Sistema sotto carico di picco |
724
+ | Sorgente | Utenti multipli |
725
+ | Stimolo | 1000 richieste concorrenti |
726
+ | Ambiente | Ore di picco |
727
+ | Risposta | Il sistema elabora tutte le richieste |
728
+ | Misura | Nessuna richiesta fallisce, tempo di risposta < 1s |
729
+
730
+ ### Scenari di Sicurezza
731
+
732
+ **Scenario 3: Tentativo di Accesso Non Autorizzato**
733
+
734
+ | Aspetto | Descrizione |
735
+ |---------|-------------|
736
+ | Scenario | Utente non autorizzato tenta di accedere a risorsa protetta |
737
+ | Sorgente | Attaccante esterno |
738
+ | Stimolo | Richiesta HTTP senza token valido |
739
+ | Ambiente | Operazioni normali |
740
+ | Risposta | Il sistema nega l'accesso |
741
+ | Misura | Restituisce 401, registra il tentativo, nessun dato esposto |
742
+
743
+ ### Scenari di Affidabilita
744
+
745
+ **Scenario 4: Recupero da Guasto del Servizio**
746
+
747
+ | Aspetto | Descrizione |
748
+ |---------|-------------|
749
+ | Scenario | La connessione al database fallisce |
750
+ | Sorgente | Guasto dell'infrastruttura |
751
+ | Stimolo | Il database diventa non disponibile |
752
+ | Ambiente | Operazioni normali |
753
+ | Risposta | Il sistema continua a operare con dati in cache |
754
+ | Misura | Degradazione del servizio < 5%, recupero < 30s |
755
+
756
+ ### Scenari di Manutenibilita
757
+
758
+ **Scenario 5: Aggiunta di Nuova Funzionalita**
759
+
760
+ | Aspetto | Descrizione |
761
+ |---------|-------------|
762
+ | Scenario | Lo sviluppatore aggiunge un nuovo endpoint API |
763
+ | Sorgente | Team di sviluppo |
764
+ | Stimolo | Nuovo requisito |
765
+ | Ambiente | Sviluppo |
766
+ | Risposta | La funzionalita viene aggiunta |
767
+ | Misura | < 2 giorni, < 5 file modificati, i test passano |
768
+
769
+ ## Prioritizzazione dei Requisiti di Qualita
770
+
771
+ | Attributo di Qualita | Priorita | Target |
772
+ |---------------------|----------|--------|
773
+ | Disponibilita | Alta | 99.9% uptime |
774
+ | Tempo di risposta | Alta | < 200ms (p95) |
775
+ | Sicurezza | Critica | Zero violazioni dati |
776
+ | Manutenibilita | Media | Copertura test > 80% |
777
+ | Usabilita | Media | Successo task utente > 95% |
778
+ `;
779
+ }
780
+ function getTechnicalRisksTemplate() {
781
+ return `# 11. Rischi e Debito Tecnico
782
+
783
+ **Scopo**: Documenta problemi noti, rischi e debito tecnico.
784
+
785
+ ## Rischi
786
+
787
+ ### Matrice di Valutazione dei Rischi
788
+
789
+ | Rischio | Probabilita | Impatto | Severita | Stato |
790
+ |---------|-------------|---------|----------|-------|
791
+ | [Rischio 1] | [Alta/Media/Bassa] | [Alta/Media/Bassa] | [Critica/Alta/Media/Bassa] | [Aperto/Mitigato] |
792
+
793
+ ### Rischi Dettagliati
794
+
795
+ **Rischio 1: [Titolo del Rischio]**
796
+
797
+ - **Descrizione**: [Qual e il rischio]
798
+ - **Probabilita**: [Alta/Media/Bassa]
799
+ - **Impatto**: [Alta/Media/Bassa - e cosa succede]
800
+ - **Mitigazione**: [Cosa stiamo facendo al riguardo]
801
+ - **Piano di contingenza**: [Piano se il rischio si materializza]
802
+ - **Responsabile**: [Chi e responsabile]
803
+ - **Stato**: [Aperto/In mitigazione/Chiuso]
804
+
805
+ **Rischio 2: [Titolo]**
806
+
807
+ [Struttura simile]
808
+
809
+ ## Debito Tecnico
810
+
811
+ ### Registro del Debito
812
+
813
+ | Voce | Tipo | Impatto | Sforzo | Priorita |
814
+ |------|------|---------|--------|----------|
815
+ | [Debito 1] | [Codice/Architettura/Testing] | [Alta/Media/Bassa] | [Giorni] | [1-5] |
816
+
817
+ ### Voci di Debito Dettagliate
818
+
819
+ **Debito 1: [Titolo]**
820
+
821
+ - **Descrizione**: [Cosa deve essere sistemato]
822
+ - **Perche esiste**: [Come e successo]
823
+ - **Impatto**: [Quali problemi causa]
824
+ - **Soluzione proposta**: [Come sistemarlo]
825
+ - **Stima dello sforzo**: [Tempo necessario]
826
+ - **Priorita**: [Quando dovremmo sistemarlo]
827
+
828
+ ### Piano di Riduzione del Debito
829
+
830
+ | Trimestre | Debito da Affrontare | Impatto Atteso |
831
+ |-----------|---------------------|----------------|
832
+ | Q1 2024 | [Voci 1, 2] | [Miglioramento in X] |
833
+
834
+ ## Problemi Noti
835
+
836
+ ### Problemi Aperti
837
+
838
+ | Problema | Severita | Workaround | Data Target di Risoluzione |
839
+ |----------|----------|------------|---------------------------|
840
+ | [Problema 1] | [Alta/Media/Bassa] | [Se disponibile] | [Data] |
841
+
842
+ ### Limitazioni
843
+
844
+ | Limitazione | Impatto | Motivazione | Piani Futuri |
845
+ |-------------|---------|-------------|--------------|
846
+ | [Limitazione 1] | [Effetto] | [Perche esiste] | [Quando/se affrontarla] |
847
+
848
+ ## Vulnerabilita di Sicurezza
849
+
850
+ ### Vulnerabilita Note
851
+
852
+ | CVE | Componente | Severita | Stato | Mitigazione |
853
+ |-----|------------|----------|-------|-------------|
854
+ | [CVE-ID] | [Libreria] | [Critica/Alta/Media] | [Aperta/Risolta] | [Azioni intraprese] |
855
+
856
+ ## Problemi di Prestazioni
857
+
858
+ | Problema | Impatto | Workaround | Piano di Risoluzione |
859
+ |----------|---------|------------|---------------------|
860
+ | [Problema] | [Impatto sugli utenti] | [Soluzione temporanea] | [Soluzione permanente] |
861
+ `;
862
+ }
863
+ function getGlossaryTemplate() {
864
+ return `# 12. Glossario
865
+
866
+ **Scopo**: Definisce termini importanti di business e tecnici per garantire una terminologia coerente.
867
+
868
+ ## Termini di Business
869
+
870
+ | Termine | Definizione |
871
+ |---------|-------------|
872
+ | [Termine Business 1] | [Definizione chiara e concisa] |
873
+ | [Termine Business 2] | [Definizione] |
874
+
875
+ ## Termini Tecnici
876
+
877
+ | Termine | Definizione | Sinonimi |
878
+ |---------|-------------|----------|
879
+ | [Termine Tecnico 1] | [Definizione] | [Nomi alternativi] |
880
+ | [Termine Tecnico 2] | [Definizione] | [Nomi alternativi] |
881
+
882
+ ## Abbreviazioni e Acronimi
883
+
884
+ | Abbreviazione | Nome Completo | Contesto |
885
+ |---------------|---------------|----------|
886
+ | API | Application Programming Interface | [Quando/dove usato] |
887
+ | SLA | Service Level Agreement | [Contesto] |
888
+ | JWT | JSON Web Token | [Uso] |
889
+
890
+ ## Concetti di Business
891
+
892
+ | Concetto | Descrizione | Termini Correlati |
893
+ |----------|-------------|-------------------|
894
+ | [Concetto 1] | [Spiegazione dettagliata] | [Concetti correlati] |
895
+
896
+ ## Termini Specifici del Sistema
897
+
898
+ | Termine | Definizione | Esempio |
899
+ |---------|-------------|---------|
900
+ | [Termine Sistema 1] | [Cosa significa in questo sistema] | [Esempio di utilizzo] |
901
+
902
+ ## Termini Deprecati
903
+
904
+ | Vecchio Termine | Sostituito Da | Motivo |
905
+ |-----------------|---------------|--------|
906
+ | [Vecchio termine] | [Nuovo termine] | [Perche cambiato] |
907
+
908
+ ---
909
+
910
+ **Nota**: Mantieni questo glossario aggiornato man mano che emergono nuovi termini. Fai riferimento a questa sezione da altre parti della documentazione quando vengono usati questi termini.
911
+ `;
912
+ }
913
+ /**
914
+ * Get the Italian workflow guide
915
+ */
916
+ export function getWorkflowGuide() {
917
+ return `# Guida al Workflow della Documentazione di Architettura arc42
918
+
919
+ ## Panoramica
920
+
921
+ Questa guida ti aiuta a documentare la tua architettura software usando il template arc42. Il template arc42 e un template pratico e collaudato per documentare architetture software e di sistema.
922
+
923
+ ## Lingue Disponibili
924
+
925
+ Questo arc42 MCP Server supporta piu lingue per la documentazione:
926
+
927
+ | Codice | Lingua | Nome Nativo |
928
+ |--------|--------|-------------|
929
+ | EN | Inglese | English |
930
+ | DE | Tedesco | Deutsch |
931
+ | CZ | Ceco | Cestina |
932
+ | ES | Spagnolo | Espanol |
933
+ | FR | Francese | Francais |
934
+ | IT | Italiano | Italiano |
935
+ | NL | Olandese | Nederlands |
936
+ | PT | Portoghese | Portugues |
937
+ | RU | Russo | Russkiy |
938
+ | UKR | Ucraino | Ukrayinska |
939
+ | ZH | Cinese | Zhongwen |
940
+
941
+ ## Per Iniziare
942
+
943
+ ### Passo 1: Inizializza il Workspace
944
+
945
+ Usa lo strumento \`arc42-init\` per creare il tuo workspace di documentazione:
946
+
947
+ \`\`\`
948
+ arc42-init(projectName: "Il Mio Progetto", language: "IT")
949
+ \`\`\`
950
+
951
+ Puoi specificare una lingua diversa usando il codice ISO della lingua.
952
+
953
+ ### Passo 2: Controlla lo Stato
954
+
955
+ Usa \`arc42-status\` per vedere lo stato attuale della tua documentazione:
956
+
957
+ \`\`\`
958
+ arc42-status()
959
+ \`\`\`
960
+
961
+ ### Passo 3: Genera Template per le Sezioni
962
+
963
+ Usa \`generate-template\` per ottenere template dettagliati per ogni sezione:
964
+
965
+ \`\`\`
966
+ generate-template(section: "01_introduction_and_goals", language: "IT")
967
+ \`\`\`
968
+
969
+ ## Le 12 Sezioni arc42
970
+
971
+ 1. **Introduzione e Obiettivi** - Inizia da qui! Definisci cosa stai costruendo e perche.
972
+ 2. **Vincoli dell'Architettura** - Cosa NON puoi fare?
973
+ 3. **Contesto e Ambito** - Cosa e dentro e cosa e fuori?
974
+ 4. **Strategia di Soluzione** - Approccio di alto livello per risolvere il problema.
975
+ 5. **Vista dei Building Block** - Struttura statica del tuo sistema.
976
+ 6. **Vista Runtime** - Comportamento dinamico e scenari.
977
+ 7. **Vista di Deployment** - Come viene deployato e operato?
978
+ 8. **Concetti Trasversali** - Pattern usati in tutto il sistema.
979
+ 9. **Decisioni Architetturali** - Decisioni importanti e le loro motivazioni.
980
+ 10. **Requisiti di Qualita** - Scenari di qualita concreti.
981
+ 11. **Rischi e Debito Tecnico** - Cosa potrebbe andare storto?
982
+ 12. **Glossario** - Definisci i tuoi termini.
983
+
984
+ ## Best Practice
985
+
986
+ 1. **Inizia dalla Sezione 1** - Comprendere gli obiettivi e fondamentale
987
+ 2. **Mantienilo conciso** - arc42 e pragmatico, non burocratico
988
+ 3. **Usa diagrammi** - Un'immagine vale piu di mille parole
989
+ 4. **Documenta le decisioni** - Il te stesso del futuro ti ringraziera
990
+ 5. **Itera** - La documentazione dell'architettura non e mai "finita"
991
+
992
+ ## Strumenti Disponibili
993
+
994
+ - \`arc42-init\` - Inizializza il workspace di documentazione
995
+ - \`arc42-status\` - Controlla lo stato della documentazione
996
+ - \`generate-template\` - Genera template per le sezioni
997
+ - \`update-section\` - Aggiorna il contenuto delle sezioni
998
+ - \`get-section\` - Leggi il contenuto delle sezioni
999
+ - \`arc42-workflow-guide\` - Mostra questa guida
1000
+
1001
+ ## Risorse
1002
+
1003
+ - [Sito web arc42](https://arc42.org/)
1004
+ - [Documentazione arc42](https://docs.arc42.org/)
1005
+ - [Esempi arc42](https://arc42.org/examples)
1006
+ `;
1007
+ }
1008
+ /**
1009
+ * Get the Italian README content
1010
+ */
1011
+ export function getReadmeContent(projectName) {
1012
+ const name = projectName || 'Progetto';
1013
+ return `# ${name} - Documentazione dell'Architettura
1014
+
1015
+ Questa directory contiene la documentazione dell'architettura per ${name}, basata sul template arc42.
1016
+
1017
+ ## Struttura
1018
+
1019
+ - \`sections/\` - File markdown delle singole sezioni (12 sezioni)
1020
+ - \`images/\` - Diagrammi e immagini
1021
+ - \`arc42-documentation.md\` - Documentazione principale combinata
1022
+ - \`config.yaml\` - Configurazione
1023
+
1024
+ ## Le 12 Sezioni arc42
1025
+
1026
+ 1. **Introduzione e Obiettivi** - Requisiti, obiettivi di qualita, stakeholder
1027
+ 2. **Vincoli dell'Architettura** - Vincoli tecnici e organizzativi
1028
+ 3. **Contesto e Ambito** - Contesto di business e tecnico
1029
+ 4. **Strategia di Soluzione** - Decisioni e strategie fondamentali
1030
+ 5. **Vista dei Building Block** - Decomposizione statica
1031
+ 6. **Vista Runtime** - Comportamento dinamico
1032
+ 7. **Vista di Deployment** - Infrastruttura e deployment
1033
+ 8. **Concetti Trasversali** - Regole e approcci trasversali
1034
+ 9. **Decisioni Architetturali** - Decisioni importanti (ADR)
1035
+ 10. **Requisiti di Qualita** - Albero della qualita e scenari
1036
+ 11. **Rischi e Debito Tecnico** - Problemi noti e rischi
1037
+ 12. **Glossario** - Termini importanti
1038
+
1039
+ ## Per Iniziare
1040
+
1041
+ 1. Inizia dalla Sezione 1: Introduzione e Obiettivi
1042
+ 2. Lavora attraverso le sezioni iterativamente
1043
+ 3. Usa diagrammi per illustrare i concetti
1044
+ 4. Concentrati sulle decisioni, non sui dettagli implementativi
1045
+
1046
+ ## Generare la Documentazione
1047
+
1048
+ Usa gli strumenti MCP per:
1049
+ - Controllare lo stato: \`arc42-status\`
1050
+ - Generare template: \`generate-template\`
1051
+ - Aggiornare sezioni: \`update-section\`
1052
+
1053
+ ## Risorse
1054
+
1055
+ - [Sito web arc42](https://arc42.org/)
1056
+ - [Documentazione arc42](https://docs.arc42.org/)
1057
+ - [Esempi arc42](https://arc42.org/examples)
1058
+ `;
1059
+ }
1060
+ //# sourceMappingURL=templates.js.map