@noyrax/documentation-system-plugin 1.0.4-beta.3 → 1.0.4-beta.5

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 (197) hide show
  1. package/out/cache/ast-cache.js +69 -0
  2. package/out/cache/ast-cache.js.map +1 -0
  3. package/out/cache/dependencies-cache.js +73 -0
  4. package/out/cache/dependencies-cache.js.map +1 -0
  5. package/out/cache/output-cache.js +69 -0
  6. package/out/cache/output-cache.js.map +1 -0
  7. package/out/cache/signature-cache.js +60 -0
  8. package/out/cache/signature-cache.js.map +1 -0
  9. package/out/cli/generate-cli.js +345 -0
  10. package/out/cli/generate-cli.js.map +1 -0
  11. package/out/cli/scan-cli.js +157 -0
  12. package/out/cli/scan-cli.js.map +1 -0
  13. package/out/cli/validate-cli.js +258 -0
  14. package/out/cli/validate-cli.js.map +1 -0
  15. package/out/core/async.js +38 -0
  16. package/out/core/async.js.map +1 -0
  17. package/out/core/consolidation.js +230 -0
  18. package/out/core/consolidation.js.map +1 -0
  19. package/out/core/git.js +48 -0
  20. package/out/core/git.js.map +1 -0
  21. package/out/core/language-detection.js +29 -0
  22. package/out/core/language-detection.js.map +1 -0
  23. package/out/core/scanner.js +180 -0
  24. package/out/core/scanner.js.map +1 -0
  25. package/out/core/signature-formatter.js +162 -0
  26. package/out/core/signature-formatter.js.map +1 -0
  27. package/out/core/symbol-classifier.js +96 -0
  28. package/out/core/symbol-classifier.js.map +1 -0
  29. package/out/core/symbols.js +24 -0
  30. package/out/core/symbols.js.map +1 -0
  31. package/out/drift/index.js +28 -0
  32. package/out/drift/index.js.map +1 -0
  33. package/out/extension.js +984 -0
  34. package/out/extension.js.map +1 -0
  35. package/out/generator/adr-linker.js +216 -0
  36. package/out/generator/adr-linker.js.map +1 -0
  37. package/out/generator/change-report.js +124 -0
  38. package/out/generator/change-report.js.map +1 -0
  39. package/out/generator/dependency-graph.js +98 -0
  40. package/out/generator/dependency-graph.js.map +1 -0
  41. package/out/generator/index.js +117 -0
  42. package/out/generator/index.js.map +1 -0
  43. package/out/generator/module-doc.js +438 -0
  44. package/out/generator/module-doc.js.map +1 -0
  45. package/out/generator/system-metadata.js +202 -0
  46. package/out/generator/system-metadata.js.map +1 -0
  47. package/out/index/index.js +161 -0
  48. package/out/index/index.js.map +1 -0
  49. package/out/logging/index.js +24 -0
  50. package/out/logging/index.js.map +1 -0
  51. package/out/parsers/dependencies.js +126 -0
  52. package/out/parsers/dependencies.js.map +1 -0
  53. package/out/parsers/json-yaml.js +121 -0
  54. package/out/parsers/json-yaml.js.map +1 -0
  55. package/out/parsers/python.js +160 -0
  56. package/out/parsers/python.js.map +1 -0
  57. package/out/parsers/ts-js.js +598 -0
  58. package/out/parsers/ts-js.js.map +1 -0
  59. package/out/parsers/types.js +3 -0
  60. package/out/parsers/types.js.map +1 -0
  61. package/out/ui/commands-provider.js +91 -0
  62. package/out/ui/commands-provider.js.map +1 -0
  63. package/out/ui/status-bar.js +85 -0
  64. package/out/ui/status-bar.js.map +1 -0
  65. package/out/validator/index.js +185 -0
  66. package/out/validator/index.js.map +1 -0
  67. package/out/validator/signature-matching.js +261 -0
  68. package/out/validator/signature-matching.js.map +1 -0
  69. package/out/validator/status.js +38 -0
  70. package/out/validator/status.js.map +1 -0
  71. package/package.json +9 -1
  72. package/.vscodeignore +0 -41
  73. package/MCP_SERVER_SETUP.md +0 -371
  74. package/assets/icon.svg +0 -27
  75. package/docs/LINKEDIN_ANTWORT_SEQUENZDIAGRAMME.md +0 -190
  76. package/docs/SEQUENZDIAGRAMM_BEWEIS.md +0 -469
  77. package/docs/SEQUENZDIAGRAMM_VALIDATE_FLOW.md +0 -282
  78. package/docs/adr/001-signatur-abweichung-fix.md +0 -54
  79. package/docs/adr/002-file-specific-validation-1.0.1.md +0 -45
  80. package/docs/adr/003-documentation-generation-bugs.md +0 -134
  81. package/docs/adr/004-validator-signature-matching-fix.md +0 -121
  82. package/docs/adr/005-validator-generic-simplification-tightening.md +0 -35
  83. package/docs/adr/006-parser-variable-type-extraction.md +0 -33
  84. package/docs/adr/007-ts-parser-load-libs-for-accurate-types.md +0 -31
  85. package/docs/adr/008-dependencies-cache-phase1.md +0 -133
  86. package/docs/adr/009-consolidation-union-logic-phase1-2.md +0 -147
  87. package/docs/adr/010-extension-union-integration-phase1-3-and-phase2.md +0 -179
  88. package/docs/adr/011-module-doc-change-tracking-phase3.md +0 -190
  89. package/docs/adr/012-git-deletions-change-report-phase4.md +0 -235
  90. package/docs/adr/013-system-functionality-fixes.md +0 -279
  91. package/docs/adr/014-rules-migration-und-mcp-integration.md +0 -113
  92. package/docs/adr/015-global-agent-package.md +0 -158
  93. package/docs/adr/016-produktisierung-docguard.md +0 -193
  94. package/docs/adr/017-signature-matching-optional-fields.md +0 -128
  95. package/docs/adr/018-rebranding-docguard-to-noyrax.md +0 -109
  96. package/docs/adr/019-system-schwachstellen-analyse-und-fixes.md +0 -204
  97. package/docs/adr/020-api-doc-tiefe-und-signatureformatter.md +0 -74
  98. package/docs/adr/021-semantic-api-docs-and-symbol-classifier.md +0 -125
  99. package/docs/adr/022-semantic-class-and-constants-rendering.md +0 -82
  100. package/docs/adr/023-adr-verknuepfung-modul-doku.md +0 -54
  101. package/docs/adr/024-cursor-rules-mehrdimensionaler-raum.md +0 -230
  102. package/docs/adr/025-mcp-tools-scan-validate-cli-bridge.md +0 -202
  103. package/docs/adr/026-reality-driven-development-system.md +0 -173
  104. package/docs/adr/027-scanner-excludes-and-union-logic-fix.md +0 -189
  105. package/docs/adr/028-src-coverage-union-resync.md +0 -124
  106. package/docs/adr/029-parser-flow-kopplung-und-sync-drift-modi.md +0 -102
  107. package/docs/adr/030-dependency-import-symbol-names-preservation.md +0 -123
  108. package/docs/adr/031-generate-cli-vollstaendige-dokumentation.md +0 -99
  109. package/docs/adr/032-windows-optimized-verification-scripts.md +0 -165
  110. package/docs/adr/036-enhanced-dependency-metadata.md +0 -190
  111. package/docs/adr/TEMPLATE.md +0 -76
  112. package/docs/index/symbols.jsonl +0 -78
  113. package/docs/modules/action__action.yml.md +0 -50
  114. package/docs/modules/documentation.config.schema.json.md +0 -37
  115. package/docs/modules/mcp__package.json.md +0 -130
  116. package/docs/modules/mcp__src__resources__docs.ts.md +0 -94
  117. package/docs/modules/mcp__src__server.ts.md +0 -15
  118. package/docs/modules/mcp__src__tools__drift.ts.md +0 -114
  119. package/docs/modules/mcp__src__tools__impact.ts.md +0 -130
  120. package/docs/modules/mcp__src__tools__scan.ts.md +0 -75
  121. package/docs/modules/mcp__src__tools__validate.ts.md +0 -116
  122. package/docs/modules/mcp__src__tools__verify-adrs.ts.md +0 -106
  123. package/docs/modules/mcp__tsconfig.json.md +0 -22
  124. package/docs/modules/package.json.md +0 -130
  125. package/docs/modules/packages__doc-system-agent__examples__basic-project__package.json.md +0 -43
  126. package/docs/modules/packages__doc-system-agent__examples__basic-project__src__calculator.ts.md +0 -81
  127. package/docs/modules/packages__doc-system-agent__package.json.md +0 -154
  128. package/docs/modules/packages__doc-system-agent__src__cli__index.ts.md +0 -8
  129. package/docs/modules/packages__doc-system-agent__src__cli__init.ts.md +0 -93
  130. package/docs/modules/packages__doc-system-agent__src__cli__update.ts.md +0 -113
  131. package/docs/modules/packages__doc-system-agent__src__constants.ts.md +0 -29
  132. package/docs/modules/packages__doc-system-agent__src__index.ts.md +0 -234
  133. package/docs/modules/packages__doc-system-agent__src__mcp__resources__docs.ts.md +0 -94
  134. package/docs/modules/packages__doc-system-agent__src__mcp__server.ts.md +0 -17
  135. package/docs/modules/packages__doc-system-agent__src__mcp__tools__drift.ts.md +0 -38
  136. package/docs/modules/packages__doc-system-agent__src__mcp__tools__impact.ts.md +0 -75
  137. package/docs/modules/packages__doc-system-agent__src__mcp__tools__scan.ts.md +0 -23
  138. package/docs/modules/packages__doc-system-agent__src__mcp__tools__validate.ts.md +0 -23
  139. package/docs/modules/packages__doc-system-agent__src__mcp__tools__verify-adrs.ts.md +0 -106
  140. package/docs/modules/packages__doc-system-agent__src__mcp__types.ts.md +0 -355
  141. package/docs/modules/packages__doc-system-agent__tsconfig.json.md +0 -22
  142. package/docs/modules/scripts__verify-adrs.js.md +0 -97
  143. package/docs/modules/scripts__verify-architecture.js.md +0 -93
  144. package/docs/modules/scripts__verify-imports.js.md +0 -114
  145. package/docs/modules/src____tests____setup.ts.md +0 -8
  146. package/docs/modules/src____tests____signature-formatter.test.ts.md +0 -16
  147. package/docs/modules/src____tests____snapshot-doc-generation.test.ts.md +0 -8
  148. package/docs/modules/src____tests____symbol-classifier.test.ts.md +0 -16
  149. package/docs/modules/src__cache__ast-cache.ts.md +0 -91
  150. package/docs/modules/src__cache__dependencies-cache.ts.md +0 -89
  151. package/docs/modules/src__cache__output-cache.ts.md +0 -91
  152. package/docs/modules/src__cache__signature-cache.ts.md +0 -76
  153. package/docs/modules/src__cli__generate-cli.ts.md +0 -130
  154. package/docs/modules/src__cli__scan-cli.ts.md +0 -99
  155. package/docs/modules/src__cli__validate-cli.ts.md +0 -144
  156. package/docs/modules/src__core__async.ts.md +0 -18
  157. package/docs/modules/src__core__consolidation.ts.md +0 -157
  158. package/docs/modules/src__core__git.ts.md +0 -35
  159. package/docs/modules/src__core__language-detection.ts.md +0 -31
  160. package/docs/modules/src__core__scanner.ts.md +0 -100
  161. package/docs/modules/src__core__signature-formatter.ts.md +0 -232
  162. package/docs/modules/src__core__symbol-classifier.ts.md +0 -178
  163. package/docs/modules/src__core__symbols.ts.md +0 -31
  164. package/docs/modules/src__drift__index.ts.md +0 -53
  165. package/docs/modules/src__extension.ts.md +0 -418
  166. package/docs/modules/src__generator__adr-linker.ts.md +0 -154
  167. package/docs/modules/src__generator__change-report.ts.md +0 -85
  168. package/docs/modules/src__generator__dependency-graph.ts.md +0 -63
  169. package/docs/modules/src__generator__index.ts.md +0 -40
  170. package/docs/modules/src__generator__module-doc.ts.md +0 -242
  171. package/docs/modules/src__index__index.ts.md +0 -159
  172. package/docs/modules/src__logging__index.ts.md +0 -87
  173. package/docs/modules/src__parsers__dependencies.ts.md +0 -69
  174. package/docs/modules/src__parsers__json-yaml.ts.md +0 -96
  175. package/docs/modules/src__parsers__python.ts.md +0 -73
  176. package/docs/modules/src__parsers__ts-js.ts.md +0 -48
  177. package/docs/modules/src__parsers__types.ts.md +0 -117
  178. package/docs/modules/src__ui__commands-provider.ts.md +0 -70
  179. package/docs/modules/src__ui__status-bar.ts.md +0 -79
  180. package/docs/modules/src__validator__index.ts.md +0 -211
  181. package/docs/modules/src__validator__signature-matching.ts.md +0 -209
  182. package/docs/modules/src__validator__status.ts.md +0 -72
  183. package/docs/modules/test-mcp-resources.js.md +0 -27
  184. package/docs/modules/tsconfig.json.md +0 -22
  185. package/docs/system/CHANGE_REPORT.md +0 -26
  186. package/docs/system/DEPENDENCIES.md +0 -403
  187. package/docs/system/DEPENDENCY_GRAPH.md +0 -336
  188. package/docs/system/NAVIGATION_SPACE_ANALYSIS.md +0 -244
  189. package/docs/system/NPX_CACHE_FIX.md +0 -85
  190. package/docs/system/NPX_LOCAL_USAGE.md +0 -66
  191. package/docs/system/PLUGIN_ECOSYSTEM_STATUS.md +0 -465
  192. package/docs/system/PLUGIN_UPDATE_GUIDE.md +0 -212
  193. package/docs/system/RULES_UPDATE_GUIDE.md +0 -182
  194. package/docs/system/SYSTEM_ANALYSIS.md +0 -947
  195. package/docs/system/SYSTEM_METADATA.json +0 -37
  196. package/documentation.config.schema.json +0 -77
  197. package/publish.ps1 +0 -21
@@ -1,190 +0,0 @@
1
- # LinkedIn-Antwort: Sequenzdiagramme aus automatisierter Dokumentation
2
-
3
- ## Kontext
4
- Ein LinkedIn-Nutzer fragte, ob das Dokumentations-System auch komplexe Sequenzdiagramme (z.B. für Payment-Flows) generieren kann, oder ob dafür noch manuelle Arbeit nötig ist.
5
-
6
- ---
7
-
8
- ## Beweis-Zusammenfassung (mit echten Daten)
9
-
10
- ### Was ich gemacht habe:
11
-
12
- 1. **Gelesen**:
13
- - `docs/system/DEPENDENCIES.md` (330 Zeilen Import-Übersicht)
14
- - `docs/system/DEPENDENCY_GRAPH.md` (281 Zeilen Mermaid-Graph, 119 Knoten)
15
- - `docs/index/symbols.jsonl` (548 Symbole mit Dependencies)
16
- - `docs/modules/*.md` (70+ Modul-Dokumentationen)
17
-
18
- 2. **Identifiziert**:
19
- - Einstiegspunkt `scanSystemTs()` aus `src/extension.ts`
20
- - 22 direkte Dependencies (aus symbols.jsonl Zeile 417)
21
-
22
- 3. **Rekonstruiert**:
23
- - Vollständige Aufrufkette über 14 beteiligte Module
24
- - Alle Signaturen und Datentypen aus den Modul-Dokus
25
-
26
- 4. **Generiert**:
27
- - Mermaid-Sequenzdiagramm mit 6 Phasen und 15 Teilnehmern
28
- - Zweites Diagramm für den Validierungs-Flow
29
-
30
- ### Konkrete Zahlen:
31
-
32
- | Artefakt | Inhalt |
33
- |----------|--------|
34
- | `DEPENDENCIES.md` | 330 Zeilen, alle Import-Beziehungen |
35
- | `DEPENDENCY_GRAPH.md` | 119 Knoten, 160+ Kanten |
36
- | `symbols.jsonl` | 548 Symbole mit Dependencies |
37
- | `modules/*.md` | 70+ Dateien mit Signaturen |
38
-
39
- ---
40
-
41
- ## Antwort-Vorschlag für LinkedIn
42
-
43
- > **Genau das habe ich gerade praktisch bewiesen – mit echten Daten aus dem System!**
44
- >
45
- > Ich habe aus den automatisch generierten Dokumentations-Artefakten ein vollständiges Sequenzdiagramm für den "System-Scan"-Flow abgeleitet:
46
- >
47
- > **Die Quellen:**
48
- > - `docs/system/DEPENDENCIES.md` → 330 Zeilen Import-Übersicht
49
- > - `docs/system/DEPENDENCY_GRAPH.md` → Mermaid-Graph mit 119 Knoten
50
- > - `docs/index/symbols.jsonl` → 548 Symbole mit ihren Dependencies
51
- > - `docs/modules/*.md` → 70+ Modul-Dokumentationen mit Signaturen
52
- >
53
- > **Das Ergebnis:**
54
- > - 14 beteiligte Module identifiziert
55
- > - 6 Phasen im Ablauf (Scan → Parse → Cache → Generate → Save → Validate)
56
- > - Vollständiges Mermaid-Sequenzdiagramm mit allen Aufrufen
57
- >
58
- > **Der Trick ist:**
59
- > - Jedes Symbol in `symbols.jsonl` hat ein `dependencies`-Array
60
- > - Die Signaturen in `docs/modules/` zeigen Parameter und Rückgabewerte
61
- > - Aus beidem ergibt sich die Aufrufkette
62
- >
63
- > **Für ein Payment-System würde das so aussehen:**
64
- > 1. `npm run scan` auf der Codebasis ausführen
65
- > 2. In `symbols.jsonl` nach `processPayment` o.ä. filtern
66
- > 3. Dependencies aus dem Array ablesen (PaypalAdapter, TransactionLogger, ...)
67
- > 4. Signaturen aus `docs/modules/` holen
68
- > 5. Sequenzdiagramm generieren
69
- >
70
- > **Was noch fehlt für 100% Automatisierung:**
71
- > - Domänen-spezifische Annotationen ("dies ist ein externer API-Call")
72
- > - Business-Varianten (Erfolg/Fehler-Pfade)
73
- >
74
- > Aber der **technische Kontext** kommt reproduzierbar aus dem Code – das ist der große Unterschied zu "alles jedes Mal neu prompten".
75
- >
76
- > 📎 Beweis-Dokument mit allen Quellen: [docs/SEQUENZDIAGRAMM_BEWEIS.md]
77
-
78
- ---
79
-
80
- ## Kernargumente (für die Diskussion)
81
-
82
- ### 1. Strukturierte Wissensbasis statt Ad-hoc-Prompts
83
- ```
84
- VORHER: "Hey KI, hier sind 15 Dateien, erkläre mir den Payment-Flow"
85
- NACHHER: "Zeige mir den Flow ab processPayment() – alle Dependencies stehen in symbols.jsonl"
86
- ```
87
-
88
- ### 2. Determinismus
89
- ```
90
- Gleicher Code-Stand
91
- → npm run scan
92
- → Gleiche docs/*-Artefakte
93
- → Gleiches Sequenzdiagramm
94
- ```
95
-
96
- ### 3. Skalierbarkeit
97
- - `symbols.jsonl` mit 548 Symbolen → funktioniert genauso mit 5.000
98
- - Kein manuelles "Context-Stuffing" mehr nötig
99
-
100
- ### 4. Erweiterbarkeit
101
- - Domänen-Views als zusätzliche Layer ergänzbar
102
- - Basis-Kontext bleibt automatisch aktuell
103
-
104
- ---
105
-
106
- ## Technische Details (für Interessierte)
107
-
108
- ### Wie die Dependencies in symbols.jsonl aussehen:
109
-
110
- ```json
111
- {
112
- "symbol_id": "ts://src/extension.ts#activate(f93629ec84e52398)",
113
- "path": "src/extension.ts",
114
- "kind": "function",
115
- "name": "activate",
116
- "dependencies": [
117
- "./cache/ast-cache",
118
- "./cache/signature-cache",
119
- "./core/scanner",
120
- "./generator/index",
121
- "./validator/index",
122
- // ... 17 weitere Module
123
- ]
124
- }
125
- ```
126
-
127
- ### Wie eine Modul-Doku aussieht:
128
-
129
- ```markdown
130
- # Modul: src/validator/index.ts
131
-
132
- ### function: validateSymbols
133
- \`\`\`ts
134
- validateSymbols(symbols: ParsedSymbol[]): ValidationReport
135
- \`\`\`
136
-
137
- ### interface: ValidationReport
138
- \`\`\`ts
139
- interface ValidationReport {
140
- totalSymbols: number;
141
- errors: string[];
142
- warnings: string[];
143
- status?: StatusReport;
144
- }
145
- \`\`\`
146
- ```
147
-
148
- ### Wie der Dependency-Graph aussieht:
149
-
150
- ```mermaid
151
- graph TD
152
- N98["src/extension.ts"]
153
- N110["src/validator/index.ts"]
154
- N111["src/validator/signature-matching.ts"]
155
-
156
- N98 --> N110
157
- N110 --> N111
158
- ```
159
-
160
- ---
161
-
162
- ## Nächste Schritte (optional)
163
-
164
- Falls gewünscht, könnte das System erweitert werden um:
165
-
166
- 1. **Automatische Sequenzdiagramm-Generierung**
167
- - Input: Use-Case-Name + Einstiegspunkt-Symbol
168
- - Output: Mermaid-Diagramm
169
-
170
- 2. **Domänen-Annotationen**
171
- - Markierung von externen Calls, DB-Zugriffen, etc.
172
- - Automatische `alt`/`opt`-Blöcke für Fehlerpfade
173
-
174
- 3. **Interaktive Exploration**
175
- - "Zeige mir den Flow von X nach Y"
176
- - Tiefe/Breite konfigurierbar
177
-
178
- ---
179
-
180
- ## Fazit
181
-
182
- **Das System liefert genau die strukturierte Wissensbasis, die für automatische Architektur-Diagramme nötig ist:**
183
-
184
- | Was | Woher |
185
- |-----|-------|
186
- | Alle Module und ihre Beziehungen | `DEPENDENCIES.md`, `DEPENDENCY_GRAPH.md` |
187
- | Alle Symbole mit Dependencies | `symbols.jsonl` |
188
- | Alle Signaturen und Typen | `docs/modules/*.md` |
189
-
190
- **Ergebnis: Sequenzdiagramme sind deterministisch aus diesen Artefakten ableitbar.**
@@ -1,469 +0,0 @@
1
- # Beweis: Sequenzdiagramme aus docs/index, docs/modules und docs/system ableiten
2
-
3
- Dieses Dokument beweist, dass aus den automatisch generierten Dokumentations-Artefakten (`docs/index`, `docs/modules`, `docs/system`) vollständige Sequenzdiagramme für beliebige Abläufe im System abgeleitet werden können.
4
-
5
- ---
6
-
7
- ## 1. Gewählter Use Case: "Dokumentations-Scan-Flow"
8
-
9
- ### 1.1 Use Case Definition
10
- **Ablauf**: Ein Benutzer führt den VS Code-Befehl "Scan System" aus, um die gesamte Codebasis zu scannen und Dokumentation zu generieren.
11
-
12
- ### 1.2 Einstiegspunkt (aus `docs/modules/src__extension.ts.md`)
13
- ```ts
14
- // Quelle: docs/modules/src__extension.ts.md, Zeile 137-139
15
- function scanSystemTs(): any
16
- ```
17
-
18
- ### 1.3 Einstiegspunkt mit Dependencies (aus `docs/index/symbols.jsonl`)
19
- ```json
20
- // Zeile 417 aus symbols.jsonl
21
- {
22
- "symbol_id": "ts://src/extension.ts#activate(f93629ec84e52398)",
23
- "path": "src/extension.ts",
24
- "kind": "function",
25
- "name": "activate",
26
- "dependencies": [
27
- "./cache/ast-cache",
28
- "./cache/dependencies-cache",
29
- "./cache/output-cache",
30
- "./cache/signature-cache",
31
- "./core/async",
32
- "./core/consolidation",
33
- "./core/git",
34
- "./core/scanner",
35
- "./drift/index",
36
- "./generator/change-report",
37
- "./generator/dependency-graph",
38
- "./generator/index",
39
- "./index/index",
40
- "./parsers/dependencies",
41
- "./parsers/json-yaml",
42
- "./parsers/python",
43
- "./parsers/ts-js",
44
- "./parsers/types",
45
- "./ui/commands-provider",
46
- "./ui/status-bar",
47
- "./validator/index",
48
- "./validator/status",
49
- "fs", "path", "vscode"
50
- ]
51
- }
52
- ```
53
-
54
- ---
55
-
56
- ## 2. Beteiligte Module aus `docs/system/DEPENDENCIES.md`
57
-
58
- ### 2.1 Direkte Abhängigkeiten von `src/extension.ts` (Zeilen 213-241)
59
-
60
- ```markdown
61
- ## src/extension.ts
62
-
63
- ### Imports
64
- - `./cache/ast-cache` (computeFileHash, loadAstHashCache, saveAstHashCache)
65
- - `./cache/dependencies-cache` (loadDependenciesCache, saveDependenciesCache)
66
- - `./cache/output-cache` (computeContentHash, loadOutputHashCache, saveOutputHashCache)
67
- - `./cache/signature-cache` (loadSignatureCache, saveSignatureCache)
68
- - `./core/async` (mapLimit)
69
- - `./core/consolidation` (buildDependenciesUnion, buildDependenciesUnionWithDebug, buildSymbolsUnion, UnionDebugInfo)
70
- - `./core/git` (getChangedFiles, getDeletedFiles)
71
- - `./core/scanner` (scanWorkspace)
72
- - `./drift/index` (computeCacheEntries, detectDrift)
73
- - `./generator/change-report` (extractChangesFromModuleDocs, generateChangeReport)
74
- - `./generator/dependency-graph` (generateDependencyOverview, generateMermaidGraph)
75
- - `./generator/index` (generatePerFileDocs)
76
- - `./index/index` (buildIndexFromSymbols, writeJsonlIndex)
77
- - `./parsers/dependencies` (extractPythonDependencies, extractTsJsDependencies, ModuleDependency)
78
- - `./parsers/json-yaml` (JsonYamlParser)
79
- - `./parsers/python` (PythonParser)
80
- - `./parsers/ts-js` (TsJsParser)
81
- - `./parsers/types` (ParsedSymbol, ParserAdapter)
82
- - `./ui/commands-provider` (CommandsProvider)
83
- - `./ui/status-bar` (StatusBarManager)
84
- - `./validator/index` (computeCoverage, validateMarkdownDir)
85
- - `./validator/status` (computeValidationStatus)
86
- - `fs`, `path`, `vscode`
87
- ```
88
-
89
- ### 2.2 Transitive Abhängigkeiten (aus DEPENDENCIES.md)
90
-
91
- | Modul | Importiert von | Eigene Imports |
92
- |-------|----------------|----------------|
93
- | `src/core/scanner.ts` | extension.ts | `../logging/index`, `./language-detection`, `fs`, `ignore`, `path` |
94
- | `src/parsers/ts-js.ts` | extension.ts | `ts-morph`, `./dependencies`, `./types`, `path` |
95
- | `src/parsers/dependencies.ts` | extension.ts, parsers | `ts-morph`, `path` |
96
- | `src/generator/index.ts` | extension.ts | `../parsers/types`, `./module-doc`, `fs`, `path` |
97
- | `src/generator/module-doc.ts` | generator/index.ts | `../parsers/types` |
98
- | `src/generator/dependency-graph.ts` | extension.ts | `../parsers/dependencies` |
99
- | `src/validator/index.ts` | extension.ts | `../logging/index`, `../parsers/types`, `./signature-matching`, `./status`, `fs`, `path` |
100
- | `src/validator/signature-matching.ts` | validator/index.ts | `../core/symbols`, `../parsers/types` |
101
- | `src/drift/index.ts` | extension.ts | `../cache/signature-cache`, `../core/symbols`, `../parsers/types` |
102
- | `src/index/index.ts` | extension.ts | `../core/symbols`, `../parsers/dependencies`, `../parsers/types`, `fs`, `path` |
103
-
104
- ---
105
-
106
- ## 3. Abhängigkeitsgraph aus `docs/system/DEPENDENCY_GRAPH.md`
107
-
108
- ### 3.1 Relevanter Ausschnitt (Mermaid-Graph, Zeilen 97-120)
109
-
110
- ```mermaid
111
- graph TD
112
- N98["src/extension.ts"]
113
- N95["src/core/scanner.ts"]
114
- N107["src/parsers/ts-js.ts"]
115
- N104["src/parsers/dependencies.ts"]
116
- N101["src/generator/index.ts"]
117
- N102["src/generator/module-doc.ts"]
118
- N100["src/generator/dependency-graph.ts"]
119
- N103["src/index/index.ts"]
120
- N97["src/drift/index.ts"]
121
- N110["src/validator/index.ts"]
122
- N111["src/validator/signature-matching.ts"]
123
-
124
- N98 --> N21["./core/scanner"]
125
- N98 --> N36["./parsers/ts-js"]
126
- N98 --> N33["./parsers/dependencies"]
127
- N98 --> N26["./generator/index"]
128
- N98 --> N25["./generator/dependency-graph"]
129
- N98 --> N27["./index/index"]
130
- N98 --> N23["./drift/index"]
131
- N98 --> N51["./validator/index"]
132
-
133
- N101 --> N32["./module-doc"]
134
- N110 --> N39["./signature-matching"]
135
- ```
136
-
137
- ### 3.2 Abgeleitete Teilnehmer-Hierarchie
138
-
139
- Aus dem Graphen ergibt sich folgende Aufruf-Hierarchie:
140
-
141
- ```
142
- src/extension.ts (Entry Point)
143
- ├── src/core/scanner.ts
144
- ├── src/parsers/ts-js.ts
145
- │ └── src/parsers/dependencies.ts
146
- ├── src/cache/signature-cache.ts
147
- ├── src/drift/index.ts
148
- ├── src/generator/index.ts
149
- │ └── src/generator/module-doc.ts
150
- ├── src/generator/dependency-graph.ts
151
- ├── src/generator/change-report.ts
152
- ├── src/index/index.ts
153
- └── src/validator/index.ts
154
- └── src/validator/signature-matching.ts
155
- ```
156
-
157
- ---
158
-
159
- ## 4. Konkrete Symbole aus `docs/index/symbols.jsonl`
160
-
161
- ### 4.1 Scanner-Symbole (Zeilen 406-411)
162
- ```json
163
- {"symbol_id":"ts://src/core/scanner.ts#scanWorkspace(606c9426b4f0d06a)","path":"src/core/scanner.ts","kind":"function","name":"scanWorkspace","dependencies":["../logging/index","./language-detection","fs","ignore","path"]}
164
- {"symbol_id":"ts://src/core/scanner.ts#ScannedFile(7c102c616459a20a)","path":"src/core/scanner.ts","kind":"interface","name":"ScannedFile"}
165
- {"symbol_id":"ts://src/core/scanner.ts#ScanOptions(d2d336b1afc58b23)","path":"src/core/scanner.ts","kind":"interface","name":"ScanOptions"}
166
- ```
167
-
168
- ### 4.2 Generator-Symbole (Zeilen 452-463)
169
- ```json
170
- {"symbol_id":"ts://src/generator/index.ts#generatePerFileDocs(7896bf436e864bf4)","path":"src/generator/index.ts","kind":"function","name":"generatePerFileDocs","dependencies":["../parsers/types","./module-doc","fs","path"]}
171
- {"symbol_id":"ts://src/generator/module-doc.ts#buildModuleDocWithChanges(a77408e193f866b3)","path":"src/generator/module-doc.ts","kind":"function","name":"buildModuleDocWithChanges","dependencies":["../parsers/types"]}
172
- {"symbol_id":"ts://src/generator/module-doc.ts#renderModuleDoc(4b110cf883155046)","path":"src/generator/module-doc.ts","kind":"function","name":"renderModuleDoc","dependencies":["../parsers/types"]}
173
- {"symbol_id":"ts://src/generator/dependency-graph.ts#generateMermaidGraph(8d456bec91d98bba)","path":"src/generator/dependency-graph.ts","kind":"function","name":"generateMermaidGraph","dependencies":["../parsers/dependencies"]}
174
- {"symbol_id":"ts://src/generator/dependency-graph.ts#generateDependencyOverview(45556c1fd48c7c5a)","path":"src/generator/dependency-graph.ts","kind":"function","name":"generateDependencyOverview","dependencies":["../parsers/dependencies"]}
175
- ```
176
-
177
- ### 4.3 Validator-Symbole (Zeilen 513-530)
178
- ```json
179
- {"symbol_id":"ts://src/validator/index.ts#validateSymbols(c5833b419ccb1672)","path":"src/validator/index.ts","kind":"function","name":"validateSymbols","dependencies":["../logging/index","../parsers/types","./signature-matching","./status","fs","path"]}
180
- {"symbol_id":"ts://src/validator/index.ts#validateMarkdownDir(d6efd94036f4ae1d)","path":"src/validator/index.ts","kind":"function","name":"validateMarkdownDir"}
181
- {"symbol_id":"ts://src/validator/index.ts#computeCoverage(d5f43a349f420f9b)","path":"src/validator/index.ts","kind":"function","name":"computeCoverage"}
182
- {"symbol_id":"ts://src/validator/signature-matching.ts#validateSignatureMatching(71446a0efaa1d0fa)","path":"src/validator/signature-matching.ts","kind":"function","name":"validateSignatureMatching","dependencies":["../core/symbols","../parsers/types"]}
183
- ```
184
-
185
- ### 4.4 Index-Symbole (Zeilen 465-467)
186
- ```json
187
- {"symbol_id":"ts://src/index/index.ts#buildIndexFromSymbols(...)","path":"src/index/index.ts","kind":"function","name":"buildIndexFromSymbols","dependencies":["../core/symbols","../parsers/dependencies","../parsers/types","fs","path"]}
188
- {"symbol_id":"ts://src/index/index.ts#writeJsonlIndex(...)","path":"src/index/index.ts","kind":"function","name":"writeJsonlIndex"}
189
- ```
190
-
191
- ---
192
-
193
- ## 5. Aufrufkette (rekonstruiert aus allen drei Quellen)
194
-
195
- ```
196
- scanSystemTs() [src/extension.ts]
197
-
198
- ├─→ scanWorkspace(options) [src/core/scanner.ts]
199
- │ Dependencies: ../logging/index, ./language-detection, fs, ignore, path
200
- │ → Liefert: ScannedFile[]
201
-
202
- ├─→ TsJsParser.parse(filePath, content) [src/parsers/ts-js.ts]
203
- │ Dependencies: ts-morph, ./dependencies, ./types, path
204
- │ → Liefert: ParsedSymbol[]
205
-
206
- ├─→ extractTsJsDependencies(sourceFile, path) [src/parsers/dependencies.ts]
207
- │ Dependencies: ts-morph, path
208
- │ → Liefert: ModuleDependency[]
209
-
210
- ├─→ loadSignatureCache(cacheFile) [src/cache/signature-cache.ts]
211
- │ Dependencies: fs, path
212
- │ → Liefert: SignatureCacheData | null
213
-
214
- ├─→ computeCacheEntries(symbols) [src/drift/index.ts]
215
- │ Dependencies: ../cache/signature-cache, ../core/symbols, ../parsers/types
216
- │ → Liefert: CacheEntry[]
217
-
218
- ├─→ detectDrift(previous, current) [src/drift/index.ts]
219
- │ → Liefert: DriftResult
220
-
221
- ├─→ generatePerFileDocs(symbols, modulesDir, existing) [src/generator/index.ts]
222
- │ Dependencies: ../parsers/types, ./module-doc, fs, path
223
- │ │
224
- │ ├─→ buildModuleDocWithChanges(symbols, existingDoc) [src/generator/module-doc.ts]
225
- │ │ Dependencies: ../parsers/types
226
- │ │ → Liefert: ModuleDoc
227
- │ │
228
- │ └─→ renderModuleDoc(doc, filePath) [src/generator/module-doc.ts]
229
- │ → Liefert: string (Markdown)
230
-
231
- ├─→ generateDependencyOverview(dependencies) [src/generator/dependency-graph.ts]
232
- │ Dependencies: ../parsers/dependencies
233
- │ → Liefert: string (DEPENDENCIES.md Inhalt)
234
-
235
- ├─→ generateMermaidGraph(dependencies) [src/generator/dependency-graph.ts]
236
- │ → Liefert: string (DEPENDENCY_GRAPH.md Inhalt)
237
-
238
- ├─→ buildIndexFromSymbols(symbols, dependencies) [src/index/index.ts]
239
- │ Dependencies: ../core/symbols, ../parsers/dependencies, ../parsers/types, fs, path
240
- │ → Liefert: IndexRow[]
241
-
242
- ├─→ writeJsonlIndex(rows, outFile) [src/index/index.ts]
243
- │ → Schreibt: symbols.jsonl
244
-
245
- ├─→ generateChangeReport(data) [src/generator/change-report.ts]
246
- │ Dependencies: ../parsers/dependencies, ../parsers/types
247
- │ → Liefert: string (CHANGE_REPORT.md Inhalt)
248
-
249
- ├─→ saveSignatureCache(cacheDir, data) [src/cache/signature-cache.ts]
250
- │ → Schreibt: Cache-Datei
251
-
252
- └─→ validateMarkdownDir(modulesDir, symbols) [src/validator/index.ts]
253
- Dependencies: ../logging/index, ../parsers/types, ./signature-matching, ./status, fs, path
254
-
255
- └─→ validateSignatureMatching(symbols, modulesDir) [src/validator/signature-matching.ts]
256
- Dependencies: ../core/symbols, ../parsers/types
257
- → Liefert: SignatureMismatch[]
258
- ```
259
-
260
- ---
261
-
262
- ## 6. Semantische Rollen (aus `docs/modules/`)
263
-
264
- | Modul | Sprechender Name | Rolle |
265
- |-------|------------------|-------|
266
- | `src/extension.ts` | **Extension Entry** | VS Code Extension Entry Point, orchestriert alle Abläufe |
267
- | `src/core/scanner.ts` | **Workspace Scanner** | Findet Dateien, filtert nach Globs, erkennt Sprachen |
268
- | `src/parsers/ts-js.ts` | **TS/JS Parser** | Parst TypeScript/JavaScript mit ts-morph |
269
- | `src/parsers/dependencies.ts` | **Dependency Extractor** | Extrahiert Import/Export-Beziehungen |
270
- | `src/cache/signature-cache.ts` | **Signature Cache** | Persistiert Signatur-Hashes für inkrementelle Läufe |
271
- | `src/drift/index.ts` | **Drift Detector** | Erkennt veraltete/geänderte Symbole |
272
- | `src/generator/index.ts` | **Doc Generator** | Orchestriert Modul-Dokumentations-Erzeugung |
273
- | `src/generator/module-doc.ts` | **Module Doc Builder** | Erzeugt Markdown für einzelne Module |
274
- | `src/generator/dependency-graph.ts` | **Graph Generator** | Erzeugt DEPENDENCIES.md und Mermaid-Graph |
275
- | `src/generator/change-report.ts` | **Change Reporter** | Erzeugt CHANGE_REPORT.md |
276
- | `src/index/index.ts` | **Index Builder** | Erzeugt symbols.jsonl |
277
- | `src/validator/index.ts` | **Validator** | Prüft Coverage und Markdown-Syntax |
278
- | `src/validator/signature-matching.ts` | **Signature Matcher** | Vergleicht Code- mit Doku-Signaturen |
279
-
280
- ---
281
-
282
- ## 7. Sequenzdiagramm in Mermaid-Notation
283
-
284
- ```mermaid
285
- sequenceDiagram
286
- autonumber
287
-
288
- participant User as Benutzer
289
- participant VSCode as VS Code UI
290
- participant Ext as Extension Entry<br/>(src/extension.ts)
291
- participant Scanner as Workspace Scanner<br/>(src/core/scanner.ts)
292
- participant Parser as TS/JS Parser<br/>(src/parsers/ts-js.ts)
293
- participant DepEx as Dependency Extractor<br/>(src/parsers/dependencies.ts)
294
- participant Cache as Signature Cache<br/>(src/cache/signature-cache.ts)
295
- participant Drift as Drift Detector<br/>(src/drift/index.ts)
296
- participant Gen as Doc Generator<br/>(src/generator/index.ts)
297
- participant ModDoc as Module Doc Builder<br/>(src/generator/module-doc.ts)
298
- participant Graph as Graph Generator<br/>(src/generator/dependency-graph.ts)
299
- participant Change as Change Reporter<br/>(src/generator/change-report.ts)
300
- participant Index as Index Builder<br/>(src/index/index.ts)
301
- participant Val as Validator<br/>(src/validator/index.ts)
302
- participant SigMatch as Signature Matcher<br/>(src/validator/signature-matching.ts)
303
-
304
- User->>VSCode: Klickt "Scan System"
305
- VSCode->>Ext: scanSystemTs()
306
-
307
- rect rgb(240, 248, 255)
308
- Note over Ext,Scanner: Phase 1: Dateien sammeln
309
- Ext->>Scanner: scanWorkspace(options: ScanOptions)
310
- Note right of Scanner: Nutzt: fs, ignore, path<br/>language-detection
311
- Scanner-->>Ext: ScannedFile[]
312
- end
313
-
314
- rect rgb(255, 248, 240)
315
- Note over Ext,DepEx: Phase 2: Parsing
316
- loop Für jede ScannedFile
317
- Ext->>Parser: parse(filePath, content)
318
- Note right of Parser: Nutzt: ts-morph
319
- Parser-->>Ext: ParsedSymbol[]
320
- Ext->>DepEx: extractTsJsDependencies(sourceFile, path)
321
- DepEx-->>Ext: ModuleDependency[]
322
- end
323
- end
324
-
325
- rect rgb(240, 255, 240)
326
- Note over Ext,Drift: Phase 3: Cache & Drift Detection
327
- Ext->>Cache: loadSignatureCache(cacheFile)
328
- Cache-->>Ext: SignatureCacheData | null
329
- Ext->>Drift: computeCacheEntries(symbols: ParsedSymbol[])
330
- Drift-->>Ext: CacheEntry[]
331
- Ext->>Drift: detectDrift(previous, current)
332
- Drift-->>Ext: DriftResult { staleSymbols: string[] }
333
- end
334
-
335
- rect rgb(255, 240, 255)
336
- Note over Ext,Index: Phase 4: Dokumentations-Generierung
337
- Ext->>Gen: generatePerFileDocs(symbols, modulesDir, existingDocs)
338
- loop Für jedes Modul
339
- Gen->>ModDoc: buildModuleDocWithChanges(symbols, existingDoc)
340
- ModDoc-->>Gen: ModuleDoc { blocks: ModuleDocBlock[] }
341
- Gen->>ModDoc: renderModuleDoc(doc, filePath)
342
- ModDoc-->>Gen: string (Markdown)
343
- end
344
- Gen-->>Ext: Map<string, string>
345
-
346
- Ext->>Graph: generateDependencyOverview(dependencies: ModuleDependency[])
347
- Graph-->>Ext: string (DEPENDENCIES.md)
348
- Ext->>Graph: generateMermaidGraph(dependencies)
349
- Graph-->>Ext: string (DEPENDENCY_GRAPH.md)
350
-
351
- Ext->>Index: buildIndexFromSymbols(symbols, dependencies)
352
- Index-->>Ext: IndexRow[]
353
- Ext->>Index: writeJsonlIndex(rows, outFile)
354
- Note right of Index: Schreibt: docs/index/symbols.jsonl
355
-
356
- Ext->>Change: generateChangeReport(data: ChangeData)
357
- Change-->>Ext: string (CHANGE_REPORT.md)
358
- end
359
-
360
- rect rgb(255, 255, 240)
361
- Note over Ext,Cache: Phase 5: Cache persistieren
362
- Ext->>Cache: saveSignatureCache(cacheDir, data)
363
- Cache-->>Ext: void
364
- end
365
-
366
- rect rgb(240, 240, 255)
367
- Note over Ext,SigMatch: Phase 6: Validierung
368
- Ext->>Val: validateMarkdownDir(modulesDir, symbols)
369
- Val->>SigMatch: validateSignatureMatching(symbols, modulesDir)
370
- SigMatch-->>Val: SignatureMismatch[]
371
- Val->>Val: computeCoverage(symbols, modulesDir, thresholds)
372
- Val-->>Ext: MarkdownDirReport + CoverageReport
373
- end
374
-
375
- Ext-->>VSCode: Ergebnis mit Status
376
- VSCode-->>User: Status-Meldung + Validierungsergebnis
377
- ```
378
-
379
- ---
380
-
381
- ## 8. Quellen-Nachweis (Vollständig)
382
-
383
- ### 8.1 Aus `docs/system/DEPENDENCIES.md`
384
-
385
- | Information | Zeilen |
386
- |-------------|--------|
387
- | Extension-Imports (22 Module) | 213-241 |
388
- | Scanner-Imports | 191-199 |
389
- | Parser-Imports | 297-304 |
390
- | Generator-Imports | 253-259 |
391
- | Validator-Imports | 315-323 |
392
-
393
- ### 8.2 Aus `docs/system/DEPENDENCY_GRAPH.md`
394
-
395
- | Information | Zeilen |
396
- |-------------|--------|
397
- | Node-Definitionen (N0-N119) | 3-119 |
398
- | Extension-Kanten (N98 →) | 254-278 |
399
- | Generator-Kanten | 121-125 |
400
- | Validator-Kanten | 148-155 |
401
-
402
- ### 8.3 Aus `docs/index/symbols.jsonl`
403
-
404
- | Symbol | Zeile | Dependencies |
405
- |--------|-------|--------------|
406
- | `activate` | 417 | 22 interne + 3 externe Module |
407
- | `scanWorkspace` | 411 | logging, language-detection, fs, ignore, path |
408
- | `generatePerFileDocs` | 452 | parsers/types, module-doc, fs, path |
409
- | `validateSignatureMatching` | 530 | core/symbols, parsers/types |
410
- | `buildIndexFromSymbols` | 465 | core/symbols, parsers/dependencies, parsers/types |
411
-
412
- ### 8.4 Aus `docs/modules/*.md`
413
-
414
- | Modul-Doku | Verwendete Signaturen |
415
- |------------|----------------------|
416
- | `src__extension.ts.md` | scanSystemTs, activate, validateDocumentationTs |
417
- | `src__core__scanner.ts.md` | scanWorkspace, ScannedFile, ScanOptions |
418
- | `src__generator__index.ts.md` | generatePerFileDocs, makeSafeFileName |
419
- | `src__generator__module-doc.ts.md` | buildModuleDocWithChanges, renderModuleDoc, parseModuleDoc |
420
- | `src__validator__index.ts.md` | validateSymbols, validateMarkdownDir, computeCoverage |
421
- | `src__validator__signature-matching.ts.md` | validateSignatureMatching, SignatureMismatch |
422
-
423
- ---
424
-
425
- ## 9. Vorher/Nachher-Vergleich
426
-
427
- ### 9.1 VORHER (ohne automatisierte Doku)
428
- - Informationen verteilt über ~25 Quelldateien
429
- - Kein Überblick über Gesamtablauf
430
- - Manuelle Code-Inspektion für jeden Zusammenhang nötig
431
- - Dependencies nur durch Lesen von Import-Statements erkennbar
432
-
433
- ### 9.2 NACHHER (mit docs/modules, docs/index, docs/system)
434
- - **DEPENDENCIES.md**: 330 Zeilen strukturierte Import-Übersicht
435
- - **DEPENDENCY_GRAPH.md**: 281 Zeilen Mermaid-Graph mit 119 Knoten
436
- - **symbols.jsonl**: 548 Symbole mit Dependencies
437
- - **modules/*.md**: 70+ Modul-Dokumentationen mit Signaturen
438
-
439
- ---
440
-
441
- ## 10. Wiederholbarkeit und Determinismus
442
-
443
- ### 10.1 Garantie
444
- ```
445
- Gleicher Code-Stand
446
- → npm run scan
447
- → Gleiche docs/*-Artefakte
448
- → Gleiches Sequenzdiagramm
449
- ```
450
-
451
- ### 10.2 Reproduzierbarkeit
452
- - Alle Informationen stammen aus **automatisch generierten** Artefakten
453
- - Keine manuellen Annotationen erforderlich
454
- - Deterministisch sortiert (alphabetisch, nach Typ)
455
-
456
- ---
457
-
458
- ## 11. Fazit
459
-
460
- **Dieser Beweis zeigt anhand echter Daten:**
461
-
462
- 1. ✅ `docs/system/DEPENDENCIES.md` liefert alle Import-Beziehungen (330 Zeilen)
463
- 2. ✅ `docs/system/DEPENDENCY_GRAPH.md` liefert den visuellen Graphen (119 Knoten, 160+ Kanten)
464
- 3. ✅ `docs/index/symbols.jsonl` liefert alle Symbole mit ihren Dependencies (548 Einträge)
465
- 4. ✅ `docs/modules/*.md` liefert die Signaturen und Typen (70+ Dateien)
466
- 5. ✅ Aus diesen Quellen lässt sich **deterministisch** ein Sequenzdiagramm ableiten
467
- 6. ✅ Der Prozess ist **reproduzierbar** und **versionierbar**
468
-
469
- **Das Dokumentations-System liefert die strukturierte Wissensbasis für automatische Architektur-Diagramme.**