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

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 +341 -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,125 +0,0 @@
1
- # ADR-021: Semantische API-Doku-Tiefe & SymbolClassifier
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-12-04
5
-
6
- ## Kontext
7
-
8
- Noyrax generiert API-Dokumentation aus einem reichhaltigen Symbolmodell
9
- (`ParsedSymbol`, `SymbolSignature`) und validiert diese gegen den Code.
10
- Mit ADR-020 wurde eine zentrale `SignatureFormatter`-Klasse eingeführt
11
- und Generator/Validator auf diese gemeinsame Signaturlogik ausgerichtet.
12
-
13
- Die Validierungsberichte – insbesondere beim Database-Plugin – zeigten
14
- jedoch weiterhin hunderte Signatur-Abweichungswarnungen, obwohl das
15
- Symbolmodell korrekt war. Die Ursachen:
16
-
17
- - fehlende Unterscheidung zwischen öffentlichen API-Typen und interner
18
- Infrastruktur,
19
- - keine semantischen Rollen (Service-API, Domain-Modell, Konfig),
20
- - keine konfigurierbare Doku-Tiefe (alle Symbole wurden im Wesentlichen
21
- gleich behandelt).
22
-
23
- Dies führte dazu, dass viele Symbole nur oberflächlich dokumentiert
24
- waren (z.B. leere Interfaces, `Name()` ohne Parameter), obwohl der
25
- Validator die vollen Signaturen kannte.
26
-
27
- ## Entscheidung
28
-
29
- 1. Einführung eines zentralen `SymbolClassifier` im `core`:
30
-
31
- - Datei: `src/core/symbol-classifier.ts`
32
- - API: `classifySymbol(symbol: ParsedSymbol): SymbolClassification`
33
- - Liefert:
34
- - `visibility: 'public' | 'internal'`
35
- - `role: 'service-api' | 'domain-model' | 'config' | 'infra' | 'other'`
36
- - `priority: 'high' | 'normal' | 'low'`
37
- - Arbeitet ausschließlich auf `ParsedSymbol` (kein I/O, keine
38
- Plugin-spezifischen Abhängigkeiten).
39
- - Nutzt deterministische Heuristiken (Namensmuster, Dateipfade,
40
- Symbol-Kind), um API-nahe Typen von Infrastruktur zu trennen.
41
-
42
- 2. Rollenbasierte, tiefere Doku im Generator:
43
-
44
- - Datei: `src/generator/module-doc.ts`
45
- - `renderModuleDoc()` verwendet zusätzlich zu
46
- `SignatureFormatter.formatForDoc()` jetzt auch
47
- `classifySymbol(block.symbol)`, um:
48
- - Rolle/Sichtbarkeit/Priorität transparent in der Doku zu zeigen,
49
- - strukturierte Tabellen für Parameter und Eigenschaften zu
50
- generieren (alphabetisch sortiert),
51
- - die bisherige Markdown-Struktur unverändert zu lassen
52
- (`# Modul:`, `### kind: name`, ```ts```-Block),
53
- - **für Interfaces:** Properties aus `SymbolSignature.parameters`
54
- sowohl im Codeblock (`interface X { feld: typ; ... }`) als auch
55
- in der „Eigenschaften“-Tabelle zu rendern, sofern im Modell
56
- vorhanden,
57
- - **für Funktionen/Methoden (inkl. Utility-Klassen):** stets die
58
- vollständige Funktionssignatur (Parameter + Rückgabetyp) im
59
- Codeblock auszugeben, nicht nur `Name()`.
60
-
61
- 3. Konfiguration der Doku-Tiefe im VS Code-Config-System:
62
-
63
- - Datei: `package.json` → `contributes.configuration.properties`:
64
- - `noyrax.apiDoc.depth: 'full' | 'standard' | 'minimal'`
65
- - `noyrax.apiDoc.includeInternal: boolean`
66
- - Die Doku-Tiefe wird im Validator bereits berücksichtigt und kann im
67
- Generator genutzt werden, um künftig Doku-Umfang abhängig von
68
- Konfiguration und Symbol-Rolle zu steuern.
69
-
70
- 4. Ausrichtung des Validators auf Klassifizierung und Doku-Tiefe:
71
-
72
- - Datei: `src/validator/signature-matching.ts`
73
- - Verwendet `classifySymbol(symbol)` zur Bestimmung von
74
- Sichtbarkeit/Rolle/Priorität.
75
- - `SignatureMatchingOptions` erweitert um `depth?: 'full' | 'standard' | 'minimal'`.
76
- - Bewertet Abweichungen abhängig von Rolle und Tiefe:
77
- - bei `depth = 'full'` und Rolle `service-api` oder
78
- `domain-model` → `severity: 'error'`,
79
- - sonst → `severity: 'warning'`.
80
- - Erwartete Signatur und Vergleich bleiben über
81
- `SignatureFormatter.formatForDoc()` bzw.
82
- `SignatureFormatter.compare()` implementiert; Toleranzen und
83
- Architektur-Patterns bleiben erhalten.
84
-
85
- 5. Ergänzung der Pre-Planning-Rule 024:
86
-
87
- - Datei: `.cursor/rules/024-api-doc-depth.mdc`
88
- - Neuer Abschnitt zur Symbol-Klassifizierung:
89
- - Verweist auf `src/core/symbol-classifier.ts`,
90
- - stellt sicher, dass Klassifizierung nur auf `ParsedSymbol`
91
- basiert,
92
- - dokumentiert die Rollen und Prioritäten.
93
-
94
- ## Auswirkungen
95
-
96
- - Noyrax kann öffentliche Service-/Domain-APIs von interner Infrastruktur
97
- unterscheiden und die Doku-Tiefe sowie die Strenge der
98
- Signatur-Validierung daran ausrichten.
99
- - Die generierte Doku in `docs/modules/` ist für priorisierte Symbole
100
- deutlich aussagekräftiger (Parameter-/Eigenschaftstabellen, explizite
101
- Rolle/Sichtbarkeit).
102
- - Der Validator meldet Abweichungen für wichtige Public-APIs schärfer
103
- (als Fehler), während er interne/Infra-Typen weniger strikt behandelt.
104
- - Die bestehende Architektur bleibt gewahrt:
105
- - `core` (Classifier, SignatureFormatter) → `generator` / `validator`,
106
- - keine Imports zurück nach `core`,
107
- - keine neuen zirkulären Abhängigkeiten (vgl.
108
- `docs/system/DEPENDENCY_GRAPH.md`).
109
-
110
- ## Alternativen
111
-
112
- - Klassifizierungslogik direkt in Generator und Validator duplizieren:
113
- - verworfen wegen höherer Wartungskosten und Risiko divergierender
114
- Regeln.
115
-
116
- - Nur Doku-Templates erweitern, ohne Symbol-Klassifizierung:
117
- - verworfen, da dann alle Symbole gleich behandelt würden und eine
118
- sinnvolle Priorisierung (Public-API vs. Infra) nicht möglich wäre.
119
-
120
- - Strikte Signatur-Validierung für alle Symbole:
121
- - verworfen, da dies bei rein technischen Typen (z.B. Cache,
122
- Migrations, interne Konfigurationen) faktisch Rauschen erzeugen
123
- würde und die wichtigen API-Abweichungen verdeckt.
124
-
125
-
@@ -1,82 +0,0 @@
1
- # ADR-022 – Semantisches Klassen- und Konstanten-Rendering in der Modul-Doku
2
-
3
- ## Status
4
-
5
- Accepted
6
-
7
- ## Kontext
8
-
9
- Mit ADR-020/021 wurden der `SignatureFormatter` und der `SymbolClassifier` eingeführt und
10
- der Generator so erweitert, dass Interfaces und Funktionen/Methoden mit vollständigen
11
- Signaturen gerendert werden. Damit sind die fachlichen Signaturen korrekt, die aktuelle
12
- Darstellung ist aber teilweise noch „flach“:
13
-
14
- - Utility-Klassen wie `SnapshotUtils` oder `SnapshotTypeGuards` erscheinen als leerer
15
- Klassenkopf, während ihre Methoden separat als einzelne Symbole dokumentiert werden.
16
- - Komplexe Konstantenobjekte wie `SNAPSHOT_CONSTANTS` werden als lange, schwer lesbare
17
- Typ-Signatur gerendert, obwohl sie klar strukturierte Konfigurationsbereiche enthalten
18
- (Status, Phasen, Validierung, Defaults).
19
- - Die `<!-- change: ... -->`‑Kommentare spiegeln beim Übergang vom alten auf das neue
20
- Signatur-Rendering viele rein formatter-bedingte Änderungen wider (z.B. von
21
- `Snapshot()` zu einer vollständigen Interface-Signatur), was unnötiges Rauschen erzeugt.
22
-
23
- Diese Punkte betreffen ausschließlich die Darstellung/Struktur der generierten
24
- Markdown-Dokumente, nicht das Parsing oder die Signaturmodelle selbst.
25
-
26
- ## Entscheidung
27
-
28
- 1. **Klassen-Rendering bleibt symbolbasiert, wird aber semantisch präziser beschrieben**
29
- - Klassen (`kind: 'class'`) werden weiterhin als eigenes Symbol mit kurzem
30
- Klassenkopf gerendert.
31
- - Methoden (`kind: 'method'`) bleiben eigenständige Symbole mit voller Signatur,
32
- werden aber explizit mit ihrer zugehörigen Klasse verknüpft (z.B. über
33
- `ClassName.methodName` im Titel und begleitenden Text im Klassenblock).
34
- - Für Utility-Klassen ohne eigene Properties/Konstruktoren wird der Klassenblock
35
- um eine kurze Beschreibung ergänzt („Utility-Klasse mit den folgenden Methoden …“),
36
- statt einen pseudo-leeren Klassen-Body zu suggerieren.
37
-
38
- 2. **Komplexe Konstantenobjekte erhalten eine strukturierte Darstellung**
39
- - Für ausgewählte, klar strukturierte Konstantenobjekte (z.B. `SNAPSHOT_CONSTANTS`)
40
- wird im Generator ein spezieller Renderpfad eingeführt.
41
- - Die Top-Level-Bereiche des Objekts (z.B. `STATUS`, `PHASES`, `VALIDATION`,
42
- `DEFAULTS`) werden als eigene Unterabschnitte oder Tabellen dargestellt, damit
43
- die Konfiguration auch für Menschen schnell erfassbar ist.
44
- - Die Darstellung bleibt deterministisch (sortierte Schlüssel, stabiler Aufbau) und
45
- nutzt weiterhin die Signaturdaten als Single Source of Truth; kein manueller
46
- Freitext pro Key.
47
-
48
- 3. **Change-Kommentare werden an die neue Signaturlogik angepasst**
49
- - Die Heuristik zur Erzeugung von `<!-- change: ... -->`‑Kommentaren wird so
50
- erweitert, dass rein formatter-bedingte Altzustände wie `Name()` ohne
51
- Parameter/Felder nicht mehr als bedeutende „old“-Signaturen behandelt werden.
52
- - Ziel ist, dass `change:`‑Einträge sich auf echte fachliche Änderungen beziehen
53
- (z.B. neue Felder, geänderte Typen), nicht auf den einmaligen Umstieg von
54
- Platzhalter- auf Tiefen-Signaturen.
55
-
56
- ## Konsequenzen
57
-
58
- - **Kein Einfluss auf Parser und Signaturmodelle**
59
- Es werden keine Änderungen an `ParsedSymbol` oder `SymbolSignature` vorgenommen.
60
- Alle Anpassungen finden im Generator (`src/generator/module-doc.ts`) und in der
61
- Change-Kommentar-Logik statt.
62
-
63
- - **Verbesserte Lesbarkeit ohne API-Bruch**
64
- Die Markdown-Struktur bleibt kompatibel mit bestehenden Werkzeugen
65
- (Überschriften-Layout, ts-Codeblöcke pro Symbol). Die Darstellung für Klassen und
66
- Konstanten wird jedoch für Menschen deutlich verständlicher.
67
-
68
- - **Reduzierte Rauschen in CHANGE_REPORT**
69
- Beim erneuten Generieren der Doku nach Einführung von ADR-020/021 sollen
70
- `change:`‑Kommentare nicht mehr massenhaft alte Platzhalter-Signaturen als
71
- „signature-changed“ markieren, sondern sich auf substanzielle Änderungen konzentrieren.
72
-
73
- - **Regel-Update erforderlich**
74
- `.cursor/rules/024-api-doc-depth.mdc` wird um Hinweise zur Klassen-/Methoden-
75
- Darstellung und zur strukturierten Behandlung komplexer Konstantenobjekte ergänzt.
76
-
77
- ## Verwandte ADRs
78
-
79
- - **ADR-020 – API-Doku-Tiefe und SignatureFormatter**
80
- - **ADR-021 – Semantische API-Dokus und SymbolClassifier**
81
-
82
-
@@ -1,54 +0,0 @@
1
- # ADR-023: ADR-Verknüpfung mit Modul-Dokumentation
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-01-XX
5
-
6
- ## Kontext
7
-
8
- Die Architecture Decision Records (ADRs) in `docs/adr/` dokumentieren wichtige Architektur-Entscheidungen, aber es fehlte eine Verknüpfung zwischen den ADRs und den betroffenen Modulen in der generierten Dokumentation (`docs/modules/`). Entwickler mussten manuell in den ADRs suchen, um zu verstehen, welche Entscheidungen ein bestimmtes Modul betreffen.
9
-
10
- ## Entscheidung
11
-
12
- 1. **ADR-Parser-Modul** (`src/generator/adr-linker.ts`):
13
- - Parst alle ADR-Dateien aus `docs/adr/*.md`
14
- - Extrahiert automatisch Dateipfade aus ADR-Inhalten (Pattern: `` `src/...` ``, `Datei: src/...`, etc.)
15
- - Erstellt Mapping: `filePath → ADR-Nummern[]`
16
- - Unterstützt optionale Metadata-Datei (`docs/adr-metadata.json`) für manuelle Overrides und Excludes
17
- - Cacht ADR-Metadaten (Nummer, Titel, Dateiname) für effiziente Lookups
18
-
19
- 2. **Integration in Modul-Dokumentation**:
20
- - `renderModuleDoc()` in `src/generator/module-doc.ts` erweitert um optionalen `adrDir`-Parameter
21
- - Fügt automatisch "Relevante ADRs"-Abschnitt am Anfang jeder Modul-Doku ein
22
- - Format: Markdown-Links zu relevanten ADRs mit Titel und relativen Pfaden
23
-
24
- 3. **Hybrid-Ansatz**:
25
- - Automatisches Parsen der ADRs für Standard-Erkennung
26
- - Optionale Metadata-Datei für manuelle Overrides/Excludes bei Bedarf
27
-
28
- ## Auswirkungen
29
-
30
- - **Nachvollziehbarkeit**: Entwickler sehen direkt in der Modul-Doku, welche ADRs dieses Modul betreffen
31
- - **Kontext**: Architektur-Entscheidungen sind direkt mit dem betroffenen Code verknüpft
32
- - **Wartbarkeit**: Bei Änderungen sind relevante ADRs schnell auffindbar
33
- - **Determinismus**: ADR-Mappings sind deterministisch sortiert (nach ADR-Nummer)
34
-
35
- ## Technische Details
36
-
37
- - **Dateipfad-Erkennung**: Unterstützt mehrere Patterns:
38
- - Backtick-wrapped: `` `src/core/signature-formatter.ts` ``
39
- - Markdown-Listen: `- src/validator/signature-matching.ts`
40
- - Mit Doppelpunkt: `Datei: src/parsers/ts-js.ts`
41
- - **Relative Pfade**: Links von `docs/modules/` zu `docs/adr/` verwenden `../adr/`
42
- - **Fehlerbehandlung**: Wenn ADR-Linking fehlschlägt, wird die Dokumentationsgenerierung nicht abgebrochen
43
-
44
- ## Alternativen
45
-
46
- - **Nur manuelle Metadata**: Verworfen, da zu wartungsintensiv
47
- - **Bidirektionale Verknüpfung**: ADRs → Module wurde nicht implementiert (kann später ergänzt werden)
48
- - **Keine Verknüpfung**: Verworfen, da Entwickler sonst manuell suchen müssten
49
-
50
- ## Implementierung
51
-
52
- - `src/generator/adr-linker.ts` - ADR-Parser und Linker-Logik
53
- - `src/generator/module-doc.ts` - Erweitert um ADR-Linker-Integration
54
- - `src/generator/index.ts` - ADR-Pfad-Berechnung hinzugefügt
@@ -1,230 +0,0 @@
1
- # ADR-024: Cursor Rules Überarbeitung – Mehrdimensionaler Navigationsraum
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-01-XX
5
-
6
- ## Kontext
7
-
8
- Die Cursor Rules (`.cursor/rules/`) erklärten nicht, wie das System als **mehrdimensionaler Navigationsraum** funktioniert, in dem die Docs die Koordinaten und die ADRs die Landkarte sind. Die Pre-Check Rule (`001-pre-check.mdc`) war veraltet und berücksichtigte neue Features wie:
9
-
10
- - MCP-Server Integration für strukturierten Agent-Zugriff
11
- - ADR-Verknüpfung mit Modulen (ADR-023)
12
- - Change Report als Zeit-Dimension
13
- - Dynamische Resource-Definitionen im MCP-Server
14
-
15
- Agenten (Cursor) wussten nicht:
16
- - Welche Docs bei Problemen konsultiert werden sollen
17
- - Wie man bei neuen Dateien den Systemkontext besorgt
18
- - Wie das Koordinaten-System funktioniert
19
- - Welche Dimensionen verfügbar sind und wie man darin navigiert
20
-
21
- ## Entscheidung
22
-
23
- ### 1. Neue Rule: System-Verständnis (`002-system-context.mdc`)
24
-
25
- **Zweck:** Erklärt das System als mehrdimensionalen Navigationsraum und wie Cursor darin navigiert.
26
-
27
- **Inhalt:**
28
- - **Mehrdimensionaler Raum-Konzept** mit 5 Dimensionen:
29
- - Modul-Raum (X): `docs/modules/*.md` - API-Dokumentation pro Datei
30
- - Symbol-Raum (Y): `docs/index/symbols.jsonl` - Symbole mit Dependencies
31
- - Beziehungs-Raum (Z): `docs/system/DEPENDENCY_GRAPH.md` - Modul-Abhängigkeiten
32
- - Wissens-Raum (W): `docs/adr/*.md` - Architektur-Entscheidungen (Landkarte)
33
- - Zeit-Raum (T): `docs/system/CHANGE_REPORT.md` - Änderungen über die Zeit
34
-
35
- - **Navigation im Raum:**
36
- - Bei Code-Änderungen: Modul-Doku → Dependencies → Change Report → ADRs
37
- - Bei Problemen: System-Docs → Change Report → Impact-Analyse → ADRs
38
- - Bei neuen Dateien: Systemkontext besorgen (ähnliche Module, Import-Richtungen, Change Report, ADRs)
39
-
40
- - **MCP-Server Zugriff:**
41
- - `docs://modules/{path}` - Modul-Dokumentation
42
- - `docs://system/graph` - Dependency-Graph
43
- - `docs://system/dependencies` - Dependency-Übersicht
44
- - `docs://system/changes` - Change Report (Zeit-Dimension)
45
- - `docs://adr/{name}` - ADRs
46
- - `docs://index/symbols.jsonl` - Symbol-Index
47
- - `validation/analyzeImpact` - Impact-Analyse
48
-
49
- - **ADRs als Landkarte:**
50
- - Module zeigen relevante ADRs automatisch (ADR-023)
51
- - ADRs erklären **warum** bestimmte Entscheidungen getroffen wurden
52
- - Bei Unsicherheit: Relevante ADRs konsultieren, nicht raten
53
-
54
- - **Change Report als Zeit-Dimension:**
55
- - Zeigt neu hinzugefügte/geänderte Symbole
56
- - Zeigt Dependency-Änderungen
57
- - Ermöglicht Änderungsmuster zu erkennen
58
-
59
- ### 2. Pre-Check Rule aktualisiert (`001-pre-check.mdc`)
60
-
61
- **Änderungen:**
62
- - Verweis auf `002-system-context.mdc` für System-Verständnis
63
- - Neuer Abschnitt "Bei neuen Dateien: Systemkontext besorgen":
64
- - Ähnliche Module in `docs/modules/` finden (Modul-Raum)
65
- - Import-Richtungen aus `docs/system/DEPENDENCIES.md` prüfen (Beziehungs-Raum)
66
- - Change Report (`docs://system/changes`) für Änderungsmuster konsultieren (Zeit-Raum)
67
- - Relevante ADRs aus Modul-Doku konsultieren (Wissens-Raum)
68
- - MCP-Server als Alternative zu direkten Datei-Zugriffen dokumentiert
69
- - ADR-Verknüpfung in Schritt "Dokumentation lesen" integriert
70
- - Change Report in Schritt "Nach der Änderung" erwähnt
71
-
72
- ### 3. Orchestrator Rule erweitert (`000-orchestrator.mdc`)
73
-
74
- **Änderungen:**
75
- - Workflow um "Systemkontext verstehen" erweitert
76
- - Abschnitt "Mehrdimensionaler Navigationsraum" hinzugefügt
77
- - `002-system-context` zur Always-Apply-Rule-Hierarchie hinzugefügt
78
- - Verbindliche Arbeitsweise um Systemkontext-Nutzung erweitert
79
-
80
- ### 4. Impact-Analyse Rule aktualisiert (`021-impact-analysis.mdc`)
81
-
82
- **Änderungen:**
83
- - MCP-Server `validation/analyzeImpact` als primäre Quelle dokumentiert
84
- - Zeit-Dimension (Change Report) in den Workflow integriert
85
- - Dimensionen-Spalte in Datenquellen-Tabelle hinzugefügt
86
- - Abschnitt "Navigation im mehrdimensionalen Raum" hinzugefügt
87
-
88
- ### 5. MCP-Server Resource-Definitionen erweitert
89
-
90
- **Problem:** Die Rules erwähnten `docs://modules/{path}`, `docs://adr/{name}` und `docs://index/symbols.jsonl`, aber diese waren nicht in `ListResources` registriert.
91
-
92
- **Lösung:**
93
- - Dynamisches Laden aller Module aus `docs/modules/` (71 Module)
94
- - Dynamisches Laden aller ADRs aus `docs/adr/` (23 ADRs)
95
- - Symbol-Index (`docs://index/symbols.jsonl`) hinzugefügt
96
- - Beschreibungen mit Dimensionen-Hinweisen ergänzt
97
-
98
- **Geänderte Dateien:**
99
- - `mcp/src/server.ts`
100
- - `packages/doc-system-agent/src/mcp/server.ts`
101
-
102
- ## Auswirkungen
103
-
104
- ### Positive Auswirkungen
105
-
106
- - **Bessere Navigation:** Agenten verstehen jetzt das Koordinaten-System und können gezielt die richtigen Docs konsultieren
107
- - **Systemkontext bei neuen Dateien:** Automatische Besorgung des Systemkontexts verhindert Architektur-Verstöße
108
- - **Zeit-Dimension:** Change Report wird jetzt systematisch genutzt, um Änderungsmuster zu erkennen
109
- - **ADRs als Landkarte:** Architektur-Entscheidungen sind direkt mit Code verknüpft und werden automatisch konsultiert
110
- - **MCP-Server Integration:** Strukturierter Zugriff auf alle Resources (98 insgesamt)
111
- - **Konsistenz:** Rules und MCP-Server sind jetzt vollständig konsistent
112
-
113
- ### Technische Auswirkungen
114
-
115
- - **99 Resources verfügbar:**
116
- - 4 System-Resources
117
- - 71 Modul-Resources (dynamisch)
118
- - 24 ADR-Resources (dynamisch, inkl. ADR-024)
119
- - **5 Dimensionen vollständig abgedeckt:**
120
- - Modul-Raum (X): ✅
121
- - Symbol-Raum (Y): ✅
122
- - Beziehungs-Raum (Z): ✅
123
- - Wissens-Raum (W): ✅
124
- - Zeit-Raum (T): ✅
125
-
126
- ### Wartbarkeit
127
-
128
- - **Neue Module/ADRs:** Werden automatisch als Resources verfügbar (dynamisches Laden)
129
- - **Rule-Updates:** Zentralisiert in `002-system-context.mdc`
130
- - **MCP-Server:** Konsistente Implementierung in beiden Packages
131
-
132
- ## Alternativen
133
-
134
- ### Alternative 1: Statische Resource-Liste
135
- **Verworfen:** Zu wartungsintensiv, müsste bei jedem neuen Modul/ADR aktualisiert werden.
136
-
137
- ### Alternative 2: Keine neue Rule, nur Pre-Check erweitern
138
- **Verworfen:** Pre-Check Rule wäre zu lang und unübersichtlich geworden. Separate Rule für System-Verständnis ist klarer.
139
-
140
- ### Alternative 3: Keine MCP-Server-Erweiterung
141
- **Verworfen:** Rules würden auf Resources verweisen, die nicht verfügbar sind. Inkonsistenz zwischen Dokumentation und Implementierung.
142
-
143
- ## Implementierung
144
-
145
- ### Geänderte Dateien
146
-
147
- **Rules:**
148
- - `.cursor/rules/002-system-context.mdc` - **NEU**
149
- - `.cursor/rules/001-pre-check.mdc` - **AKTUALISIERT**
150
- - `.cursor/rules/000-orchestrator.mdc` - **ERWEITERT**
151
- - `.cursor/rules/021-impact-analysis.mdc` - **AKTUALISIERT**
152
-
153
- **MCP-Server:**
154
- - `mcp/src/server.ts` - Resource-Definitionen erweitert
155
- - `packages/doc-system-agent/src/mcp/server.ts` - Gleiche Änderungen
156
-
157
- ### Test-Dateien
158
-
159
- - `.cursor/test-mcp-resources.mjs` - Test-Skript für Resource-Definitionen
160
- - `.cursor/test-mcp-server.mjs` - **MCP-Server Integrationstest** (testet tatsächliche Implementierung)
161
- - `.cursor/TEST_PLAN.md` - Test-Szenarien
162
- - `.cursor/TEST_REPORT.md` - Test-Beispiel
163
- - `.cursor/TEST_RESULTS.md` - Detaillierte Test-Ergebnisse
164
- - `.cursor/MCP_SERVER_AUDIT.md` - MCP-Server Audit
165
-
166
- ### MCP-Server Integrationstest
167
-
168
- **Test-Ergebnisse:**
169
- - ✅ `listModuleDocs()`: 71 Module gefunden
170
- - ✅ `listADRs()`: 24 ADRs gefunden (inkl. ADR-024)
171
- - ✅ `readDocsResource()`: Funktioniert für alle Resource-Typen:
172
- - System-Resources: ✅ (dependencies: 373 Zeilen, graph: 312 Zeilen, changes: 74 Zeilen)
173
- - Modul-Resources: ✅ (Beispiel: 51 Zeilen)
174
- - ADR-Resources: ✅ (Beispiel: 55 Zeilen)
175
- - ✅ Gesamt: 99 Resources verfügbar
176
-
177
- ### Validierung
178
-
179
- - ✅ Build-Tests: Beide MCP-Server kompilieren erfolgreich
180
- - ✅ Resource-Tests: Alle 99 Resources verfügbar (4 System, 71 Module, 24 ADRs)
181
- - ✅ Dimensionen-Check: Alle 5 Dimensionen abgedeckt
182
- - ✅ Konsistenz: Rules und MCP-Server sind konsistent
183
- - ✅ MCP-Server-Test: `readDocsResource()` funktioniert für alle Resource-Typen
184
- - ✅ Dynamisches Laden: Module und ADRs werden korrekt zur Laufzeit geladen
185
-
186
- ## Verweise
187
-
188
- - **ADR-023:** ADR-Verknüpfung mit Modul-Dokumentation (Grundlage für Wissens-Raum)
189
- - **ADR-014:** Rules-Migration und MCP-Integration (Vorläufer)
190
- - `docs/system/NAVIGATION_SPACE_ANALYSIS.md` - Analyse des Navigationsraums
191
- - `docs/system/PLUGIN_ECOSYSTEM_STATUS.md` - Plugin-Ecosystem Status
192
-
193
- ## Template-Aktualisierung für andere Systeme
194
-
195
- Damit die neuen Rules in anderen Systemen verfügbar werden:
196
-
197
- ### ✅ Templates aktualisiert
198
-
199
- - `packages/doc-system-agent/templates/cursor-rules/002-system-context.mdc` - **NEU**
200
- - `packages/doc-system-agent/templates/cursor-rules/000-orchestrator.mdc` - **AKTUALISIERT**
201
- - `packages/doc-system-agent/templates/cursor-rules/001-pre-check.mdc` - **AKTUALISIERT**
202
- - `packages/doc-system-agent/templates/cursor-rules/021-impact-analysis.mdc` - **AKTUALISIERT**
203
-
204
- ### ✅ Konstante aktualisiert
205
-
206
- - `packages/doc-system-agent/src/constants.ts`:
207
- - `RULES_VERSION`: 1 → 2
208
- - `RULE_FILES`: `002-system-context.mdc` hinzugefügt
209
-
210
- ### Update-Mechanismus
211
-
212
- Andere Systeme können die neuen Rules erhalten via:
213
-
214
- ```bash
215
- # Automatisches Update
216
- npx @noyrax/cli update-rules
217
-
218
- # Oder manuell aus Templates kopieren
219
- ```
220
-
221
- Siehe `docs/system/RULES_UPDATE_GUIDE.md` für detaillierte Anleitung.
222
-
223
- ## Nächste Schritte
224
-
225
- 1. **Package-Version erhöhen:** `@noyrax/cli` auf Version 1.1.0 erhöhen (mit neuen Rules)
226
- 2. **Integrationstest:** MCP-Server mit Cursor testen
227
- 3. **Performance:** Bei Bedarf Caching für Resource-Liste implementieren
228
- 4. **Dokumentation:** MCP-Server-Usage in README dokumentieren
229
- 5. **Monitoring:** Prüfen, ob Agenten die neuen Rules korrekt nutzen
230
-