@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
+ * Dutch Templates
3
+ *
4
+ * Contains all arc42 section templates in Dutch.
5
+ * Based on the official arc42 Dutch template from vendor/arc42-template/NL/.
6
+ *
7
+ * @module templates/locales/nl/templates
8
+ */
9
+ /**
10
+ * Get the Dutch 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. Introductie en Doelen
31
+
32
+ ## Probleemstelling
33
+
34
+ **Doel**: Beschrijft de essentiële vereisten en drijvende krachten die moeten worden overwogen bij de implementatie van de softwarearchitectuur en ontwikkeling van het systeem.
35
+
36
+ ### Essentiële Vereisten
37
+
38
+ <!-- Lijst de top 3-5 functionele vereisten -->
39
+
40
+ | ID | Vereiste | Prioriteit |
41
+ |----|----------|------------|
42
+ | REQ-1 | [Korte beschrijving] | Hoog |
43
+ | REQ-2 | [Korte beschrijving] | Medium |
44
+
45
+ ### Functionaliteiten
46
+
47
+ <!-- Essentiële functionaliteiten van het systeem -->
48
+
49
+ - Functionaliteit 1: [Beschrijving]
50
+ - Functionaliteit 2: [Beschrijving]
51
+
52
+ ## Kwaliteitsdoelen
53
+
54
+ **Doel**: De top 3 tot 5 kwaliteitseisen voor de architectuur, waarvan de vervulling bijzonder belangrijk is voor de belangrijkste stakeholders.
55
+
56
+ <!-- Gebaseerd op ISO 25010, prioriteer kwaliteiten zoals: -->
57
+ <!-- Prestaties, Beveiliging, Betrouwbaarheid, Onderhoudbaarheid, Bruikbaarheid, etc. -->
58
+
59
+ | Prioriteit | Kwaliteitsdoel | Motivatie |
60
+ |------------|----------------|-----------|
61
+ | 1 | [bijv. Prestaties] | [Waarom dit kritiek is] |
62
+ | 2 | [bijv. Beveiliging] | [Waarom dit kritiek is] |
63
+ | 3 | [bijv. Onderhoudbaarheid] | [Waarom dit kritiek is] |
64
+
65
+ ## Stakeholders
66
+
67
+ **Doel**: Expliciet overzicht van de stakeholders van het systeem.
68
+
69
+ | Rol/Naam | Contact | Verwachtingen |
70
+ |----------|---------|---------------|
71
+ | Product Owner | [Naam/Email] | [Verwachtingen van de architectuur] |
72
+ | Ontwikkelteam | [Teamnaam] | [Wat ze moeten weten] |
73
+ | Operations | [Team/Persoon] | [Deployment- en operationele zorgen] |
74
+ | Eindgebruikers | [Type] | [Verwachtingen gebruikerservaring] |
75
+
76
+ ## Succescriteria
77
+
78
+ <!-- Wat definieert succes voor dit systeem? -->
79
+
80
+ - [ ] Criterium 1
81
+ - [ ] Criterium 2
82
+ - [ ] Criterium 3
83
+ `;
84
+ }
85
+ function getArchitectureConstraintsTemplate() {
86
+ return `# 2. Beperkingen
87
+
88
+ ## Technische Beperkingen
89
+
90
+ **Hardware-beperkingen**
91
+
92
+ | Beperking | Achtergrond/Motivatie |
93
+ |-----------|----------------------|
94
+ | [bijv. Cloud platform] | [Waarom deze beperking bestaat] |
95
+
96
+ **Software/Technologie-beperkingen**
97
+
98
+ | Beperking | Achtergrond/Motivatie |
99
+ |-----------|----------------------|
100
+ | [bijv. Java 17+ vereist] | [Reden voor beperking] |
101
+ | [bijv. PostgreSQL vereist] | [Waarom dit is gekozen] |
102
+
103
+ **Programmeerrichtlijnen**
104
+
105
+ - Programmeertaal: [Taal]
106
+ - Framework: [Framework en versie]
107
+ - Bibliotheken: [Verplichte of verboden bibliotheken]
108
+
109
+ ## Organisatorische Beperkingen
110
+
111
+ **Organisatie en Structuur**
112
+
113
+ | Beperking | Achtergrond/Motivatie |
114
+ |-----------|----------------------|
115
+ | [bijv. Teamstructuur] | [Hoe dit de architectuur beïnvloedt] |
116
+ | [bijv. Agile methodologie] | [Impact op ontwikkelproces] |
117
+
118
+ **Resources**
119
+
120
+ - Budget: [Budgetbeperkingen]
121
+ - Tijd: [Tijdsbeperkingen]
122
+ - Team: [Teamgrootte en vaardigheden]
123
+
124
+ ## Conventies
125
+
126
+ **Architectuur- en Ontwerpconventies**
127
+
128
+ - [bijv. Microservices architectuurpatroon]
129
+ - [bijv. RESTful API-ontwerp]
130
+ - [bijv. Domain-Driven Design]
131
+
132
+ **Coderingconventies**
133
+
134
+ - Codestijl: [Link naar stijlgids]
135
+ - Documentatie: [Documentatiestandaarden]
136
+ - Testen: [Testvereisten]
137
+
138
+ **Compliance-vereisten**
139
+
140
+ - [bijv. AVG-compliance]
141
+ - [bijv. Industriespecifieke regelgeving]
142
+ - [bijv. Toegankelijkheidsstandaarden]
143
+ `;
144
+ }
145
+ function getContextAndScopeTemplate() {
146
+ return `# 3. Scope en Context
147
+
148
+ ## Zakelijke Context
149
+
150
+ **Doel**: Toont de zakelijke omgeving van het systeem en de belangrijkste externe afhankelijkheden.
151
+
152
+ ### Contextdiagram
153
+
154
+ \`\`\`
155
+ [Maak een diagram dat uw systeem en externe systemen/gebruikers toont]
156
+ U kunt gebruiken:
157
+ - Mermaid-diagrammen
158
+ - PlantUML
159
+ - ASCII-art
160
+ - Of verwijs naar een afbeelding in /images/
161
+ \`\`\`
162
+
163
+ ### Externe Interfaces
164
+
165
+ | Extern Systeem | Interface | Doel |
166
+ |----------------|-----------|------|
167
+ | [Extern Systeem 1] | [API/Protocol] | [Welke gegevens/functies worden uitgewisseld] |
168
+ | [Gebruikerstype 1] | [UI/API] | [Hoe gebruikers interacteren] |
169
+
170
+ ### Ondersteunde Bedrijfsprocessen
171
+
172
+ <!-- Welke bedrijfsprocessen ondersteunt dit systeem? -->
173
+
174
+ 1. **Proces 1**: [Beschrijving]
175
+ - Actoren: [Wie is betrokken]
176
+ - Flow: [High-level flow]
177
+
178
+ 2. **Proces 2**: [Beschrijving]
179
+
180
+ ## Technische Context
181
+
182
+ **Doel**: Toont technische interfaces en kanalen tussen systeem en omgeving.
183
+
184
+ ### Technische Interfaces
185
+
186
+ | Interface | Technologie | Protocol | Formaat |
187
+ |-----------|-------------|----------|---------|
188
+ | [API 1] | [REST API] | [HTTPS] | [JSON] |
189
+ | [Database] | [PostgreSQL] | [TCP/IP] | [SQL] |
190
+
191
+ ### Kanalen en Transmissie
192
+
193
+ | Kanaal | Technologie | Beschrijving |
194
+ |--------|-------------|--------------|
195
+ | [Message Queue] | [RabbitMQ] | [Asynchrone communicatie tussen services] |
196
+
197
+ ### Mapping: Zakelijk naar Technisch
198
+
199
+ | Zakelijke Context | Technische Realisatie |
200
+ |-------------------|----------------------|
201
+ | [Gebruikersinterface] | [React SPA via HTTPS] |
202
+ | [Extern Systeem A] | [REST API via HTTPS] |
203
+ `;
204
+ }
205
+ function getSolutionStrategyTemplate() {
206
+ return `# 4. Oplossingsstrategie
207
+
208
+ **Doel**: Vat de fundamentele beslissingen en oplossingsstrategieën samen die de systeemarchitectuur vormgeven.
209
+
210
+ ## Kernoplossingsbeslissingen
211
+
212
+ ### Architectuurpatronen
213
+
214
+ | Patroon | Motivatie | Gevolgen |
215
+ |---------|-----------|----------|
216
+ | [bijv. Microservices] | [Waarom dit patroon is gekozen] | [Voordelen en afwegingen] |
217
+
218
+ ### Technologiebeslissingen
219
+
220
+ | Component | Technologie | Reden |
221
+ |-----------|-------------|-------|
222
+ | Backend | [bijv. Node.js] | [Waarom dit is gekozen] |
223
+ | Frontend | [bijv. React] | [Redenen] |
224
+ | Database | [bijv. PostgreSQL] | [Redenen] |
225
+
226
+ ### Top-Level Decompositie
227
+
228
+ <!-- Hoe is het systeem op het hoogste niveau gestructureerd? -->
229
+
230
+ \`\`\`
231
+ [High-level componentendiagram]
232
+ \`\`\`
233
+
234
+ Beschrijving:
235
+ - Component 1: [Doel en verantwoordelijkheid]
236
+ - Component 2: [Doel en verantwoordelijkheid]
237
+
238
+ ## Realisatie van Kwaliteitsdoelen
239
+
240
+ ### Mapping: Kwaliteitsdoelen naar Oplossingsbenaderingen
241
+
242
+ | Kwaliteitsdoel | Oplossingsbenadering |
243
+ |----------------|---------------------|
244
+ | [Prestaties] | [Cachingstrategie, asynchrone verwerking, CDN] |
245
+ | [Beveiliging] | [Authenticatie, autorisatie, encryptie] |
246
+ | [Schaalbaarheid] | [Horizontale schaling, load balancing] |
247
+
248
+ ### Kernontwerp beslissingen
249
+
250
+ 1. **Beslissing 1**: [bijv. Event-driven architectuur]
251
+ - Reden: [Waarom deze benadering]
252
+ - Impact: [Hoe het helpt kwaliteitsdoelen te bereiken]
253
+
254
+ 2. **Beslissing 2**: [Beschrijving]
255
+ - Reden: [Motivatie]
256
+ - Impact: [Impact op kwaliteitsdoelen]
257
+
258
+ ## Ontwikkelstrategie
259
+
260
+ - Ontwikkelbenadering: [Agile, Scrum, etc.]
261
+ - Deploymentstrategie: [CI/CD, Blue-Green, etc.]
262
+ - Teststrategie: [Unit, Integratie, E2E]
263
+ `;
264
+ }
265
+ function getBuildingBlockViewTemplate() {
266
+ return `# 5. Bouwstenenweergave
267
+
268
+ **Doel**: Statische decompositie van het systeem in bouwstenen en hun relaties.
269
+
270
+ ## Niveau 1: Systeemcontext
271
+
272
+ ### Whitebox: Totaalsysteem
273
+
274
+ **Doel**: [Wat het systeem doet]
275
+
276
+ \`\`\`
277
+ [Componentendiagram met de belangrijkste bouwstenen]
278
+ \`\`\`
279
+
280
+ **Bevatte Bouwstenen**:
281
+
282
+ | Component | Verantwoordelijkheid |
283
+ |-----------|---------------------|
284
+ | [Component 1] | [Wat het doet] |
285
+ | [Component 2] | [Wat het doet] |
286
+
287
+ **Belangrijke Interfaces**:
288
+
289
+ | Interface | Beschrijving |
290
+ |-----------|--------------|
291
+ | [API 1] | [Doel en protocol] |
292
+
293
+ ## Niveau 2: Componentdetails
294
+
295
+ ### Component 1 (Whitebox)
296
+
297
+ **Doel**: [Gedetailleerd doel]
298
+
299
+ **Interfaces**:
300
+ - Invoer: [Wat het ontvangt]
301
+ - Uitvoer: [Wat het produceert]
302
+
303
+ **Interne Structuur**:
304
+
305
+ \`\`\`
306
+ [Diagram van interne modules/klassen]
307
+ \`\`\`
308
+
309
+ **Bevatte Elementen**:
310
+
311
+ | Element | Verantwoordelijkheid |
312
+ |---------|---------------------|
313
+ | [Module A] | [Doel] |
314
+ | [Module B] | [Doel] |
315
+
316
+ ### Component 2 (Whitebox)
317
+
318
+ [Vergelijkbare structuur]
319
+
320
+ ## Niveau 3: Detailweergaven
321
+
322
+ <!-- Alleen Niveau 3 opnemen voor componenten die aanvullende details nodig hebben -->
323
+
324
+ ### Module A Details
325
+
326
+ [Gedetailleerde klassendiagrammen, pakketstructuur, etc.]
327
+ `;
328
+ }
329
+ function getRuntimeViewTemplate() {
330
+ return `# 6. Runtime-weergave
331
+
332
+ **Doel**: Toont het gedrag en de interactie van bouwstenen tijdens runtime.
333
+
334
+ ## Belangrijke Scenario's
335
+
336
+ ### Scenario 1: [Naam, bijv. "Gebruikerslogin"]
337
+
338
+ **Beschrijving**: [Wat er in dit scenario gebeurt]
339
+
340
+ **Sequentiediagram**:
341
+
342
+ \`\`\`mermaid
343
+ sequenceDiagram
344
+ participant Gebruiker
345
+ participant Frontend
346
+ participant API
347
+ participant Database
348
+
349
+ Gebruiker->>Frontend: Inloggegevens invoeren
350
+ Frontend->>API: POST /login
351
+ API->>Database: Inloggegevens valideren
352
+ Database-->>API: Gebruikersgegevens
353
+ API-->>Frontend: JWT-token
354
+ Frontend-->>Gebruiker: Login succesvol
355
+ \`\`\`
356
+
357
+ **Stappen**:
358
+
359
+ 1. Gebruiker voert inloggegevens in
360
+ 2. Frontend stuurt loginverzoek
361
+ 3. API valideert met database
362
+ 4. Token wordt gegenereerd en teruggestuurd
363
+ 5. Gebruiker is geauthenticeerd
364
+
365
+ ### Scenario 2: [Naam]
366
+
367
+ [Vergelijkbare structuur]
368
+
369
+ ## Gegevensstromen
370
+
371
+ ### Stroom 1: [Naam]
372
+
373
+ **Doel**: [Welke gegevens waarheen stromen]
374
+
375
+ **Diagram**:
376
+
377
+ \`\`\`
378
+ [Gegevensstroomdiagram]
379
+ \`\`\`
380
+
381
+ **Beschrijving**:
382
+ - Stap 1: [Wat er gebeurt]
383
+ - Stap 2: [Wat er gebeurt]
384
+
385
+ ## Toestandsautomaten
386
+
387
+ ### Toestandsautomaat voor [Entiteit]
388
+
389
+ **Toestanden**:
390
+ - Toestand 1: [Beschrijving]
391
+ - Toestand 2: [Beschrijving]
392
+
393
+ **Overgangen**:
394
+
395
+ | Van | Gebeurtenis | Naar | Actie |
396
+ |-----|-------------|------|-------|
397
+ | [Toestand 1] | [Gebeurtenis] | [Toestand 2] | [Wat er gebeurt] |
398
+ `;
399
+ }
400
+ function getDeploymentViewTemplate() {
401
+ return `# 7. Deployment-weergave
402
+
403
+ **Doel**: Beschrijft de technische infrastructuur en hoe software wordt gedistribueerd.
404
+
405
+ ## Infrastructuuroverzicht
406
+
407
+ ### Deploymentdiagram
408
+
409
+ \`\`\`
410
+ [Diagram met servers, containers, netwerken]
411
+ \`\`\`
412
+
413
+ ## Omgevingen
414
+
415
+ ### Productieomgeving
416
+
417
+ **Infrastructuur**:
418
+
419
+ | Component | Technologie | Configuratie |
420
+ |-----------|-------------|--------------|
421
+ | [Applicatieserver] | [AWS ECS] | [Specificaties] |
422
+ | [Database] | [RDS PostgreSQL] | [Specificaties] |
423
+ | [Cache] | [Redis] | [Specificaties] |
424
+
425
+ **Netwerk**:
426
+ - VPC: [Configuratie]
427
+ - Subnets: [Public/Private setup]
428
+ - Security Groups: [Regels]
429
+
430
+ ### Stagingomgeving
431
+
432
+ [Vergelijkbare structuur]
433
+
434
+ ### Ontwikkelomgeving
435
+
436
+ [Vergelijkbare structuur]
437
+
438
+ ## Deploymentstrategie
439
+
440
+ ### CI/CD Pipeline
441
+
442
+ 1. **Build**: [Wat er gebeurt]
443
+ 2. **Test**: [Geautomatiseerde tests]
444
+ 3. **Deploy**: [Deploymentproces]
445
+
446
+ ### Rollback-strategie
447
+
448
+ [Hoe deployments worden teruggedraaid]
449
+
450
+ ## Schaalstrategie
451
+
452
+ ### Horizontaal Schalen
453
+
454
+ | Component | Schalingstrigger | Max. Instanties |
455
+ |-----------|------------------|-----------------|
456
+ | [API-server] | [CPU > 70%] | [10] |
457
+
458
+ ### Verticaal Schalen
459
+
460
+ [Wanneer en hoe verticaal te schalen]
461
+
462
+ ## Monitoring en Operations
463
+
464
+ ### Health Checks
465
+
466
+ | Component | Check | Drempel |
467
+ |-----------|-------|---------|
468
+ | [API] | [/health endpoint] | [Responstijd < 1s] |
469
+
470
+ ### Logging
471
+
472
+ - Log-aggregatie: [ELK, CloudWatch, etc.]
473
+ - Log-retentie: [Beleid]
474
+
475
+ ### Metrieken
476
+
477
+ - Belangrijke metrieken: [CPU, geheugen, aanvraagsnelheid]
478
+ - Alerting: [Alert-condities]
479
+ `;
480
+ }
481
+ function getConceptsTemplate() {
482
+ return `# 8. Cross-cutting Concepten
483
+
484
+ **Doel**: Overkoepelende regelingen en oplossingsideeën die relevant zijn voor meerdere delen van het systeem.
485
+
486
+ ## Domeinmodellen
487
+
488
+ ### Kerndomeinconcepten
489
+
490
+ \`\`\`
491
+ [Domeinmodeldiagram of klassendiagram]
492
+ \`\`\`
493
+
494
+ **Belangrijke Entiteiten**:
495
+
496
+ | Entiteit | Verantwoordelijkheid | Relaties |
497
+ |----------|---------------------|----------|
498
+ | [Entiteit 1] | [Doel] | [Gerelateerde entiteiten] |
499
+
500
+ ## Beveiliging
501
+
502
+ ### Authenticatie
503
+
504
+ - Methode: [JWT, OAuth2, etc.]
505
+ - Implementatie: [Hoe het werkt]
506
+
507
+ ### Autorisatie
508
+
509
+ - Model: [RBAC, ABAC, etc.]
510
+ - Rollen: [Lijst van rollen en rechten]
511
+
512
+ ### Gegevensbescherming
513
+
514
+ - Encryptie at rest: [Hoe]
515
+ - Encryptie in transit: [TLS-versie]
516
+ - Omgang met gevoelige gegevens: [Benadering]
517
+
518
+ ## Foutafhandeling
519
+
520
+ ### Foutcategorieën
521
+
522
+ | Categorie | Afhandelingstrategie |
523
+ |-----------|---------------------|
524
+ | [Validatiefouten] | [400 met details retourneren] |
525
+ | [Systeemfouten] | [Loggen en 500 retourneren] |
526
+
527
+ ### Foutresponsformaat
528
+
529
+ \`\`\`json
530
+ {
531
+ "error": {
532
+ "code": "ERROR_CODE",
533
+ "message": "Leesbare boodschap",
534
+ "details": {}
535
+ }
536
+ }
537
+ \`\`\`
538
+
539
+ ## Logging en Monitoring
540
+
541
+ ### Loggingstrategie
542
+
543
+ - Log-levels: [DEBUG, INFO, WARN, ERROR]
544
+ - Gestructureerd loggen: [JSON-formaat]
545
+ - Correlatie-ID's: [Voor request-tracing]
546
+
547
+ ### Monitoring
548
+
549
+ - APM: [Application Performance Monitoring tool]
550
+ - Metrieken: [Belangrijke zakelijke en technische metrieken]
551
+
552
+ ## Configuratiebeheer
553
+
554
+ ### Configuratiebronnen
555
+
556
+ 1. Omgevingsvariabelen
557
+ 2. Configuratiebestanden
558
+ 3. Secret Management: [Vault, AWS Secrets Manager]
559
+
560
+ ### Configuratie per Omgeving
561
+
562
+ | Instelling | Dev | Staging | Prod |
563
+ |------------|-----|---------|------|
564
+ | [Log-level] | [DEBUG] | [INFO] | [WARN] |
565
+
566
+ ## Teststrategie
567
+
568
+ ### Testniveaus
569
+
570
+ | Niveau | Dekking | Tools |
571
+ |--------|---------|-------|
572
+ | Unit Tests | [Doel %] | [Framework] |
573
+ | Integratietests | [Scope] | [Tools] |
574
+ | E2E-tests | [Belangrijke flows] | [Tools] |
575
+
576
+ ### Testgegevensbeheer
577
+
578
+ [Hoe testgegevens worden aangemaakt en beheerd]
579
+
580
+ ## Ontwikkelconcepten
581
+
582
+ ### Code-organisatie
583
+
584
+ - Pakketstructuur: [Benadering]
585
+ - Naamgevingsconventies: [Standaarden]
586
+
587
+ ### Build- en Dependency-management
588
+
589
+ - Build-tool: [Maven, Gradle, npm, etc.]
590
+ - Dependency-management: [Strategie]
591
+
592
+ ## Operationele Concepten
593
+
594
+ ### Backup en Recovery
595
+
596
+ - Backupfrequentie: [Dagelijks, per uur, etc.]
597
+ - Retentie: [Beleid]
598
+ - Recovery-procedure: [Stappen]
599
+
600
+ ### Disaster Recovery
601
+
602
+ - RTO: [Recovery Time Objective]
603
+ - RPO: [Recovery Point Objective]
604
+ - DR-strategie: [Benadering]
605
+ `;
606
+ }
607
+ function getArchitectureDecisionsTemplate() {
608
+ return `# 9. Architectuurbeslissingen
609
+
610
+ **Doel**: Documenteert belangrijke, kostbare, kritieke of risicovolle architectuurbeslissingen inclusief motivatie.
611
+
612
+ ## ADR-formaat
613
+
614
+ Elke beslissing volgt deze structuur:
615
+ - **Context**: Wat is het probleem dat we aanpakken?
616
+ - **Beslissing**: Wat we hebben besloten te doen
617
+ - **Gevolgen**: Wat hierdoor makkelijker of moeilijker wordt
618
+
619
+ ## Beslissingslogboek
620
+
621
+ ### ADR-001: [Beslissingsnaam]
622
+
623
+ **Datum**: [JJJJ-MM-DD]
624
+ **Status**: [Voorgesteld | Geaccepteerd | Verouderd | Vervangen]
625
+ **Beslissers**: [Namen]
626
+
627
+ **Context**:
628
+
629
+ [Beschrijf de krachten die spelen, technisch, politiek, sociaal en projectspecifiek. Deze krachten staan waarschijnlijk op gespannen voet met elkaar en moeten als zodanig worden benoemd.]
630
+
631
+ **Beslissing**:
632
+
633
+ [Beschrijf onze reactie op deze krachten. Hier nemen we onze beslissing.]
634
+
635
+ **Gevolgen**:
636
+
637
+ Positief:
638
+ - [Voordeel 1]
639
+ - [Voordeel 2]
640
+
641
+ Negatief:
642
+ - [Afweging 1]
643
+ - [Afweging 2]
644
+
645
+ Risico's:
646
+ - [Risico 1 en mitigatie]
647
+
648
+ ### ADR-002: [Volgende beslissing]
649
+
650
+ [Vergelijkbare structuur]
651
+
652
+ ## Beslissingscategorieën
653
+
654
+ ### Structurele Beslissingen
655
+
656
+ | Beslissing | Motivatie | Datum |
657
+ |------------|-----------|-------|
658
+ | [Microservices vs Monolith] | [Waarom gekozen] | [Datum] |
659
+
660
+ ### Technologiebeslissingen
661
+
662
+ | Component | Technologie | Overwogen Alternatief | Waarom Gekozen |
663
+ |-----------|-------------|----------------------|----------------|
664
+ | [Backend] | [Node.js] | [Python, Java] | [Redenen] |
665
+
666
+ ### Procesbeslissingen
667
+
668
+ | Beslissing | Impact | Datum |
669
+ |------------|--------|-------|
670
+ | [Agile methodologie] | [Hoe het de architectuur beïnvloedt] | [Datum] |
671
+
672
+ ## Verouderde Beslissingen
673
+
674
+ | Beslissing | Datum Verouderd | Reden | Vervangen door |
675
+ |------------|-----------------|-------|----------------|
676
+ | [Oude beslissing] | [Datum] | [Waarom verouderd] | [ADR-XXX] |
677
+ `;
678
+ }
679
+ function getQualityRequirementsTemplate() {
680
+ return `# 10. Kwaliteitseisen
681
+
682
+ **Doel**: Definieert kwaliteitseisen met concrete scenario's.
683
+
684
+ ## Kwaliteitsboom
685
+
686
+ ### Top-Level Kwaliteitsdoelen
687
+
688
+ \`\`\`
689
+ Kwaliteit
690
+ ├── Prestaties
691
+ │ ├── Responstijd
692
+ │ └── Doorvoer
693
+ ├── Beveiliging
694
+ │ ├── Authenticatie
695
+ │ └── Gegevensbescherming
696
+ ├── Betrouwbaarheid
697
+ │ ├── Beschikbaarheid
698
+ │ └── Fouttolerantie
699
+ └── Onderhoudbaarheid
700
+ ├── Testbaarheid
701
+ └── Wijzigbaarheid
702
+ \`\`\`
703
+
704
+ ## Kwaliteitsscenario's
705
+
706
+ ### Prestatiescenario's
707
+
708
+ **Scenario 1: Normale Belasting Responstijd**
709
+
710
+ | Aspect | Beschrijving |
711
+ |--------|--------------|
712
+ | Scenario | Gebruiker vraagt gegevens op onder normale belasting |
713
+ | Bron | Eindgebruiker |
714
+ | Stimulus | HTTP-verzoek aan API |
715
+ | Omgeving | Normale werking, 100 gelijktijdige gebruikers |
716
+ | Reactie | Systeem retourneert gegevens |
717
+ | Maatstaf | 95e percentiel responstijd < 200ms |
718
+
719
+ **Scenario 2: Piekbelasting Afhandeling**
720
+
721
+ | Aspect | Beschrijving |
722
+ |--------|--------------|
723
+ | Scenario | Systeem onder piekbelasting |
724
+ | Bron | Meerdere gebruikers |
725
+ | Stimulus | 1000 gelijktijdige verzoeken |
726
+ | Omgeving | Piekuren |
727
+ | Reactie | Systeem verwerkt alle verzoeken |
728
+ | Maatstaf | Geen verzoek faalt, responstijd < 1s |
729
+
730
+ ### Beveiligingsscenario's
731
+
732
+ **Scenario 3: Ongeautoriseerde Toegangspoging**
733
+
734
+ | Aspect | Beschrijving |
735
+ |--------|--------------|
736
+ | Scenario | Ongeautoriseerde gebruiker probeert toegang tot beschermde resource |
737
+ | Bron | Externe aanvaller |
738
+ | Stimulus | HTTP-verzoek zonder geldig token |
739
+ | Omgeving | Normale werking |
740
+ | Reactie | Systeem weigert toegang |
741
+ | Maatstaf | Retourneert 401, logt poging, geen gegevens blootgesteld |
742
+
743
+ ### Betrouwbaarheidsscenario's
744
+
745
+ **Scenario 4: Service-uitval Herstel**
746
+
747
+ | Aspect | Beschrijving |
748
+ |--------|--------------|
749
+ | Scenario | Databaseverbinding faalt |
750
+ | Bron | Infrastructuurstoring |
751
+ | Stimulus | Database wordt onbeschikbaar |
752
+ | Omgeving | Normale werking |
753
+ | Reactie | Systeem blijft werken met gecachte gegevens |
754
+ | Maatstaf | Service-degradatie < 5%, herstel < 30s |
755
+
756
+ ### Onderhoudbaarheidsscenario's
757
+
758
+ **Scenario 5: Nieuwe Functionaliteit Toevoegen**
759
+
760
+ | Aspect | Beschrijving |
761
+ |--------|--------------|
762
+ | Scenario | Ontwikkelaar voegt nieuw API-eindpunt toe |
763
+ | Bron | Ontwikkelteam |
764
+ | Stimulus | Nieuwe vereiste |
765
+ | Omgeving | Ontwikkeling |
766
+ | Reactie | Functionaliteit wordt toegevoegd |
767
+ | Maatstaf | < 2 dagen, < 5 bestanden gewijzigd, tests slagen |
768
+
769
+ ## Kwaliteitseisen Prioritering
770
+
771
+ | Kwaliteitsattribuut | Prioriteit | Doelmaatstaf |
772
+ |---------------------|------------|--------------|
773
+ | Beschikbaarheid | Hoog | 99,9% uptime |
774
+ | Responstijd | Hoog | < 200ms (p95) |
775
+ | Beveiliging | Kritiek | Nul datalekken |
776
+ | Onderhoudbaarheid | Medium | Testdekking > 80% |
777
+ | Bruikbaarheid | Medium | Gebruikerstaak succes > 95% |
778
+ `;
779
+ }
780
+ function getTechnicalRisksTemplate() {
781
+ return `# 11. Risico's en Technische Schuld
782
+
783
+ **Doel**: Documenteert bekende problemen, risico's en technische schuld.
784
+
785
+ ## Risico's
786
+
787
+ ### Risicobeoordelingsmatrix
788
+
789
+ | Risico | Waarschijnlijkheid | Impact | Ernst | Status |
790
+ |--------|-------------------|--------|-------|--------|
791
+ | [Risico 1] | [Hoog/Medium/Laag] | [Hoog/Medium/Laag] | [Kritiek/Hoog/Medium/Laag] | [Open/Gemitigeerd] |
792
+
793
+ ### Gedetailleerde Risico's
794
+
795
+ **Risico 1: [Risiconaam]**
796
+
797
+ - **Beschrijving**: [Wat is het risico]
798
+ - **Waarschijnlijkheid**: [Hoog/Medium/Laag]
799
+ - **Impact**: [Hoog/Medium/Laag - en wat er gebeurt]
800
+ - **Mitigatie**: [Wat we eraan doen]
801
+ - **Noodplan**: [Plan als het risico zich voordoet]
802
+ - **Eigenaar**: [Wie is verantwoordelijk]
803
+ - **Status**: [Open/Wordt gemitigeerd/Gesloten]
804
+
805
+ **Risico 2: [Titel]**
806
+
807
+ [Vergelijkbare structuur]
808
+
809
+ ## Technische Schuld
810
+
811
+ ### Schuldregistraties
812
+
813
+ | Item | Type | Impact | Inspanning | Prioriteit |
814
+ |------|------|--------|------------|------------|
815
+ | [Schuld 1] | [Code/Architectuur/Testing] | [Hoog/Medium/Laag] | [Dagen] | [1-5] |
816
+
817
+ ### Gedetailleerde Schuldregistraties
818
+
819
+ **Schuld 1: [Titel]**
820
+
821
+ - **Beschrijving**: [Wat moet worden opgelost]
822
+ - **Waarom het bestaat**: [Hoe is dit gebeurd]
823
+ - **Impact**: [Welke problemen het veroorzaakt]
824
+ - **Voorgestelde oplossing**: [Hoe het op te lossen]
825
+ - **Inspanningsschatting**: [Benodigde tijd]
826
+ - **Prioriteit**: [Wanneer moeten we het oplossen]
827
+
828
+ ### Schuldafbouwplan
829
+
830
+ | Kwartaal | Te Adresseren Schuld | Verwachte Impact |
831
+ |----------|---------------------|------------------|
832
+ | Q1 2024 | [Items 1, 2] | [Verbetering in X] |
833
+
834
+ ## Bekende Problemen
835
+
836
+ ### Openstaande Problemen
837
+
838
+ | Probleem | Ernst | Workaround | Doel Oplossingsdatum |
839
+ |----------|-------|------------|---------------------|
840
+ | [Probleem 1] | [Hoog/Medium/Laag] | [Indien beschikbaar] | [Datum] |
841
+
842
+ ### Beperkingen
843
+
844
+ | Beperking | Impact | Motivatie | Toekomstplannen |
845
+ |-----------|--------|-----------|-----------------|
846
+ | [Beperking 1] | [Effect] | [Waarom het bestaat] | [Wanneer/of te adresseren] |
847
+
848
+ ## Beveiligingskwetsbaarheden
849
+
850
+ ### Bekende Kwetsbaarheden
851
+
852
+ | CVE | Component | Ernst | Status | Mitigatie |
853
+ |-----|-----------|-------|--------|-----------|
854
+ | [CVE-ID] | [Bibliotheek] | [Kritiek/Hoog/Medium] | [Open/Opgelost] | [Genomen maatregelen] |
855
+
856
+ ## Prestatieproblemen
857
+
858
+ | Probleem | Impact | Workaround | Oplossingsplan |
859
+ |----------|--------|------------|----------------|
860
+ | [Probleem] | [Gebruikersimpact] | [Tijdelijke oplossing] | [Permanente oplossing] |
861
+ `;
862
+ }
863
+ function getGlossaryTemplate() {
864
+ return `# 12. Woordenlijst
865
+
866
+ **Doel**: Definieert belangrijke zakelijke en technische termen om consistente terminologie te waarborgen.
867
+
868
+ ## Zakelijke Termen
869
+
870
+ | Term | Definitie |
871
+ |------|-----------|
872
+ | [Zakelijke Term 1] | [Duidelijke, beknopte definitie] |
873
+ | [Zakelijke Term 2] | [Definitie] |
874
+
875
+ ## Technische Termen
876
+
877
+ | Term | Definitie | Synoniemen |
878
+ |------|-----------|------------|
879
+ | [Technische Term 1] | [Definitie] | [Alternatieve namen] |
880
+ | [Technische Term 2] | [Definitie] | [Alternatieve namen] |
881
+
882
+ ## Afkortingen en Acroniemen
883
+
884
+ | Afkorting | Volledige Naam | Context |
885
+ |-----------|----------------|---------|
886
+ | API | Application Programming Interface | [Wanneer/waar gebruikt] |
887
+ | SLA | Service Level Agreement | [Context] |
888
+ | JWT | JSON Web Token | [Gebruik] |
889
+
890
+ ## Bedrijfsconcepten
891
+
892
+ | Concept | Beschrijving | Gerelateerde Termen |
893
+ |---------|--------------|---------------------|
894
+ | [Concept 1] | [Gedetailleerde uitleg] | [Gerelateerde concepten] |
895
+
896
+ ## Systeemspecifieke Termen
897
+
898
+ | Term | Definitie | Voorbeeld |
899
+ |------|-----------|-----------|
900
+ | [Systeemterm 1] | [Wat het betekent in dit systeem] | [Gebruiksvoorbeeld] |
901
+
902
+ ## Verouderde Termen
903
+
904
+ | Oude Term | Vervangen door | Reden |
905
+ |-----------|----------------|-------|
906
+ | [Oude term] | [Nieuwe term] | [Waarom gewijzigd] |
907
+
908
+ ---
909
+
910
+ **Opmerking**: Houd deze woordenlijst up-to-date wanneer nieuwe termen verschijnen. Link vanuit andere delen van de documentatie naar deze sectie wanneer deze termen worden gebruikt.
911
+ `;
912
+ }
913
+ /**
914
+ * Get the Dutch workflow guide
915
+ */
916
+ export function getWorkflowGuide() {
917
+ return `# arc42 Architectuur-Documentatie Workflow-gids
918
+
919
+ ## Overzicht
920
+
921
+ Deze gids helpt u bij het documenteren van uw softwarearchitectuur met behulp van het arc42-template. Het arc42-template is een praktisch, bewezen template voor het documenteren van software- en systeemarchitecturen.
922
+
923
+ ## Beschikbare Talen
924
+
925
+ Deze arc42 MCP Server ondersteunt meerdere talen voor documentatie:
926
+
927
+ | Code | Taal | Moedertaalnaam |
928
+ |------|------|----------------|
929
+ | EN | Engels | English |
930
+ | DE | Duits | Deutsch |
931
+ | CZ | Tsjechisch | Čeština |
932
+ | ES | Spaans | Español |
933
+ | FR | Frans | Français |
934
+ | IT | Italiaans | Italiano |
935
+ | NL | Nederlands | Nederlands |
936
+ | PT | Portugees | Português |
937
+ | RU | Russisch | Русский |
938
+ | UKR | Oekraïens | Українська |
939
+ | ZH | Chinees | 中文 |
940
+
941
+ ## Aan de Slag
942
+
943
+ ### Stap 1: Workspace Initialiseren
944
+
945
+ Gebruik de \`arc42-init\`-tool om uw documentatie-workspace aan te maken:
946
+
947
+ \`\`\`
948
+ arc42-init(projectName: "Mijn Project", language: "NL")
949
+ \`\`\`
950
+
951
+ U kunt een andere taal specificeren met de ISO-taalcode.
952
+
953
+ ### Stap 2: Status Controleren
954
+
955
+ Gebruik \`arc42-status\` om de huidige status van uw documentatie te zien:
956
+
957
+ \`\`\`
958
+ arc42-status()
959
+ \`\`\`
960
+
961
+ ### Stap 3: Sectie-templates Genereren
962
+
963
+ Gebruik \`generate-template\` om gedetailleerde templates voor elke sectie te krijgen:
964
+
965
+ \`\`\`
966
+ generate-template(section: "01_introduction_and_goals", language: "NL")
967
+ \`\`\`
968
+
969
+ ## De 12 arc42-Secties
970
+
971
+ 1. **Introductie en Doelen** - Begin hier! Definieer wat u bouwt en waarom.
972
+ 2. **Beperkingen** - Wat mag u NIET doen?
973
+ 3. **Scope en Context** - Wat is binnen en wat is buiten scope?
974
+ 4. **Oplossingsstrategie** - High-level benadering om het probleem op te lossen.
975
+ 5. **Bouwstenenweergave** - Statische structuur van uw systeem.
976
+ 6. **Runtime-weergave** - Dynamisch gedrag en scenario's.
977
+ 7. **Deployment-weergave** - Hoe wordt het gedeployed en beheerd?
978
+ 8. **Cross-cutting Concepten** - Patronen die door het hele systeem worden gebruikt.
979
+ 9. **Architectuurbeslissingen** - Belangrijke beslissingen en hun motivatie.
980
+ 10. **Kwaliteitseisen** - Concrete kwaliteitsscenario's.
981
+ 11. **Risico's en Technische Schuld** - Wat kan er misgaan?
982
+ 12. **Woordenlijst** - Definieer uw termen.
983
+
984
+ ## Best Practices
985
+
986
+ 1. **Begin met Sectie 1** - Begrip van doelen is fundamenteel
987
+ 2. **Houd het beknopt** - arc42 is pragmatisch, niet bureaucratisch
988
+ 3. **Gebruik diagrammen** - Een plaatje zegt meer dan duizend woorden
989
+ 4. **Documenteer beslissingen** - Uw toekomstige zelf zal u dankbaar zijn
990
+ 5. **Itereer** - Architectuurdocumentatie is nooit "af"
991
+
992
+ ## Beschikbare Tools
993
+
994
+ - \`arc42-init\` - Documentatie-workspace initialiseren
995
+ - \`arc42-status\` - Documentatiestatus controleren
996
+ - \`generate-template\` - Sectie-templates genereren
997
+ - \`update-section\` - Sectie-inhoud bijwerken
998
+ - \`get-section\` - Sectie-inhoud lezen
999
+ - \`arc42-workflow-guide\` - Deze gids weergeven
1000
+
1001
+ ## Resources
1002
+
1003
+ - [arc42 Website](https://arc42.org/)
1004
+ - [arc42 Documentatie](https://docs.arc42.org/)
1005
+ - [arc42 Voorbeelden](https://arc42.org/examples)
1006
+ `;
1007
+ }
1008
+ /**
1009
+ * Get the Dutch README content
1010
+ */
1011
+ export function getReadmeContent(projectName) {
1012
+ const name = projectName || 'Project';
1013
+ return `# ${name} - Architectuur-Documentatie
1014
+
1015
+ Deze directory bevat de architectuurdocumentatie voor ${name}, gebaseerd op het arc42-template.
1016
+
1017
+ ## Structuur
1018
+
1019
+ - \`sections/\` - Individuele sectie-markdown-bestanden (12 secties)
1020
+ - \`images/\` - Diagrammen en afbeeldingen
1021
+ - \`arc42-documentation.md\` - Gecombineerde hoofddocumentatie
1022
+ - \`config.yaml\` - Configuratie
1023
+
1024
+ ## De 12 arc42-Secties
1025
+
1026
+ 1. **Introductie en Doelen** - Vereisten, kwaliteitsdoelen, stakeholders
1027
+ 2. **Beperkingen** - Technische en organisatorische beperkingen
1028
+ 3. **Scope en Context** - Zakelijke en technische context
1029
+ 4. **Oplossingsstrategie** - Fundamentele beslissingen en strategieën
1030
+ 5. **Bouwstenenweergave** - Statische decompositie
1031
+ 6. **Runtime-weergave** - Dynamisch gedrag
1032
+ 7. **Deployment-weergave** - Infrastructuur en deployment
1033
+ 8. **Cross-cutting Concepten** - Overkoepelende regelingen en benaderingen
1034
+ 9. **Architectuurbeslissingen** - Belangrijke beslissingen (ADR's)
1035
+ 10. **Kwaliteitseisen** - Kwaliteitsboom en scenario's
1036
+ 11. **Risico's en Technische Schuld** - Bekende problemen en risico's
1037
+ 12. **Woordenlijst** - Belangrijke termen
1038
+
1039
+ ## Aan de Slag
1040
+
1041
+ 1. Begin met Sectie 1: Introductie en Doelen
1042
+ 2. Werk iteratief door de secties
1043
+ 3. Gebruik diagrammen om concepten te illustreren
1044
+ 4. Focus op beslissingen, niet op implementatiedetails
1045
+
1046
+ ## Documentatie Genereren
1047
+
1048
+ Gebruik de MCP-tools voor:
1049
+ - Status controleren: \`arc42-status\`
1050
+ - Templates genereren: \`generate-template\`
1051
+ - Secties bijwerken: \`update-section\`
1052
+
1053
+ ## Resources
1054
+
1055
+ - [arc42 Website](https://arc42.org/)
1056
+ - [arc42 Documentatie](https://docs.arc42.org/)
1057
+ - [arc42 Voorbeelden](https://arc42.org/examples)
1058
+ `;
1059
+ }
1060
+ //# sourceMappingURL=templates.js.map