@noyrax/documentation-system-plugin 1.0.4-beta.2 → 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 (140) hide show
  1. package/out/cli/generate-cli.js +11 -0
  2. package/out/cli/generate-cli.js.map +1 -1
  3. package/out/cli/scan-cli.js +6 -0
  4. package/out/cli/scan-cli.js.map +1 -1
  5. package/out/core/scanner.js +1 -0
  6. package/out/core/scanner.js.map +1 -1
  7. package/out/generator/system-metadata.js +202 -0
  8. package/out/generator/system-metadata.js.map +1 -0
  9. package/out/index/index.js +14 -0
  10. package/out/index/index.js.map +1 -1
  11. package/out/parsers/ts-js.js +208 -7
  12. package/out/parsers/ts-js.js.map +1 -1
  13. package/package.json +9 -2
  14. package/.vscodeignore +0 -41
  15. package/MCP_SERVER_SETUP.md +0 -371
  16. package/assets/icon.svg +0 -27
  17. package/docs/LINKEDIN_ANTWORT_SEQUENZDIAGRAMME.md +0 -190
  18. package/docs/SEQUENZDIAGRAMM_BEWEIS.md +0 -469
  19. package/docs/SEQUENZDIAGRAMM_VALIDATE_FLOW.md +0 -282
  20. package/docs/adr/001-signatur-abweichung-fix.md +0 -54
  21. package/docs/adr/002-file-specific-validation-1.0.1.md +0 -45
  22. package/docs/adr/003-documentation-generation-bugs.md +0 -134
  23. package/docs/adr/004-validator-signature-matching-fix.md +0 -121
  24. package/docs/adr/005-validator-generic-simplification-tightening.md +0 -35
  25. package/docs/adr/006-parser-variable-type-extraction.md +0 -33
  26. package/docs/adr/007-ts-parser-load-libs-for-accurate-types.md +0 -31
  27. package/docs/adr/008-dependencies-cache-phase1.md +0 -133
  28. package/docs/adr/009-consolidation-union-logic-phase1-2.md +0 -147
  29. package/docs/adr/010-extension-union-integration-phase1-3-and-phase2.md +0 -179
  30. package/docs/adr/011-module-doc-change-tracking-phase3.md +0 -190
  31. package/docs/adr/012-git-deletions-change-report-phase4.md +0 -235
  32. package/docs/adr/013-system-functionality-fixes.md +0 -279
  33. package/docs/adr/014-rules-migration-und-mcp-integration.md +0 -113
  34. package/docs/adr/015-global-agent-package.md +0 -158
  35. package/docs/adr/016-produktisierung-docguard.md +0 -193
  36. package/docs/adr/017-signature-matching-optional-fields.md +0 -128
  37. package/docs/adr/018-rebranding-docguard-to-noyrax.md +0 -109
  38. package/docs/adr/019-system-schwachstellen-analyse-und-fixes.md +0 -204
  39. package/docs/adr/020-api-doc-tiefe-und-signatureformatter.md +0 -74
  40. package/docs/adr/021-semantic-api-docs-and-symbol-classifier.md +0 -125
  41. package/docs/adr/022-semantic-class-and-constants-rendering.md +0 -82
  42. package/docs/adr/023-adr-verknuepfung-modul-doku.md +0 -54
  43. package/docs/adr/024-cursor-rules-mehrdimensionaler-raum.md +0 -230
  44. package/docs/adr/025-mcp-tools-scan-validate-cli-bridge.md +0 -202
  45. package/docs/adr/026-reality-driven-development-system.md +0 -173
  46. package/docs/adr/027-scanner-excludes-and-union-logic-fix.md +0 -189
  47. package/docs/adr/028-src-coverage-union-resync.md +0 -124
  48. package/docs/adr/029-parser-flow-kopplung-und-sync-drift-modi.md +0 -102
  49. package/docs/adr/030-dependency-import-symbol-names-preservation.md +0 -123
  50. package/docs/adr/031-generate-cli-vollstaendige-dokumentation.md +0 -99
  51. package/docs/adr/032-windows-optimized-verification-scripts.md +0 -165
  52. package/docs/adr/036-enhanced-dependency-metadata.md +0 -190
  53. package/docs/adr/TEMPLATE.md +0 -76
  54. package/docs/index/symbols.jsonl +0 -40
  55. package/docs/modules/action__action.yml.md +0 -50
  56. package/docs/modules/documentation.config.schema.json.md +0 -37
  57. package/docs/modules/mcp__package.json.md +0 -130
  58. package/docs/modules/mcp__src__resources__docs.ts.md +0 -94
  59. package/docs/modules/mcp__src__server.ts.md +0 -15
  60. package/docs/modules/mcp__src__tools__drift.ts.md +0 -110
  61. package/docs/modules/mcp__src__tools__impact.ts.md +0 -127
  62. package/docs/modules/mcp__src__tools__scan.ts.md +0 -75
  63. package/docs/modules/mcp__src__tools__validate.ts.md +0 -116
  64. package/docs/modules/mcp__src__tools__verify-adrs.ts.md +0 -106
  65. package/docs/modules/mcp__tsconfig.json.md +0 -22
  66. package/docs/modules/package.json.md +0 -131
  67. package/docs/modules/packages__doc-system-agent__examples__basic-project__package.json.md +0 -43
  68. package/docs/modules/packages__doc-system-agent__examples__basic-project__src__calculator.ts.md +0 -81
  69. package/docs/modules/packages__doc-system-agent__package.json.md +0 -154
  70. package/docs/modules/packages__doc-system-agent__src__cli__index.ts.md +0 -8
  71. package/docs/modules/packages__doc-system-agent__src__cli__init.ts.md +0 -93
  72. package/docs/modules/packages__doc-system-agent__src__cli__update.ts.md +0 -113
  73. package/docs/modules/packages__doc-system-agent__src__constants.ts.md +0 -29
  74. package/docs/modules/packages__doc-system-agent__src__index.ts.md +0 -234
  75. package/docs/modules/packages__doc-system-agent__src__mcp__resources__docs.ts.md +0 -94
  76. package/docs/modules/packages__doc-system-agent__src__mcp__server.ts.md +0 -17
  77. package/docs/modules/packages__doc-system-agent__src__mcp__tools__drift.ts.md +0 -38
  78. package/docs/modules/packages__doc-system-agent__src__mcp__tools__impact.ts.md +0 -75
  79. package/docs/modules/packages__doc-system-agent__src__mcp__tools__scan.ts.md +0 -23
  80. package/docs/modules/packages__doc-system-agent__src__mcp__tools__validate.ts.md +0 -23
  81. package/docs/modules/packages__doc-system-agent__src__mcp__tools__verify-adrs.ts.md +0 -106
  82. package/docs/modules/packages__doc-system-agent__src__mcp__types.ts.md +0 -355
  83. package/docs/modules/packages__doc-system-agent__tsconfig.json.md +0 -22
  84. package/docs/modules/scripts__verify-adrs.js.md +0 -97
  85. package/docs/modules/scripts__verify-architecture.js.md +0 -93
  86. package/docs/modules/scripts__verify-imports.js.md +0 -114
  87. package/docs/modules/src____tests____setup.ts.md +0 -8
  88. package/docs/modules/src____tests____signature-formatter.test.ts.md +0 -16
  89. package/docs/modules/src____tests____snapshot-doc-generation.test.ts.md +0 -8
  90. package/docs/modules/src____tests____symbol-classifier.test.ts.md +0 -16
  91. package/docs/modules/src__cache__ast-cache.ts.md +0 -91
  92. package/docs/modules/src__cache__dependencies-cache.ts.md +0 -89
  93. package/docs/modules/src__cache__output-cache.ts.md +0 -91
  94. package/docs/modules/src__cache__signature-cache.ts.md +0 -76
  95. package/docs/modules/src__cli__generate-cli.ts.md +0 -130
  96. package/docs/modules/src__cli__scan-cli.ts.md +0 -99
  97. package/docs/modules/src__cli__validate-cli.ts.md +0 -144
  98. package/docs/modules/src__core__async.ts.md +0 -18
  99. package/docs/modules/src__core__consolidation.ts.md +0 -157
  100. package/docs/modules/src__core__git.ts.md +0 -35
  101. package/docs/modules/src__core__language-detection.ts.md +0 -31
  102. package/docs/modules/src__core__scanner.ts.md +0 -101
  103. package/docs/modules/src__core__signature-formatter.ts.md +0 -232
  104. package/docs/modules/src__core__symbol-classifier.ts.md +0 -178
  105. package/docs/modules/src__core__symbols.ts.md +0 -31
  106. package/docs/modules/src__drift__index.ts.md +0 -53
  107. package/docs/modules/src__extension.ts.md +0 -418
  108. package/docs/modules/src__generator__adr-linker.ts.md +0 -154
  109. package/docs/modules/src__generator__change-report.ts.md +0 -85
  110. package/docs/modules/src__generator__dependency-graph.ts.md +0 -63
  111. package/docs/modules/src__generator__index.ts.md +0 -40
  112. package/docs/modules/src__generator__module-doc.ts.md +0 -242
  113. package/docs/modules/src__index__index.ts.md +0 -141
  114. package/docs/modules/src__logging__index.ts.md +0 -87
  115. package/docs/modules/src__parsers__dependencies.ts.md +0 -69
  116. package/docs/modules/src__parsers__json-yaml.ts.md +0 -97
  117. package/docs/modules/src__parsers__python.ts.md +0 -73
  118. package/docs/modules/src__parsers__ts-js.ts.md +0 -48
  119. package/docs/modules/src__parsers__types.ts.md +0 -99
  120. package/docs/modules/src__ui__commands-provider.ts.md +0 -70
  121. package/docs/modules/src__ui__status-bar.ts.md +0 -79
  122. package/docs/modules/src__validator__index.ts.md +0 -211
  123. package/docs/modules/src__validator__signature-matching.ts.md +0 -209
  124. package/docs/modules/src__validator__status.ts.md +0 -72
  125. package/docs/modules/test-mcp-resources.js.md +0 -27
  126. package/docs/modules/tsconfig.json.md +0 -22
  127. package/docs/system/CHANGE_REPORT.md +0 -29
  128. package/docs/system/DEPENDENCIES.md +0 -403
  129. package/docs/system/DEPENDENCY_GRAPH.md +0 -336
  130. package/docs/system/NAVIGATION_SPACE_ANALYSIS.md +0 -244
  131. package/docs/system/NPX_CACHE_FIX.md +0 -85
  132. package/docs/system/NPX_LOCAL_USAGE.md +0 -66
  133. package/docs/system/PLUGIN_ECOSYSTEM_STATUS.md +0 -465
  134. package/docs/system/PLUGIN_UPDATE_GUIDE.md +0 -212
  135. package/docs/system/RULES_UPDATE_GUIDE.md +0 -182
  136. package/docs/system/SYSTEM_ANALYSIS.md +0 -947
  137. package/documentation.config.schema.json +0 -77
  138. package/noyrax-5d-database-plugin-0.1.8.tgz +0 -0
  139. package/noyrax-documentation-system-plugin-1.0.4-beta.2.tgz +0 -0
  140. package/publish.ps1 +0 -21
@@ -1,193 +0,0 @@
1
- # ADR-016: Produktisierung als DocGuard
2
-
3
- ## Status
4
-
5
- Akzeptiert
6
-
7
- ## Datum
8
-
9
- 2024-12-01
10
-
11
- ## Kontext
12
-
13
- Das Documentation System Plugin war bisher ein internes Tool zur automatischen Dokumentationsgenerierung. Es wurde entschieden, das System als vollwertiges Produkt zu positionieren, um:
14
-
15
- 1. **Portfolio-Showcase**: Technische Expertise demonstrieren
16
- 2. **Marktpositionierung**: Differenzierung gegenüber TypeDoc, JSDoc, Mintlify
17
- 3. **Monetarisierungspotenzial**: Gestaffeltes Pricing-Modell ermöglichen
18
-
19
- ## Entscheidung
20
-
21
- Das System wird unter dem Markennamen **DocGuard** produktisiert mit dem Claim "Documentation that never drifts".
22
-
23
- ### 1. Branding & Identität
24
-
25
- | Element | Wert |
26
- |---------|------|
27
- | Produktname | DocGuard |
28
- | Tagline | "Documentation that never drifts" |
29
- | Primary Color | Guard Blue `#2563EB` |
30
- | Success | `#10B981` |
31
- | Warning (Drift) | `#F59E0B` |
32
- | Fonts | JetBrains Mono (Code), Inter (UI) |
33
-
34
- **Dateien:**
35
- - `BRANDING.md` – Vollständige Brand Guidelines
36
-
37
- ### 2. Package-Struktur (npm)
38
-
39
- | Package | Name | Beschreibung |
40
- |---------|------|--------------|
41
- | CLI | `@docguard/cli` | Standalone CLI für CI/CD |
42
- | MCP | `@docguard/mcp` | AI-Agent Integration |
43
- | Extension | `docguard` | VS Code Extension |
44
-
45
- **Geänderte Dateien:**
46
- - `package.json` (Root)
47
- - `packages/doc-system-agent/package.json`
48
- - `mcp/package.json`
49
-
50
- ### 3. Dokumentation & Community
51
-
52
- Neue Dateien für Open-Source-Professionalisierung:
53
-
54
- | Datei | Zweck |
55
- |-------|-------|
56
- | `README.md` | Professionelle Produktpräsentation |
57
- | `CONTRIBUTING.md` | Contribution Guidelines |
58
- | `CODE_OF_CONDUCT.md` | Verhaltenskodex |
59
- | `.github/ISSUE_TEMPLATE/` | Bug Reports, Feature Requests |
60
- | `.github/PULL_REQUEST_TEMPLATE.md` | PR-Template |
61
-
62
- ### 4. Landing Page (`website/`)
63
-
64
- Technologie-Stack:
65
- - **Framework**: Astro 4.x
66
- - **Styling**: Tailwind CSS 3.x
67
- - **Deployment**: Vercel (geplant)
68
-
69
- Komponenten:
70
- - Hero mit Terminal-Demo
71
- - Features Grid
72
- - Pricing-Tabelle (Free/Pro/Team/Enterprise)
73
- - Quick Start Guide
74
- - Footer
75
-
76
- ### 5. CI/CD & GitHub Actions
77
-
78
- | Workflow | Datei | Funktion |
79
- |----------|-------|----------|
80
- | CI | `.github/workflows/ci.yml` | Build, Test, Package |
81
- | Publish | `.github/workflows/publish.yml` | npm, VS Code Marketplace, Website |
82
-
83
- Wiederverwendbare Action für andere Projekte:
84
- - `action/action.yml` – DocGuard Validation Action
85
- - Unterstützt: scan, generate, validate, drift
86
- - PR-Kommentare mit Validation Report
87
-
88
- ### 6. Demo-Projekt (`demo/`)
89
-
90
- Beispiel-Projekt mit:
91
- - Source Code (`calculator.ts`, `user-service.ts`, `types.ts`)
92
- - Generierter Dokumentation
93
- - Drift-Beispiel (absichtlich veraltete Docs)
94
- - Change Report
95
-
96
- ### 7. Pricing-Modell
97
-
98
- | Tier | Preis | Features |
99
- |------|-------|----------|
100
- | Free | $0 | Extension, CLI, Local Drift-Detection |
101
- | Pro | $19/mo | Cloud Dashboard, Email Alerts |
102
- | Team | $49/seat | Analytics, Slack/Teams, RBAC |
103
- | Enterprise | Custom | SSO, Audit Logs, Compliance |
104
-
105
- ## Konsequenzen
106
-
107
- ### Positiv
108
-
109
- 1. **Professionelle Außenwirkung**: Vollständige Produktpräsentation
110
- 2. **Skalierbarkeit**: Klare Tier-Struktur für zukünftige Monetarisierung
111
- 3. **Community-Ready**: Issue Templates, Contributing Guide
112
- 4. **CI/CD-Integration**: GitHub Action für breite Adoption
113
-
114
- ### Negativ / Risiken
115
-
116
- 1. **Wartungsaufwand**: Mehr Artefakte zu pflegen (Website, Docs, etc.)
117
- 2. **Namespace-Konflikte**: `@docguard` Scope muss auf npm registriert werden
118
- 3. **Breaking Change**: Package-Namen ändern sich von `@benni/` zu `@docguard/`
119
-
120
- ### Neutral
121
-
122
- 1. **Keine Code-Änderungen**: Kern-Funktionalität bleibt unverändert
123
- 2. **Inkrementeller Rollout**: Features können schrittweise aktiviert werden
124
-
125
- ## Betroffene Dateien
126
-
127
- ### Neue Dateien
128
-
129
- ```
130
- BRANDING.md
131
- CONTRIBUTING.md
132
- CODE_OF_CONDUCT.md
133
- .github/ISSUE_TEMPLATE/bug_report.md
134
- .github/ISSUE_TEMPLATE/feature_request.md
135
- .github/ISSUE_TEMPLATE/config.yml
136
- .github/PULL_REQUEST_TEMPLATE.md
137
- .github/workflows/ci.yml
138
- .github/workflows/publish.yml
139
- action/action.yml
140
- action/README.md
141
- assets/icon.svg
142
- website/package.json
143
- website/astro.config.mjs
144
- website/tailwind.config.mjs
145
- website/tsconfig.json
146
- website/README.md
147
- website/public/favicon.svg
148
- website/src/layouts/Layout.astro
149
- website/src/pages/index.astro
150
- website/src/components/Header.astro
151
- website/src/components/Hero.astro
152
- website/src/components/Features.astro
153
- website/src/components/HowItWorks.astro
154
- website/src/components/QuickStart.astro
155
- website/src/components/Pricing.astro
156
- website/src/components/Footer.astro
157
- demo/README.md
158
- demo/package.json
159
- demo/docguard.config.json
160
- demo/src/types.ts
161
- demo/src/calculator.ts
162
- demo/src/user-service.ts
163
- demo/docs/modules/*.md
164
- demo/docs/system/*.md
165
- ```
166
-
167
- ### Geänderte Dateien
168
-
169
- ```
170
- README.md (komplett neu)
171
- package.json (Name, Metadata, Commands, Keybindings)
172
- packages/doc-system-agent/package.json (Name → @docguard/cli)
173
- packages/doc-system-agent/README.md (komplett neu)
174
- mcp/package.json (Name → @docguard/mcp)
175
- tsconfig.json (Excludes für demo, website, action)
176
- ```
177
-
178
- ## Offene Punkte (manuelle Schritte)
179
-
180
- 1. [ ] npm Scope `@docguard` registrieren
181
- 2. [ ] GitHub Organisation `docguard` erstellen
182
- 3. [ ] Domain `docguard.dev` registrieren
183
- 4. [ ] Vercel-Projekt einrichten
184
- 5. [ ] VS Code Marketplace Publisher erstellen
185
- 6. [ ] Screenshots und Demo-GIFs erstellen
186
- 7. [ ] Bestehende Installation migrieren (falls nötig)
187
-
188
- ## Referenzen
189
-
190
- - [produktisierung.plan.md](../../produktisierung.plan.md) – Ursprünglicher Plan
191
- - [BRANDING.md](../../BRANDING.md) – Brand Guidelines
192
- - [README.md](../../README.md) – Produkt-README
193
-
@@ -1,128 +0,0 @@
1
- # ADR-017: Verbesserte Optional-Feld-Kompatibilität in Signatur-Validierung
2
-
3
- ## Status
4
-
5
- Akzeptiert
6
-
7
- ## Datum
8
-
9
- 2024-12-01
10
-
11
- ## Kontext
12
-
13
- Die Dokumentations-Validierung meldete 30 Signatur-Abweichungs-Warnungen für Interfaces, bei denen sich nur die Optionalität von Properties unterschied:
14
-
15
- ```
16
- erwartet: "interface DriftItem { expected: string; ... }"
17
- dokumentiert: "interface DriftItem { expected?: string; ... }"
18
- ```
19
-
20
- Das Problem: Die `isOptionalFieldCompatible`-Funktion konnte mehrzeilige Interface-Definitionen nicht korrekt vergleichen, da sie nur einzeilige Signaturen normalisierte.
21
-
22
- ## Entscheidung
23
-
24
- Die `isOptionalFieldCompatible`-Funktion in `src/validator/signature-matching.ts` wurde komplett überarbeitet:
25
-
26
- ### Vorher
27
-
28
- ```typescript
29
- function isOptionalFieldCompatible(expected: string, documented: string): boolean {
30
- const normalize = (s: string) => s.replace(/\s+/g, ' ').trim();
31
- // ... einfache String-Ersetzung
32
- const removeOptional = (s: string) => s.replace(/(\w+)\?(\s*:)/g, '$1$2');
33
- return removeOptional(expectedNorm) === removeOptional(documentedNorm);
34
- }
35
- ```
36
-
37
- ### Nachher
38
-
39
- ```typescript
40
- function isOptionalFieldCompatible(expected: string, documented: string): boolean {
41
- // 1. Robuste Normalisierung für mehrzeilige Interfaces
42
- const normalizeForComparison = (s: string) => {
43
- return s
44
- .replace(/\s+/g, ' ') // Alle Whitespaces normalisieren
45
- .replace(/\s*:\s*/g, ':') // Spaces um Doppelpunkte
46
- .replace(/\s*;\s*/g, ';') // Spaces um Semikolons
47
- .replace(/\s*\{\s*/g, '{') // Spaces um Klammern
48
- .replace(/\s*\}\s*/g, '}')
49
- .replace(/\s*\|\s*/g, '|') // Union Types
50
- .trim();
51
- };
52
-
53
- // 2. Optional-Marker entfernen
54
- const removeOptionalMarkers = (s: string) => s.replace(/(\w+)\?:/g, '$1:');
55
-
56
- // 3. Feld-basierter Vergleich
57
- const extractFields = (s: string): Map<string, string> => {
58
- const fields = new Map<string, string>();
59
- const fieldRegex = /(\w+)\??:\s*([^;}\n]+)/g;
60
- // ... Felder extrahieren
61
- return fields;
62
- };
63
-
64
- // Vergleiche Felder unabhängig von Optionalität
65
- // ...
66
- }
67
- ```
68
-
69
- ### Verbesserungen
70
-
71
- 1. **Mehrzeilige Interfaces**: Zeilenumbrüche werden korrekt normalisiert
72
- 2. **Robuster Vergleich**: Felder werden einzeln extrahiert und verglichen
73
- 3. **Typ-Fokus**: Nur Name und Typ werden verglichen, Optionalität wird ignoriert
74
-
75
- ## Konsequenzen
76
-
77
- ### Positiv
78
-
79
- 1. **Weniger False Positives**: Interfaces mit unterschiedlicher Optionalität werden als kompatibel erkannt
80
- 2. **Bessere Developer Experience**: Weniger irrelevante Warnungen
81
- 3. **Korrekte Semantik**: `field: T` und `field?: T` sind architektonisch äquivalent
82
-
83
- ### Negativ
84
-
85
- 1. **Potenzielle False Negatives**: Echte Breaking Changes bei Optionalität werden nicht mehr gemeldet
86
- - Mitigiert durch: Coverage-Checks und manuelle Reviews
87
-
88
- ## Betroffene Dateien
89
-
90
- ```
91
- src/validator/signature-matching.ts
92
- ```
93
-
94
- ## Tests
95
-
96
- Alle bestehenden Tests bestanden:
97
- ```
98
- PASS src/__tests__/determinism.test.ts
99
- ✓ Wiederholte Scans erzeugen identische Ergebnisse
100
- ✓ Parser erzeugt deterministische Symbole
101
- ✓ Generator erzeugt deterministische Markdown
102
- ```
103
-
104
- ## Zusätzliche Änderungen
105
-
106
- ### tsconfig.json
107
-
108
- Neue Verzeichnisse zur Exclude-Liste hinzugefügt:
109
- ```json
110
- "exclude": [
111
- "node_modules",
112
- ".vscode-test",
113
- "mcp",
114
- "packages",
115
- "demo", // NEU
116
- "website", // NEU
117
- "action" // NEU
118
- ]
119
- ```
120
-
121
- ### package.json
122
-
123
- Nicht existierende Skripte entfernt:
124
- ```diff
125
- - "scan": "node out/cli-scan.js",
126
- - "validate": "node out/cli-validate.js",
127
- ```
128
-
@@ -1,109 +0,0 @@
1
- # ADR-018: Rebranding von DocGuard zu Noyrax
2
-
3
- ## Status
4
-
5
- Akzeptiert
6
-
7
- ## Datum
8
-
9
- 2024-12-01
10
-
11
- ## Kontext
12
-
13
- Nach der initialen Produktisierung unter dem Namen "DocGuard" (ADR-016) wurde entschieden, das Produkt zu "Noyrax" umzubenennen.
14
-
15
- ## Entscheidung
16
-
17
- Vollständiges Rebranding des Produkts:
18
-
19
- | Alt | Neu |
20
- |-----|-----|
21
- | DocGuard | Noyrax |
22
- | @docguard/* | @noyrax/* |
23
- | docguard.dev | noyrax.dev |
24
- | DG (Logo) | NX (Logo) |
25
- | guard-blue | noyrax-blue |
26
- | --dg-* (CSS) | --nx-* (CSS) |
27
-
28
- ### Betroffene Bereiche
29
-
30
- 1. **Package-Namen**
31
- - `docguard` → `noyrax` (VS Code Extension)
32
- - `@docguard/cli` → `@noyrax/cli`
33
- - `@docguard/mcp` → `@noyrax/mcp`
34
-
35
- 2. **Commands & Keybindings**
36
- - `docguard.*` → `noyrax.*`
37
- - `Ctrl+Shift+D` → `Ctrl+Shift+N`
38
-
39
- 3. **Configuration**
40
- - `docguard.*` → `noyrax.*` (VS Code Settings)
41
- - `docguard.config.json` → `noyrax.config.json`
42
-
43
- 4. **URLs**
44
- - `https://docguard.dev` → `https://noyrax.dev`
45
- - `github.com/docguard/*` → `github.com/noyrax/*`
46
-
47
- 5. **Branding**
48
- - Logo: "DG" → "NX"
49
- - CSS Variables: `--dg-*` → `--nx-*`
50
- - Tailwind: `guard-blue` → `noyrax-blue`
51
-
52
- ## Geänderte Dateien
53
-
54
- ### Hauptkonfiguration
55
- - `package.json`
56
- - `packages/doc-system-agent/package.json`
57
- - `mcp/package.json`
58
- - `website/package.json`
59
- - `demo/package.json`
60
-
61
- ### Branding & Dokumentation
62
- - `BRANDING.md`
63
- - `README.md`
64
- - `CONTRIBUTING.md`
65
- - `CODE_OF_CONDUCT.md`
66
- - `packages/doc-system-agent/README.md`
67
-
68
- ### Website
69
- - `website/astro.config.mjs`
70
- - `website/tailwind.config.mjs`
71
- - `website/src/layouts/Layout.astro`
72
- - `website/src/components/*.astro` (alle Komponenten)
73
- - `website/public/favicon.svg`
74
-
75
- ### GitHub
76
- - `action/action.yml`
77
- - `action/README.md`
78
- - `.github/workflows/ci.yml`
79
- - `.github/ISSUE_TEMPLATE/*.md`
80
-
81
- ### Demo
82
- - `demo/README.md`
83
- - `demo/docguard.config.json`
84
- - `demo/docs/**/*.md`
85
-
86
- ### Assets
87
- - `assets/icon.svg`
88
-
89
- ## Konsequenzen
90
-
91
- ### Positiv
92
- 1. **Einzigartiger Name**: "Noyrax" ist einprägsamer und weniger generisch
93
- 2. **Namespace-Verfügbarkeit**: Höhere Wahrscheinlichkeit, dass `@noyrax` auf npm verfügbar ist
94
- 3. **Domain-Verfügbarkeit**: `noyrax.dev` ist möglicherweise noch verfügbar
95
-
96
- ### Negativ
97
- 1. **ADR-016 veraltet**: Das vorherige Produktisierungs-ADR referenziert "DocGuard"
98
- 2. **Keine Migration**: Bestehende Installationen müssen manuell umgestellt werden
99
-
100
- ### Zu erledigen
101
- 1. [ ] `@noyrax` Scope auf npm registrieren
102
- 2. [ ] `noyrax.dev` Domain registrieren
103
- 3. [ ] GitHub Organisation `noyrax` erstellen
104
- 4. [ ] VS Code Marketplace Publisher erstellen
105
-
106
- ## Referenzen
107
-
108
- - [ADR-016: Produktisierung als DocGuard](./016-produktisierung-docguard.md) (veraltet, jetzt Noyrax)
109
-
@@ -1,204 +0,0 @@
1
- # ADR-019: System-Schwachstellen-Analyse und proaktive Fixes
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-12-02
5
- **Kontext:** Gründliche Analyse der Dokumentationsartefakte zur Identifikation von System-Schwachstellen
6
-
7
- ## Kontext und Problemstellung
8
-
9
- Eine detaillierte Analyse der generierten Dokumentation (`docs/system/`, `docs/index/`, `docs/modules/`) und der historischen ADRs (001-018) wurde durchgeführt, um:
10
-
11
- 1. Bereits behobene Probleme zu verifizieren
12
- 2. Noch bestehende Schwachstellen zu identifizieren
13
- 3. Proaktive Maßnahmen für zukünftige Entwicklung zu definieren
14
-
15
- ### Analysierte Artefakte
16
-
17
- - `docs/system/CHANGE_REPORT.md` - 900+ "Geänderte Symbole" Einträge
18
- - `docs/index/symbols.jsonl` - 95 Einträge aus `.ai-agent-context/`
19
- - `docs/system/DEPENDENCIES.md` - Abhängigkeitsübersicht
20
- - ADR-001 bis ADR-018 - Historische Fixes
21
-
22
- ### Identifizierte Schwachstellen
23
-
24
- 1. **Scanner filtert relevante Verzeichnisse nicht aus**
25
- - `.ai-agent-context` wird gescannt → 95 irrelevante Symbole im Index
26
- - `.vscode`, `.cursor` werden gescannt
27
-
28
- 2. **Generator/Validator Formatierungs-Differenz**
29
- - Generator: `${p.name}${p.type ? ...}` (ohne optional)
30
- - Validator: `${p.name}${p.optional ? '?' : ''}${p.type ? ...}`
31
- - Potenzielle False-Positive-Mismatches bei optionalen Parametern
32
-
33
- 3. **Keine zentrale Signatur-Formatierung**
34
- - Generator und Validator haben separate Implementierungen
35
- - Inkonsistenzen schwer zu erkennen
36
-
37
- 4. **Fehlende Pre-Planning-Richtlinien**
38
- - Agent-Fehler werden erst nach Implementierung entdeckt
39
- - Keine proaktiven Checklisten
40
-
41
- ## Entscheidung
42
-
43
- ### Fix 1: Scanner-Exclude-Liste erweitern
44
-
45
- **Datei:** `src/core/scanner.ts`
46
-
47
- ```typescript
48
- const DEFAULT_EXCLUDES = new Set([
49
- 'node_modules',
50
- '.git', '.svn', '.hg',
51
- 'dist', 'out', 'build',
52
- '__pycache__', '.mypy_cache', '.venv', '.cache',
53
- 'docs', // Generierte Dokumentation
54
- '.ai-agent-context', // AI-Agent-Kontext (Backups, Metadaten)
55
- '.vscode', // VS Code Workspace-Einstellungen
56
- '.cursor', // Cursor IDE Einstellungen
57
- ]);
58
- ```
59
-
60
- **Auswirkung:** Symbol-Index enthält keine irrelevanten Backup-Dateien mehr.
61
-
62
- ### Fix 2: Generator-Formatierung für optionale Parameter
63
-
64
- **Datei:** `src/generator/module-doc.ts`
65
-
66
- ```typescript
67
- // VORHER:
68
- const params = block.symbol.signature.parameters
69
- .map(p => `${p.name}${p.type ? `: ${p.type}` : ''}${p.hasDefault ? ' = …' : ''}`)
70
- .join(', ');
71
-
72
- // NACHHER:
73
- const params = block.symbol.signature.parameters
74
- .map(p => `${p.name}${p.optional ? '?' : ''}${p.type ? `: ${p.type}` : ''}${p.hasDefault ? ' = …' : ''}`)
75
- .join(', ');
76
- ```
77
-
78
- **Auswirkung:** Generator und Validator formatieren Funktions-Parameter identisch.
79
-
80
- ### Fix 3: Zentrale SignatureFormatter-Klasse
81
-
82
- **Neue Datei:** `src/core/signature-formatter.ts`
83
-
84
- ```typescript
85
- export class SignatureFormatter {
86
- static formatForDoc(symbol: ParsedSymbol): string { ... }
87
- static normalize(signature: string): string { ... }
88
- static normalizeSignature(sig: SymbolSignature): string { ... }
89
- static compare(expected: string, documented: string, options?: CompareOptions): CompareResult { ... }
90
- }
91
- ```
92
-
93
- **Auswirkung:** Einheitliche Logik für Generator und Validator; einfachere Wartung.
94
-
95
- ### Fix 4: Pre-Planning Checklisten als Cursor Rule
96
-
97
- **Neue Datei:** `.cursor/rules/023-pre-planning.mdc`
98
-
99
- Enthält Checklisten für:
100
- - Scanner-Änderungen
101
- - Parser-Änderungen
102
- - Validator-Änderungen
103
- - Generator-Änderungen
104
- - Cache-Änderungen
105
-
106
- **Auswirkung:** Agent kann Fehler proaktiv vermeiden.
107
-
108
- ### Fix 5: Erweiterte Parser-Test-Suite
109
-
110
- **Neue Datei:** `src/__tests__/parser-symbol-types.test.ts`
111
-
112
- 18 neue Tests für:
113
- - Alle Symbol-Typen (class, interface, type, enum, function, method, variable, module)
114
- - Edge-Cases (leere Dateien, Syntax-Fehler, komplexe Generics)
115
- - SignatureFormatter-Konsistenz
116
-
117
- ## Gelesene Abhängigkeiten aus Dokumentation
118
-
119
- **docs/modules/src__core__scanner.ts.md:**
120
- - `DEFAULT_EXCLUDES: Set<string>`
121
- - `scanWorkspace(options: ScanOptions, includeBackups: boolean): ScannedFile[]`
122
-
123
- **docs/modules/src__generator__module-doc.ts.md:**
124
- - `renderModuleDoc(doc: ModuleDoc, filePath: string): string`
125
-
126
- **docs/modules/src__validator__signature-matching.ts.md:**
127
- - `formatSignatureForDoc(symbol: ParsedSymbol): string`
128
-
129
- ## Auswirkungen
130
-
131
- ### Positiv
132
-
133
- - ✅ **Sauberer Symbol-Index:** Keine irrelevanten Backup-Dateien mehr
134
- - ✅ **Konsistente Formatierung:** Generator und Validator sind synchron
135
- - ✅ **Zentrale Signatur-Logik:** Einfachere Wartung und Erweiterung
136
- - ✅ **Proaktive Fehlervorbeugung:** Pre-Planning-Checklisten
137
- - ✅ **Bessere Test-Abdeckung:** 18 neue Tests für Symbol-Typen
138
-
139
- ### Neutral
140
-
141
- - ~150 Zeilen neue Klasse (SignatureFormatter)
142
- - ~250 Zeilen neue Tests
143
- - 1 neue Cursor Rule
144
-
145
- ### Risiken und Mitigation
146
-
147
- - **Risiko:** SignatureFormatter wird nicht sofort in Generator/Validator integriert
148
- - **Mitigation:** Klasse ist als Drop-in-Ersatz konzipiert; Migration kann schrittweise erfolgen
149
-
150
- - **Risiko:** Neue Tests könnten bei Parser-Änderungen fehlschlagen
151
- - **Mitigation:** Tests prüfen Verhalten, nicht exakte Ausgabe
152
-
153
- ## Verifizierte Fixes aus früheren ADRs
154
-
155
- Die Analyse hat bestätigt, dass folgende Fixes korrekt implementiert sind:
156
-
157
- | ADR | Fix | Verifiziert |
158
- |-----|-----|-------------|
159
- | ADR-004 | Symbol-typ-spezifische Formatierung | ✅ Zeilen 55-84 in signature-matching.ts |
160
- | ADR-005 | TypeNode vor getType() | ✅ Zeilen 56-64 in ts-js.ts |
161
- | ADR-006 | Variablen-Typen präziser | ✅ Zeilen 229-255 in ts-js.ts |
162
- | ADR-007 | Standard-Libs laden | ✅ Zeilen 16, 25 in ts-js.ts |
163
- | ADR-008 | Dependencies-Cache | ✅ consolidation.ts |
164
- | ADR-013 | isFirstRun vor Git-Filter | ✅ Zeilen 130-155 in extension.ts |
165
- | ADR-017 | Optional-Feld-Kompatibilität | ✅ Zeilen 211-277 in signature-matching.ts |
166
-
167
- ## Implementierte Dateien
168
-
169
- | Datei | Änderung | Zeilen |
170
- |-------|----------|--------|
171
- | `src/core/scanner.ts` | DEFAULT_EXCLUDES erweitert | +3 |
172
- | `src/generator/module-doc.ts` | Optional-Parameter-Fix | +1 |
173
- | `src/core/signature-formatter.ts` | Neue zentrale Klasse | +160 |
174
- | `.cursor/rules/023-pre-planning.mdc` | Neue Pre-Planning Rule | +180 |
175
- | `src/__tests__/parser-symbol-types.test.ts` | Erweiterte Test-Suite | +250 |
176
-
177
- ## Tests
178
-
179
- ```
180
- npm test
181
-
182
- PASS src/__tests__/determinism.test.ts
183
- PASS src/__tests__/parser-symbol-types.test.ts
184
-
185
- Test Suites: 2 passed, 2 total
186
- Tests: 21 passed, 21 total
187
- ```
188
-
189
- ## Nächste Schritte (optional)
190
-
191
- 1. **SignatureFormatter in Generator/Validator integrieren** - Migration der bestehenden Formatierungs-Logik
192
- 2. **JSON-Parser semantische Filterung** - Whitelist für relevante JSON-Dateien
193
- 3. **Re-Export als eigener Symbol-Typ** - `kind: 'reexport'` statt `kind: 'variable'`
194
- 4. **Konfigurierbare Toleranz-Patterns** - Config-Datei statt hardcoded
195
-
196
- ## Referenzen
197
-
198
- - **Analyse:** System-Schwachstellen-Analyse (Konversation)
199
- - **ADRs:** ADR-001 bis ADR-018 (verifizierte Fixes)
200
- - **Dokumentation:**
201
- - `docs/modules/src__core__scanner.ts.md`
202
- - `docs/modules/src__generator__module-doc.ts.md`
203
- - `docs/modules/src__validator__signature-matching.ts.md`
204
-
@@ -1,74 +0,0 @@
1
- # ADR-020: API-Doku-Tiefe & zentrale Signatur-Formatierung
2
-
3
- **Status:** Implementiert
4
- **Datum:** 2025-12-04
5
-
6
- ## Kontext
7
-
8
- Noyrax soll als Produkt auch komplexe Systeme wie das Database-Plugin
9
- präzise dokumentieren. Die Analyse der Validierungsberichte zeigte:
10
-
11
- - Sehr detailliertes Signaturwissen in Parsern/Index/Database
12
- - Gleichzeitig nur oberflächliche, teilweise leere API-Doku in
13
- `docs/modules/` (nur Namen, leere Interfaces)
14
- - Daraus resultierten hunderte Signatur-Abweichungs-Warnungen
15
-
16
- Bisher nutzten Generator (`renderModuleDoc`) und Validator
17
- (`validateSignatureMatching`) jeweils eigene Formatierungslogik.
18
- Toleranzen (optionale Felder, Generics) waren verteilt implementiert.
19
-
20
- ## Entscheidung
21
-
22
- 1. Einführung einer zentralen `SignatureFormatter`-Klasse in
23
- `src/core/signature-formatter.ts`:
24
- - `formatForDoc(symbol)` rendert Signaturen deterministisch und
25
- menschenlesbar (Funktionen, Methoden, Interfaces, Variablen).
26
- - `compare(expected, documented, options)` kapselt Toleranzen:
27
- - optionale Felder (`field` vs `field?`)
28
- - generische Vereinfachungen (`T[]` vs `{}`)
29
-
30
- 2. Ausrichtung von Generator und Validator auf `SignatureFormatter`:
31
- - `src/generator/module-doc.ts`:
32
- - nutzt `SignatureFormatter.formatForDoc()` für alle Signaturen
33
- - ergänzt tiefe API-Doku:
34
- - einzeilige Signatur-Zeile
35
- - Tabellen für Parameter / Eigenschaften
36
- - expliziter Rückgabewert-Abschnitt
37
- - `src/validator/signature-matching.ts`:
38
- - verwendet `SignatureFormatter.formatForDoc()` als „expected“
39
- - nutzt `SignatureFormatter.compare()` für den Abgleich
40
- - dedupliziert identische Abweichungen
41
- - berücksichtigt nur öffentliche Symbole, sofern nicht anders
42
- konfiguriert
43
-
44
- 3. Ergänzung einer Pre-Planning-Rule
45
- (`.cursor/rules/024-api-doc-depth.mdc`) mit Checklisten für:
46
- - API-Doku-Tiefe und Signatur-Rendering
47
- - Generator/Validator-Kohärenz
48
- - Architektur- und Determinismus-Constraints
49
-
50
- ## Auswirkungen
51
-
52
- - Deutlich tiefere, strukturierte API-Doku in `docs/modules/`:
53
- - Funktions- und Methoden-Parameter, Rückgabetypen
54
- - Interface-Eigenschaften inkl. Optionalität
55
- - Reduktion von Signatur-Abweichungs-Warnungen, die nur auf
56
- Formatierungsunterschieden beruhten.
57
- - Klare Trennung zwischen:
58
- - zentraler Signaturlogik (`core/signature-formatter`)
59
- - Rendering (Generator)
60
- - Validierung (Validator)
61
-
62
- Für interne Infrastruktur kann die Strenge über
63
- `SignatureMatchingOptions` reduziert werden, während öffentliche APIs
64
- mit voller Tiefe validiert werden.
65
-
66
- ## Alternativen
67
-
68
- - Belassen der getrennten Formatierungslogik in Generator und Validator:
69
- - verworfen wegen hoher Wartungskosten und Fehleranfälligkeit.
70
- - Nur oberflächliche Doku (Namen, keine Typen) akzeptieren:
71
- - verworfen, da sie dem Produktanspruch von Noyrax als
72
- API-orientiertes Doku-System widerspricht.
73
-
74
-