@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
+ * German Templates
3
+ *
4
+ * Contains all arc42 section templates in German.
5
+ * Based on the official arc42 German template from vendor/arc42-template/DE/.
6
+ *
7
+ * @module templates/locales/de/templates
8
+ */
9
+ /**
10
+ * Get the German 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. Einführung und Ziele
31
+
32
+ ## Aufgabenstellung
33
+
34
+ **Zweck**: Beschreibt die wesentlichen Anforderungen und treibenden Kräfte, die bei der Umsetzung der Softwarearchitektur und Entwicklung des Systems berücksichtigt werden müssen.
35
+
36
+ ### Wesentliche Anforderungen
37
+
38
+ <!-- Listen Sie die Top 3-5 funktionalen Anforderungen auf -->
39
+
40
+ | ID | Anforderung | Priorität |
41
+ |----|-------------|-----------|
42
+ | ANF-1 | [Kurzbeschreibung] | Hoch |
43
+ | ANF-2 | [Kurzbeschreibung] | Mittel |
44
+
45
+ ### Features
46
+
47
+ <!-- Wesentliche Features des Systems -->
48
+
49
+ - Feature 1: [Beschreibung]
50
+ - Feature 2: [Beschreibung]
51
+
52
+ ## Qualitätsziele
53
+
54
+ **Zweck**: Die Top-3 bis Top-5 der Qualitätsanforderungen für die Architektur, deren Erfüllung den maßgeblichen Stakeholdern besonders wichtig sind.
55
+
56
+ <!-- Basierend auf ISO 25010, priorisieren Sie Qualitäten wie: -->
57
+ <!-- Performanz, Sicherheit, Zuverlässigkeit, Wartbarkeit, Benutzbarkeit, etc. -->
58
+
59
+ | Priorität | Qualitätsziel | Motivation |
60
+ |-----------|---------------|------------|
61
+ | 1 | [z.B. Performanz] | [Warum dies kritisch ist] |
62
+ | 2 | [z.B. Sicherheit] | [Warum dies kritisch ist] |
63
+ | 3 | [z.B. Wartbarkeit] | [Warum dies kritisch ist] |
64
+
65
+ ## Stakeholder
66
+
67
+ **Zweck**: Expliziter Überblick über die Stakeholder des Systems.
68
+
69
+ | Rolle/Name | Kontakt | Erwartungshaltung |
70
+ |------------|---------|-------------------|
71
+ | Product Owner | [Name/Email] | [Erwartungen an die Architektur] |
72
+ | Entwicklungsteam | [Teamname] | [Was sie wissen müssen] |
73
+ | Betrieb | [Team/Person] | [Deployment- und Betriebsbelange] |
74
+ | Endbenutzer | [Typ] | [Erwartungen an die Benutzererfahrung] |
75
+
76
+ ## Erfolgskriterien
77
+
78
+ <!-- Was definiert den Erfolg dieses Systems? -->
79
+
80
+ - [ ] Kriterium 1
81
+ - [ ] Kriterium 2
82
+ - [ ] Kriterium 3
83
+ `;
84
+ }
85
+ function getArchitectureConstraintsTemplate() {
86
+ return `# 2. Randbedingungen
87
+
88
+ ## Technische Randbedingungen
89
+
90
+ **Hardware-Randbedingungen**
91
+
92
+ | Randbedingung | Hintergrund/Motivation |
93
+ |---------------|------------------------|
94
+ | [z.B. Cloud-Plattform] | [Warum diese Randbedingung existiert] |
95
+
96
+ **Software/Technologie-Randbedingungen**
97
+
98
+ | Randbedingung | Hintergrund/Motivation |
99
+ |---------------|------------------------|
100
+ | [z.B. Java 17+ erforderlich] | [Grund für die Randbedingung] |
101
+ | [z.B. PostgreSQL erforderlich] | [Warum dies gewählt wurde] |
102
+
103
+ **Programmierrichtlinien**
104
+
105
+ - Programmiersprache: [Sprache]
106
+ - Framework: [Framework und Version]
107
+ - Bibliotheken: [Pflicht- oder verbotene Bibliotheken]
108
+
109
+ ## Organisatorische Randbedingungen
110
+
111
+ **Organisation und Struktur**
112
+
113
+ | Randbedingung | Hintergrund/Motivation |
114
+ |---------------|------------------------|
115
+ | [z.B. Teamstruktur] | [Wie dies die Architektur beeinflusst] |
116
+ | [z.B. Agile Methodik] | [Auswirkungen auf den Entwicklungsprozess] |
117
+
118
+ **Ressourcen**
119
+
120
+ - Budget: [Budgetbeschränkungen]
121
+ - Zeit: [Zeitliche Randbedingungen]
122
+ - Team: [Teamgröße und -fähigkeiten]
123
+
124
+ ## Konventionen
125
+
126
+ **Architektur- und Design-Konventionen**
127
+
128
+ - [z.B. Microservices-Architekturmuster]
129
+ - [z.B. RESTful API-Design]
130
+ - [z.B. Domain-Driven Design]
131
+
132
+ **Coding-Konventionen**
133
+
134
+ - Code-Stil: [Link zum Styleguide]
135
+ - Dokumentation: [Dokumentationsstandards]
136
+ - Tests: [Testanforderungen]
137
+
138
+ **Compliance-Anforderungen**
139
+
140
+ - [z.B. DSGVO-Konformität]
141
+ - [z.B. Branchenspezifische Vorschriften]
142
+ - [z.B. Barrierefreiheitsstandards]
143
+ `;
144
+ }
145
+ function getContextAndScopeTemplate() {
146
+ return `# 3. Kontextabgrenzung
147
+
148
+ ## Fachlicher Kontext
149
+
150
+ **Zweck**: Zeigt die fachliche Umgebung des Systems und die wichtigsten externen Abhängigkeiten.
151
+
152
+ ### Kontextdiagramm
153
+
154
+ \`\`\`
155
+ [Erstellen Sie ein Diagramm, das Ihr System und externe Systeme/Benutzer zeigt]
156
+ Sie können verwenden:
157
+ - Mermaid-Diagramme
158
+ - PlantUML
159
+ - ASCII-Art
160
+ - Oder referenzieren Sie ein Bild in /images/
161
+ \`\`\`
162
+
163
+ ### Externe Schnittstellen
164
+
165
+ | Externes System | Schnittstelle | Zweck |
166
+ |-----------------|---------------|-------|
167
+ | [Externes System 1] | [API/Protokoll] | [Welche Daten/Funktionen ausgetauscht werden] |
168
+ | [Benutzertyp 1] | [UI/API] | [Wie Benutzer interagieren] |
169
+
170
+ ### Unterstützte Geschäftsprozesse
171
+
172
+ <!-- Welche Geschäftsprozesse unterstützt dieses System? -->
173
+
174
+ 1. **Prozess 1**: [Beschreibung]
175
+ - Akteure: [Wer ist beteiligt]
176
+ - Ablauf: [High-Level Ablauf]
177
+
178
+ 2. **Prozess 2**: [Beschreibung]
179
+
180
+ ## Technischer Kontext
181
+
182
+ **Zweck**: Zeigt technische Schnittstellen und Kanäle zwischen System und Umgebung.
183
+
184
+ ### Technische Schnittstellen
185
+
186
+ | Schnittstelle | Technologie | Protokoll | Format |
187
+ |---------------|-------------|-----------|--------|
188
+ | [API 1] | [REST API] | [HTTPS] | [JSON] |
189
+ | [Datenbank] | [PostgreSQL] | [TCP/IP] | [SQL] |
190
+
191
+ ### Kanäle und Übertragung
192
+
193
+ | Kanal | Technologie | Beschreibung |
194
+ |-------|-------------|--------------|
195
+ | [Message Queue] | [RabbitMQ] | [Asynchrone Kommunikation zwischen Services] |
196
+
197
+ ### Mapping: Fachlich auf Technisch
198
+
199
+ | Fachlicher Kontext | Technische Realisierung |
200
+ |--------------------|------------------------|
201
+ | [Benutzeroberfläche] | [React SPA über HTTPS] |
202
+ | [Externes System A] | [REST API über HTTPS] |
203
+ `;
204
+ }
205
+ function getSolutionStrategyTemplate() {
206
+ return `# 4. Lösungsstrategie
207
+
208
+ **Zweck**: Fasst die grundlegenden Entscheidungen und Lösungsstrategien zusammen, die die Systemarchitektur prägen.
209
+
210
+ ## Zentrale Lösungsentscheidungen
211
+
212
+ ### Architekturmuster
213
+
214
+ | Muster | Motivation | Konsequenzen |
215
+ |--------|------------|--------------|
216
+ | [z.B. Microservices] | [Warum dieses Muster gewählt wurde] | [Vorteile und Kompromisse] |
217
+
218
+ ### Technologieentscheidungen
219
+
220
+ | Komponente | Technologie | Grund |
221
+ |------------|-------------|-------|
222
+ | Backend | [z.B. Node.js] | [Warum dies gewählt wurde] |
223
+ | Frontend | [z.B. React] | [Gründe] |
224
+ | Datenbank | [z.B. PostgreSQL] | [Gründe] |
225
+
226
+ ### Top-Level Zerlegung
227
+
228
+ <!-- Wie ist das System auf höchster Ebene strukturiert? -->
229
+
230
+ \`\`\`
231
+ [High-Level Komponentendiagramm]
232
+ \`\`\`
233
+
234
+ Beschreibung:
235
+ - Komponente 1: [Zweck und Verantwortlichkeit]
236
+ - Komponente 2: [Zweck und Verantwortlichkeit]
237
+
238
+ ## Erreichen der Qualitätsziele
239
+
240
+ ### Mapping: Qualitätsziele auf Lösungsansätze
241
+
242
+ | Qualitätsziel | Lösungsansatz |
243
+ |---------------|---------------|
244
+ | [Performanz] | [Caching-Strategie, asynchrone Verarbeitung, CDN] |
245
+ | [Sicherheit] | [Authentifizierung, Autorisierung, Verschlüsselung] |
246
+ | [Skalierbarkeit] | [Horizontale Skalierung, Load Balancing] |
247
+
248
+ ### Zentrale Designentscheidungen
249
+
250
+ 1. **Entscheidung 1**: [z.B. Event-driven Architektur]
251
+ - Grund: [Warum dieser Ansatz]
252
+ - Auswirkung: [Wie es hilft, Qualitätsziele zu erreichen]
253
+
254
+ 2. **Entscheidung 2**: [Beschreibung]
255
+ - Grund: [Begründung]
256
+ - Auswirkung: [Auswirkungen auf Qualitätsziele]
257
+
258
+ ## Entwicklungsstrategie
259
+
260
+ - Entwicklungsansatz: [Agil, Scrum, etc.]
261
+ - Deployment-Strategie: [CI/CD, Blue-Green, etc.]
262
+ - Teststrategie: [Unit, Integration, E2E]
263
+ `;
264
+ }
265
+ function getBuildingBlockViewTemplate() {
266
+ return `# 5. Bausteinsicht
267
+
268
+ **Zweck**: Statische Zerlegung des Systems in Bausteine und deren Beziehungen.
269
+
270
+ ## Ebene 1: Systemkontext
271
+
272
+ ### Whitebox: Gesamtsystem
273
+
274
+ **Zweck**: [Was macht das System]
275
+
276
+ \`\`\`
277
+ [Komponentendiagramm mit den wichtigsten Bausteinen]
278
+ \`\`\`
279
+
280
+ **Enthaltene Bausteine**:
281
+
282
+ | Komponente | Verantwortlichkeit |
283
+ |------------|-------------------|
284
+ | [Komponente 1] | [Was sie tut] |
285
+ | [Komponente 2] | [Was sie tut] |
286
+
287
+ **Wichtige Schnittstellen**:
288
+
289
+ | Schnittstelle | Beschreibung |
290
+ |---------------|--------------|
291
+ | [API 1] | [Zweck und Protokoll] |
292
+
293
+ ## Ebene 2: Komponentendetails
294
+
295
+ ### Komponente 1 (Whitebox)
296
+
297
+ **Zweck**: [Detaillierter Zweck]
298
+
299
+ **Schnittstellen**:
300
+ - Eingabe: [Was sie empfängt]
301
+ - Ausgabe: [Was sie produziert]
302
+
303
+ **Interne Struktur**:
304
+
305
+ \`\`\`
306
+ [Diagramm der internen Module/Klassen]
307
+ \`\`\`
308
+
309
+ **Enthaltene Elemente**:
310
+
311
+ | Element | Verantwortlichkeit |
312
+ |---------|-------------------|
313
+ | [Modul A] | [Zweck] |
314
+ | [Modul B] | [Zweck] |
315
+
316
+ ### Komponente 2 (Whitebox)
317
+
318
+ [Ähnliche Struktur]
319
+
320
+ ## Ebene 3: Detailansichten
321
+
322
+ <!-- Nur Ebene 3 für Komponenten einbeziehen, die zusätzliche Details benötigen -->
323
+
324
+ ### Modul A Details
325
+
326
+ [Detaillierte Klassendiagramme, Paketstruktur, etc.]
327
+ `;
328
+ }
329
+ function getRuntimeViewTemplate() {
330
+ return `# 6. Laufzeitsicht
331
+
332
+ **Zweck**: Zeigt das Verhalten und die Interaktion der Bausteine zur Laufzeit.
333
+
334
+ ## Wichtige Szenarien
335
+
336
+ ### Szenario 1: [Name, z.B. "Benutzer-Login"]
337
+
338
+ **Beschreibung**: [Was in diesem Szenario passiert]
339
+
340
+ **Sequenzdiagramm**:
341
+
342
+ \`\`\`mermaid
343
+ sequenceDiagram
344
+ participant Benutzer
345
+ participant Frontend
346
+ participant API
347
+ participant Datenbank
348
+
349
+ Benutzer->>Frontend: Anmeldedaten eingeben
350
+ Frontend->>API: POST /login
351
+ API->>Datenbank: Anmeldedaten validieren
352
+ Datenbank-->>API: Benutzerdaten
353
+ API-->>Frontend: JWT-Token
354
+ Frontend-->>Benutzer: Anmeldung erfolgreich
355
+ \`\`\`
356
+
357
+ **Schritte**:
358
+
359
+ 1. Benutzer gibt Anmeldedaten ein
360
+ 2. Frontend sendet Login-Anfrage
361
+ 3. API validiert mit Datenbank
362
+ 4. Token wird generiert und zurückgegeben
363
+ 5. Benutzer ist authentifiziert
364
+
365
+ ### Szenario 2: [Name]
366
+
367
+ [Ähnliche Struktur]
368
+
369
+ ## Datenfluss
370
+
371
+ ### Fluss 1: [Name]
372
+
373
+ **Zweck**: [Welche Daten wohin fließen]
374
+
375
+ **Diagramm**:
376
+
377
+ \`\`\`
378
+ [Datenflussdiagramm]
379
+ \`\`\`
380
+
381
+ **Beschreibung**:
382
+ - Schritt 1: [Was passiert]
383
+ - Schritt 2: [Was passiert]
384
+
385
+ ## Zustandsautomaten
386
+
387
+ ### Zustandsautomat für [Entität]
388
+
389
+ **Zustände**:
390
+ - Zustand 1: [Beschreibung]
391
+ - Zustand 2: [Beschreibung]
392
+
393
+ **Übergänge**:
394
+
395
+ | Von | Ereignis | Nach | Aktion |
396
+ |-----|----------|------|--------|
397
+ | [Zustand 1] | [Ereignis] | [Zustand 2] | [Was passiert] |
398
+ `;
399
+ }
400
+ function getDeploymentViewTemplate() {
401
+ return `# 7. Verteilungssicht
402
+
403
+ **Zweck**: Beschreibt die technische Infrastruktur und wie Software verteilt wird.
404
+
405
+ ## Infrastrukturübersicht
406
+
407
+ ### Verteilungsdiagramm
408
+
409
+ \`\`\`
410
+ [Diagramm mit Servern, Containern, Netzwerken]
411
+ \`\`\`
412
+
413
+ ## Umgebungen
414
+
415
+ ### Produktionsumgebung
416
+
417
+ **Infrastruktur**:
418
+
419
+ | Komponente | Technologie | Konfiguration |
420
+ |------------|-------------|---------------|
421
+ | [Anwendungsserver] | [AWS ECS] | [Spezifikationen] |
422
+ | [Datenbank] | [RDS PostgreSQL] | [Spezifikationen] |
423
+ | [Cache] | [Redis] | [Spezifikationen] |
424
+
425
+ **Netzwerk**:
426
+ - VPC: [Konfiguration]
427
+ - Subnetze: [Public/Private Setup]
428
+ - Security Groups: [Regeln]
429
+
430
+ ### Staging-Umgebung
431
+
432
+ [Ähnliche Struktur]
433
+
434
+ ### Entwicklungsumgebung
435
+
436
+ [Ähnliche Struktur]
437
+
438
+ ## Deployment-Strategie
439
+
440
+ ### CI/CD Pipeline
441
+
442
+ 1. **Build**: [Was passiert]
443
+ 2. **Test**: [Automatisierte Tests]
444
+ 3. **Deploy**: [Deployment-Prozess]
445
+
446
+ ### Rollback-Strategie
447
+
448
+ [Wie Deployments zurückgerollt werden]
449
+
450
+ ## Skalierungsstrategie
451
+
452
+ ### Horizontale Skalierung
453
+
454
+ | Komponente | Skalierungsauslöser | Max. Instanzen |
455
+ |------------|---------------------|----------------|
456
+ | [API-Server] | [CPU > 70%] | [10] |
457
+
458
+ ### Vertikale Skalierung
459
+
460
+ [Wann und wie vertikal skaliert wird]
461
+
462
+ ## Monitoring und Betrieb
463
+
464
+ ### Health Checks
465
+
466
+ | Komponente | Prüfung | Schwellwert |
467
+ |------------|---------|-------------|
468
+ | [API] | [/health Endpunkt] | [Antwortzeit < 1s] |
469
+
470
+ ### Logging
471
+
472
+ - Log-Aggregation: [ELK, CloudWatch, etc.]
473
+ - Log-Aufbewahrung: [Richtlinie]
474
+
475
+ ### Metriken
476
+
477
+ - Wichtige Metriken: [CPU, Speicher, Anfragerate]
478
+ - Alerting: [Alert-Bedingungen]
479
+ `;
480
+ }
481
+ function getConceptsTemplate() {
482
+ return `# 8. Querschnittliche Konzepte
483
+
484
+ **Zweck**: Übergreifende Regelungen und Lösungsideen, die in mehreren Teilen des Systems relevant sind.
485
+
486
+ ## Domänenmodelle
487
+
488
+ ### Zentrale Domänenkonzepte
489
+
490
+ \`\`\`
491
+ [Domänenmodell-Diagramm oder Klassendiagramm]
492
+ \`\`\`
493
+
494
+ **Wichtige Entitäten**:
495
+
496
+ | Entität | Verantwortlichkeit | Beziehungen |
497
+ |---------|-------------------|-------------|
498
+ | [Entität 1] | [Zweck] | [Verwandte Entitäten] |
499
+
500
+ ## Sicherheit
501
+
502
+ ### Authentifizierung
503
+
504
+ - Methode: [JWT, OAuth2, etc.]
505
+ - Implementierung: [Wie es funktioniert]
506
+
507
+ ### Autorisierung
508
+
509
+ - Modell: [RBAC, ABAC, etc.]
510
+ - Rollen: [Liste der Rollen und Berechtigungen]
511
+
512
+ ### Datenschutz
513
+
514
+ - Verschlüsselung at rest: [Wie]
515
+ - Verschlüsselung in transit: [TLS-Version]
516
+ - Umgang mit sensiblen Daten: [Ansatz]
517
+
518
+ ## Fehlerbehandlung
519
+
520
+ ### Fehlerkategorien
521
+
522
+ | Kategorie | Behandlungsstrategie |
523
+ |-----------|---------------------|
524
+ | [Validierungsfehler] | [400 mit Details zurückgeben] |
525
+ | [Systemfehler] | [Loggen und 500 zurückgeben] |
526
+
527
+ ### Fehlerantwort-Format
528
+
529
+ \`\`\`json
530
+ {
531
+ "error": {
532
+ "code": "ERROR_CODE",
533
+ "message": "Lesbare Nachricht",
534
+ "details": {}
535
+ }
536
+ }
537
+ \`\`\`
538
+
539
+ ## Logging und Monitoring
540
+
541
+ ### Logging-Strategie
542
+
543
+ - Log-Level: [DEBUG, INFO, WARN, ERROR]
544
+ - Strukturiertes Logging: [JSON-Format]
545
+ - Korrelations-IDs: [Für Request-Tracing]
546
+
547
+ ### Monitoring
548
+
549
+ - APM: [Application Performance Monitoring Tool]
550
+ - Metriken: [Wichtige Geschäfts- und technische Metriken]
551
+
552
+ ## Konfigurationsmanagement
553
+
554
+ ### Konfigurationsquellen
555
+
556
+ 1. Umgebungsvariablen
557
+ 2. Konfigurationsdateien
558
+ 3. Secret Management: [Vault, AWS Secrets Manager]
559
+
560
+ ### Konfiguration nach Umgebung
561
+
562
+ | Einstellung | Dev | Staging | Prod |
563
+ |-------------|-----|---------|------|
564
+ | [Log-Level] | [DEBUG] | [INFO] | [WARN] |
565
+
566
+ ## Teststrategie
567
+
568
+ ### Testebenen
569
+
570
+ | Ebene | Abdeckung | Tools |
571
+ |-------|-----------|-------|
572
+ | Unit Tests | [Ziel %] | [Framework] |
573
+ | Integrationstests | [Umfang] | [Tools] |
574
+ | E2E-Tests | [Wichtige Flows] | [Tools] |
575
+
576
+ ### Testdaten-Management
577
+
578
+ [Wie Testdaten erstellt und verwaltet werden]
579
+
580
+ ## Entwicklungskonzepte
581
+
582
+ ### Code-Organisation
583
+
584
+ - Paketstruktur: [Ansatz]
585
+ - Namenskonventionen: [Standards]
586
+
587
+ ### Build- und Dependency-Management
588
+
589
+ - Build-Tool: [Maven, Gradle, npm, etc.]
590
+ - Dependency-Management: [Strategie]
591
+
592
+ ## Betriebskonzepte
593
+
594
+ ### Backup und Recovery
595
+
596
+ - Backup-Frequenz: [Täglich, stündlich, etc.]
597
+ - Aufbewahrung: [Richtlinie]
598
+ - Recovery-Prozedur: [Schritte]
599
+
600
+ ### Disaster Recovery
601
+
602
+ - RTO: [Recovery Time Objective]
603
+ - RPO: [Recovery Point Objective]
604
+ - DR-Strategie: [Ansatz]
605
+ `;
606
+ }
607
+ function getArchitectureDecisionsTemplate() {
608
+ return `# 9. Architekturentscheidungen
609
+
610
+ **Zweck**: Dokumentiert wichtige, teure, kritische oder riskante Architekturentscheidungen einschließlich Begründung.
611
+
612
+ ## ADR-Format
613
+
614
+ Jede Entscheidung folgt dieser Struktur:
615
+ - **Kontext**: Was ist das Problem, das wir angehen?
616
+ - **Entscheidung**: Was wir beschlossen haben zu tun
617
+ - **Konsequenzen**: Was dadurch einfacher oder schwieriger wird
618
+
619
+ ## Entscheidungsprotokoll
620
+
621
+ ### ADR-001: [Entscheidungstitel]
622
+
623
+ **Datum**: [JJJJ-MM-TT]
624
+ **Status**: [Vorgeschlagen | Akzeptiert | Veraltet | Abgelöst]
625
+ **Entscheider**: [Namen]
626
+
627
+ **Kontext**:
628
+
629
+ [Beschreiben Sie die wirkenden Kräfte, technisch, politisch, sozial und projektspezifisch. Diese Kräfte stehen wahrscheinlich in Spannung zueinander und sollten als solche benannt werden.]
630
+
631
+ **Entscheidung**:
632
+
633
+ [Beschreiben Sie unsere Reaktion auf diese Kräfte. Hier treffen wir unsere Entscheidung.]
634
+
635
+ **Konsequenzen**:
636
+
637
+ Positiv:
638
+ - [Vorteil 1]
639
+ - [Vorteil 2]
640
+
641
+ Negativ:
642
+ - [Kompromiss 1]
643
+ - [Kompromiss 2]
644
+
645
+ Risiken:
646
+ - [Risiko 1 und Mitigation]
647
+
648
+ ### ADR-002: [Weitere Entscheidung]
649
+
650
+ [Ähnliche Struktur]
651
+
652
+ ## Entscheidungskategorien
653
+
654
+ ### Strukturelle Entscheidungen
655
+
656
+ | Entscheidung | Begründung | Datum |
657
+ |--------------|------------|-------|
658
+ | [Microservices vs Monolith] | [Warum gewählt] | [Datum] |
659
+
660
+ ### Technologieentscheidungen
661
+
662
+ | Komponente | Technologie | Betrachtete Alternative | Warum gewählt |
663
+ |------------|-------------|------------------------|---------------|
664
+ | [Backend] | [Node.js] | [Python, Java] | [Gründe] |
665
+
666
+ ### Prozessentscheidungen
667
+
668
+ | Entscheidung | Auswirkung | Datum |
669
+ |--------------|------------|-------|
670
+ | [Agile Methodik] | [Wie es die Architektur beeinflusst] | [Datum] |
671
+
672
+ ## Veraltete Entscheidungen
673
+
674
+ | Entscheidung | Datum veraltet | Grund | Abgelöst durch |
675
+ |--------------|----------------|-------|----------------|
676
+ | [Alte Entscheidung] | [Datum] | [Warum veraltet] | [ADR-XXX] |
677
+ `;
678
+ }
679
+ function getQualityRequirementsTemplate() {
680
+ return `# 10. Qualitätsanforderungen
681
+
682
+ **Zweck**: Definiert Qualitätsanforderungen mit konkreten Szenarien.
683
+
684
+ ## Qualitätsbaum
685
+
686
+ ### Top-Level Qualitätsziele
687
+
688
+ \`\`\`
689
+ Qualität
690
+ ├── Performanz
691
+ │ ├── Antwortzeit
692
+ │ └── Durchsatz
693
+ ├── Sicherheit
694
+ │ ├── Authentifizierung
695
+ │ └── Datenschutz
696
+ ├── Zuverlässigkeit
697
+ │ ├── Verfügbarkeit
698
+ │ └── Fehlertoleranz
699
+ └── Wartbarkeit
700
+ ├── Testbarkeit
701
+ └── Modifizierbarkeit
702
+ \`\`\`
703
+
704
+ ## Qualitätsszenarien
705
+
706
+ ### Performanz-Szenarien
707
+
708
+ **Szenario 1: Normale Last Antwortzeit**
709
+
710
+ | Aspekt | Beschreibung |
711
+ |--------|--------------|
712
+ | Szenario | Benutzer fragt Daten unter normaler Last ab |
713
+ | Quelle | Endbenutzer |
714
+ | Stimulus | HTTP-Anfrage an API |
715
+ | Umgebung | Normaler Betrieb, 100 gleichzeitige Benutzer |
716
+ | Antwort | System gibt Daten zurück |
717
+ | Maß | 95. Perzentil Antwortzeit < 200ms |
718
+
719
+ **Szenario 2: Spitzenlast-Handling**
720
+
721
+ | Aspekt | Beschreibung |
722
+ |--------|--------------|
723
+ | Szenario | System unter Spitzenlast |
724
+ | Quelle | Mehrere Benutzer |
725
+ | Stimulus | 1000 gleichzeitige Anfragen |
726
+ | Umgebung | Spitzenzeiten |
727
+ | Antwort | System verarbeitet alle Anfragen |
728
+ | Maß | Keine Anfrage schlägt fehl, Antwortzeit < 1s |
729
+
730
+ ### Sicherheits-Szenarien
731
+
732
+ **Szenario 3: Unberechtigter Zugriffsversuch**
733
+
734
+ | Aspekt | Beschreibung |
735
+ |--------|--------------|
736
+ | Szenario | Unberechtigter Benutzer versucht auf geschützte Ressource zuzugreifen |
737
+ | Quelle | Externer Angreifer |
738
+ | Stimulus | HTTP-Anfrage ohne gültiges Token |
739
+ | Umgebung | Normaler Betrieb |
740
+ | Antwort | System verweigert Zugriff |
741
+ | Maß | Gibt 401 zurück, protokolliert Versuch, keine Daten exponiert |
742
+
743
+ ### Zuverlässigkeits-Szenarien
744
+
745
+ **Szenario 4: Service-Ausfall Recovery**
746
+
747
+ | Aspekt | Beschreibung |
748
+ |--------|--------------|
749
+ | Szenario | Datenbankverbindung schlägt fehl |
750
+ | Quelle | Infrastrukturausfall |
751
+ | Stimulus | Datenbank wird nicht verfügbar |
752
+ | Umgebung | Normaler Betrieb |
753
+ | Antwort | System arbeitet mit gecachten Daten weiter |
754
+ | Maß | Service-Degradation < 5%, Recovery < 30s |
755
+
756
+ ### Wartbarkeits-Szenarien
757
+
758
+ **Szenario 5: Neues Feature hinzufügen**
759
+
760
+ | Aspekt | Beschreibung |
761
+ |--------|--------------|
762
+ | Szenario | Entwickler fügt neuen API-Endpunkt hinzu |
763
+ | Quelle | Entwicklungsteam |
764
+ | Stimulus | Neue Anforderung |
765
+ | Umgebung | Entwicklung |
766
+ | Antwort | Feature wird hinzugefügt |
767
+ | Maß | < 2 Tage, < 5 Dateien modifiziert, Tests bestehen |
768
+
769
+ ## Qualitätsanforderungen Priorisierung
770
+
771
+ | Qualitätsattribut | Priorität | Zielmaß |
772
+ |-------------------|-----------|---------|
773
+ | Verfügbarkeit | Hoch | 99,9% Uptime |
774
+ | Antwortzeit | Hoch | < 200ms (p95) |
775
+ | Sicherheit | Kritisch | Null Datenverletzungen |
776
+ | Wartbarkeit | Mittel | Testabdeckung > 80% |
777
+ | Benutzbarkeit | Mittel | Benutzeraufgaben-Erfolg > 95% |
778
+ `;
779
+ }
780
+ function getTechnicalRisksTemplate() {
781
+ return `# 11. Risiken und technische Schulden
782
+
783
+ **Zweck**: Dokumentiert bekannte Probleme, Risiken und technische Schulden.
784
+
785
+ ## Risiken
786
+
787
+ ### Risikobewertungsmatrix
788
+
789
+ | Risiko | Wahrscheinlichkeit | Auswirkung | Schwere | Status |
790
+ |--------|-------------------|------------|---------|--------|
791
+ | [Risiko 1] | [Hoch/Mittel/Niedrig] | [Hoch/Mittel/Niedrig] | [Kritisch/Hoch/Mittel/Niedrig] | [Offen/Gemildert] |
792
+
793
+ ### Detaillierte Risiken
794
+
795
+ **Risiko 1: [Risikotitel]**
796
+
797
+ - **Beschreibung**: [Was ist das Risiko]
798
+ - **Wahrscheinlichkeit**: [Hoch/Mittel/Niedrig]
799
+ - **Auswirkung**: [Hoch/Mittel/Niedrig - und was passiert]
800
+ - **Mitigation**: [Was wir dagegen tun]
801
+ - **Notfallplan**: [Plan falls Risiko eintritt]
802
+ - **Verantwortlicher**: [Wer ist verantwortlich]
803
+ - **Status**: [Offen/Wird gemildert/Geschlossen]
804
+
805
+ **Risiko 2: [Titel]**
806
+
807
+ [Ähnliche Struktur]
808
+
809
+ ## Technische Schulden
810
+
811
+ ### Schulden-Einträge
812
+
813
+ | Eintrag | Typ | Auswirkung | Aufwand | Priorität |
814
+ |---------|-----|------------|---------|-----------|
815
+ | [Schuld 1] | [Code/Architektur/Testing] | [Hoch/Mittel/Niedrig] | [Tage] | [1-5] |
816
+
817
+ ### Detaillierte Schulden-Einträge
818
+
819
+ **Schuld 1: [Titel]**
820
+
821
+ - **Beschreibung**: [Was muss behoben werden]
822
+ - **Warum es existiert**: [Wie ist das passiert]
823
+ - **Auswirkung**: [Welche Probleme verursacht es]
824
+ - **Vorgeschlagene Lösung**: [Wie es zu beheben ist]
825
+ - **Aufwandsschätzung**: [Benötigte Zeit]
826
+ - **Priorität**: [Wann sollten wir es beheben]
827
+
828
+ ### Schuldenabbauplan
829
+
830
+ | Quartal | Zu adressierende Schulden | Erwartete Auswirkung |
831
+ |---------|---------------------------|---------------------|
832
+ | Q1 2024 | [Einträge 1, 2] | [Verbesserung in X] |
833
+
834
+ ## Bekannte Probleme
835
+
836
+ ### Offene Probleme
837
+
838
+ | Problem | Schwere | Workaround | Ziel-Behebungsdatum |
839
+ |---------|---------|------------|---------------------|
840
+ | [Problem 1] | [Hoch/Mittel/Niedrig] | [Falls vorhanden] | [Datum] |
841
+
842
+ ### Einschränkungen
843
+
844
+ | Einschränkung | Auswirkung | Begründung | Zukunftspläne |
845
+ |---------------|------------|------------|---------------|
846
+ | [Einschränkung 1] | [Effekt] | [Warum sie existiert] | [Wann/ob zu adressieren] |
847
+
848
+ ## Sicherheitslücken
849
+
850
+ ### Bekannte Schwachstellen
851
+
852
+ | CVE | Komponente | Schwere | Status | Mitigation |
853
+ |-----|------------|---------|--------|------------|
854
+ | [CVE-ID] | [Bibliothek] | [Kritisch/Hoch/Mittel] | [Offen/Behoben] | [Ergriffene Maßnahmen] |
855
+
856
+ ## Performanz-Probleme
857
+
858
+ | Problem | Auswirkung | Workaround | Lösungsplan |
859
+ |---------|------------|------------|-------------|
860
+ | [Problem] | [Auswirkung auf Benutzer] | [Temporäre Lösung] | [Permanente Lösung] |
861
+ `;
862
+ }
863
+ function getGlossaryTemplate() {
864
+ return `# 12. Glossar
865
+
866
+ **Zweck**: Definiert wichtige fachliche und technische Begriffe, um einheitliche Terminologie sicherzustellen.
867
+
868
+ ## Fachliche Begriffe
869
+
870
+ | Begriff | Definition |
871
+ |---------|------------|
872
+ | [Fachbegriff 1] | [Klare, präzise Definition] |
873
+ | [Fachbegriff 2] | [Definition] |
874
+
875
+ ## Technische Begriffe
876
+
877
+ | Begriff | Definition | Synonyme |
878
+ |---------|------------|----------|
879
+ | [Technischer Begriff 1] | [Definition] | [Alternative Namen] |
880
+ | [Technischer Begriff 2] | [Definition] | [Alternative Namen] |
881
+
882
+ ## Abkürzungen und Akronyme
883
+
884
+ | Abkürzung | Vollständiger Name | Kontext |
885
+ |-----------|-------------------|---------|
886
+ | API | Application Programming Interface | [Wann/wo verwendet] |
887
+ | SLA | Service Level Agreement | [Kontext] |
888
+ | JWT | JSON Web Token | [Verwendung] |
889
+
890
+ ## Geschäftskonzepte
891
+
892
+ | Konzept | Beschreibung | Verwandte Begriffe |
893
+ |---------|--------------|-------------------|
894
+ | [Konzept 1] | [Detaillierte Erklärung] | [Verwandte Konzepte] |
895
+
896
+ ## Systemspezifische Begriffe
897
+
898
+ | Begriff | Definition | Beispiel |
899
+ |---------|------------|----------|
900
+ | [Systembegriff 1] | [Was es in diesem System bedeutet] | [Verwendungsbeispiel] |
901
+
902
+ ## Veraltete Begriffe
903
+
904
+ | Alter Begriff | Ersetzt durch | Grund |
905
+ |---------------|---------------|-------|
906
+ | [Alter Begriff] | [Neuer Begriff] | [Warum geändert] |
907
+
908
+ ---
909
+
910
+ **Hinweis**: Halten Sie dieses Glossar aktuell, wenn neue Begriffe auftauchen. Verlinken Sie aus anderen Teilen der Dokumentation auf diesen Abschnitt, wenn diese Begriffe verwendet werden.
911
+ `;
912
+ }
913
+ /**
914
+ * Get the German workflow guide
915
+ */
916
+ export function getWorkflowGuide() {
917
+ return `# arc42 Architektur-Dokumentation Workflow-Leitfaden
918
+
919
+ ## Übersicht
920
+
921
+ Dieser Leitfaden hilft Ihnen, Ihre Softwarearchitektur mit dem arc42-Template zu dokumentieren. Das arc42-Template ist ein praktisches, bewährtes Template für die Dokumentation von Software- und Systemarchitekturen.
922
+
923
+ ## Verfügbare Sprachen
924
+
925
+ Dieser arc42 MCP Server unterstützt mehrere Sprachen für die Dokumentation:
926
+
927
+ | Code | Sprache | Nativname |
928
+ |------|---------|-----------|
929
+ | EN | Englisch | English |
930
+ | DE | Deutsch | Deutsch |
931
+ | CZ | Tschechisch | Čeština |
932
+ | ES | Spanisch | Español |
933
+ | FR | Französisch | Français |
934
+ | IT | Italienisch | Italiano |
935
+ | NL | Niederländisch | Nederlands |
936
+ | PT | Portugiesisch | Português |
937
+ | RU | Russisch | Русский |
938
+ | UKR | Ukrainisch | Українська |
939
+ | ZH | Chinesisch | 中文 |
940
+
941
+ ## Erste Schritte
942
+
943
+ ### Schritt 1: Workspace initialisieren
944
+
945
+ Verwenden Sie das \`arc42-init\`-Tool, um Ihren Dokumentations-Workspace zu erstellen:
946
+
947
+ \`\`\`
948
+ arc42-init(projectName: "Mein Projekt", language: "DE")
949
+ \`\`\`
950
+
951
+ Sie können eine andere Sprache mit dem ISO-Sprachcode angeben.
952
+
953
+ ### Schritt 2: Status prüfen
954
+
955
+ Verwenden Sie \`arc42-status\`, um den aktuellen Stand Ihrer Dokumentation zu sehen:
956
+
957
+ \`\`\`
958
+ arc42-status()
959
+ \`\`\`
960
+
961
+ ### Schritt 3: Abschnitts-Templates generieren
962
+
963
+ Verwenden Sie \`generate-template\`, um detaillierte Templates für jeden Abschnitt zu erhalten:
964
+
965
+ \`\`\`
966
+ generate-template(section: "01_introduction_and_goals", language: "DE")
967
+ \`\`\`
968
+
969
+ ## Die 12 arc42-Abschnitte
970
+
971
+ 1. **Einführung und Ziele** - Beginnen Sie hier! Definieren Sie, was Sie bauen und warum.
972
+ 2. **Randbedingungen** - Was dürfen Sie NICHT tun?
973
+ 3. **Kontextabgrenzung** - Was ist drin und was ist draußen?
974
+ 4. **Lösungsstrategie** - High-Level Ansatz zur Problemlösung.
975
+ 5. **Bausteinsicht** - Statische Struktur Ihres Systems.
976
+ 6. **Laufzeitsicht** - Dynamisches Verhalten und Szenarien.
977
+ 7. **Verteilungssicht** - Wie wird es deployed und betrieben?
978
+ 8. **Querschnittliche Konzepte** - Muster, die im gesamten System verwendet werden.
979
+ 9. **Architekturentscheidungen** - Wichtige Entscheidungen und ihre Begründung.
980
+ 10. **Qualitätsanforderungen** - Konkrete Qualitätsszenarien.
981
+ 11. **Risiken und technische Schulden** - Was könnte schiefgehen?
982
+ 12. **Glossar** - Definieren Sie Ihre Begriffe.
983
+
984
+ ## Best Practices
985
+
986
+ 1. **Beginnen Sie mit Abschnitt 1** - Das Verständnis der Ziele ist fundamental
987
+ 2. **Halten Sie es kurz** - arc42 ist pragmatisch, nicht bürokratisch
988
+ 3. **Verwenden Sie Diagramme** - Ein Bild sagt mehr als tausend Worte
989
+ 4. **Dokumentieren Sie Entscheidungen** - Ihr zukünftiges Ich wird Ihnen danken
990
+ 5. **Iterieren Sie** - Architekturdokumentation ist nie "fertig"
991
+
992
+ ## Verfügbare Tools
993
+
994
+ - \`arc42-init\` - Dokumentations-Workspace initialisieren
995
+ - \`arc42-status\` - Dokumentationsstatus prüfen
996
+ - \`generate-template\` - Abschnitts-Templates generieren
997
+ - \`update-section\` - Abschnittsinhalte aktualisieren
998
+ - \`get-section\` - Abschnittsinhalte lesen
999
+ - \`arc42-workflow-guide\` - Diesen Leitfaden anzeigen
1000
+
1001
+ ## Ressourcen
1002
+
1003
+ - [arc42 Website](https://arc42.org/)
1004
+ - [arc42 Dokumentation](https://docs.arc42.org/)
1005
+ - [arc42 Beispiele](https://arc42.org/examples)
1006
+ `;
1007
+ }
1008
+ /**
1009
+ * Get the German README content
1010
+ */
1011
+ export function getReadmeContent(projectName) {
1012
+ const name = projectName || 'Projekt';
1013
+ return `# ${name} - Architektur-Dokumentation
1014
+
1015
+ Dieses Verzeichnis enthält die Architekturdokumentation für ${name}, basierend auf dem arc42-Template.
1016
+
1017
+ ## Struktur
1018
+
1019
+ - \`sections/\` - Einzelne Abschnitts-Markdown-Dateien (12 Abschnitte)
1020
+ - \`images/\` - Diagramme und Bilder
1021
+ - \`arc42-documentation.md\` - Kombinierte Hauptdokumentation
1022
+ - \`config.yaml\` - Konfiguration
1023
+
1024
+ ## Die 12 arc42-Abschnitte
1025
+
1026
+ 1. **Einführung und Ziele** - Anforderungen, Qualitätsziele, Stakeholder
1027
+ 2. **Randbedingungen** - Technische und organisatorische Randbedingungen
1028
+ 3. **Kontextabgrenzung** - Fachlicher und technischer Kontext
1029
+ 4. **Lösungsstrategie** - Grundlegende Entscheidungen und Strategien
1030
+ 5. **Bausteinsicht** - Statische Zerlegung
1031
+ 6. **Laufzeitsicht** - Dynamisches Verhalten
1032
+ 7. **Verteilungssicht** - Infrastruktur und Deployment
1033
+ 8. **Querschnittliche Konzepte** - Übergreifende Regelungen und Ansätze
1034
+ 9. **Architekturentscheidungen** - Wichtige Entscheidungen (ADRs)
1035
+ 10. **Qualitätsanforderungen** - Qualitätsbaum und Szenarien
1036
+ 11. **Risiken und technische Schulden** - Bekannte Probleme und Risiken
1037
+ 12. **Glossar** - Wichtige Begriffe
1038
+
1039
+ ## Erste Schritte
1040
+
1041
+ 1. Beginnen Sie mit Abschnitt 1: Einführung und Ziele
1042
+ 2. Arbeiten Sie die Abschnitte iterativ durch
1043
+ 3. Verwenden Sie Diagramme zur Veranschaulichung von Konzepten
1044
+ 4. Konzentrieren Sie sich auf Entscheidungen, nicht auf Implementierungsdetails
1045
+
1046
+ ## Dokumentation generieren
1047
+
1048
+ Verwenden Sie die MCP-Tools für:
1049
+ - Status prüfen: \`arc42-status\`
1050
+ - Templates generieren: \`generate-template\`
1051
+ - Abschnitte aktualisieren: \`update-section\`
1052
+
1053
+ ## Ressourcen
1054
+
1055
+ - [arc42 Website](https://arc42.org/)
1056
+ - [arc42 Dokumentation](https://docs.arc42.org/)
1057
+ - [arc42 Beispiele](https://arc42.org/examples)
1058
+ `;
1059
+ }
1060
+ //# sourceMappingURL=templates.js.map