@noyrax/5d-database-plugin 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADR_VORSCHLAEGE.md +247 -0
- package/CHROMADB_SETUP.md +69 -0
- package/IMPROVEMENT_ROADMAP.md +435 -0
- package/INSTALLATION_READINESS.md +150 -0
- package/KNOWN_ISSUES.md +210 -0
- package/LICENSE +21 -0
- package/MCP_SERVER_SETUP.md +359 -0
- package/MCP_SERVER_TEST_REPORT.md +206 -0
- package/NOYRAX_INTEGRATION.md +224 -0
- package/QUICK_START.md +316 -0
- package/README.md +240 -0
- package/SETUP_NEW_PROJECT.md +260 -0
- package/SYSTEM_ANALYSIS_REPORT.md +341 -0
- package/out/api/adr-api.d.ts +22 -0
- package/out/api/adr-api.d.ts.map +1 -0
- package/out/api/adr-api.js +38 -0
- package/out/api/adr-api.js.map +1 -0
- package/out/api/bootstrap-api.d.ts +43 -0
- package/out/api/bootstrap-api.d.ts.map +1 -0
- package/out/api/bootstrap-api.js +88 -0
- package/out/api/bootstrap-api.js.map +1 -0
- package/out/api/change-api.d.ts +30 -0
- package/out/api/change-api.d.ts.map +1 -0
- package/out/api/change-api.js +54 -0
- package/out/api/change-api.js.map +1 -0
- package/out/api/context-builder.d.ts +81 -0
- package/out/api/context-builder.d.ts.map +1 -0
- package/out/api/context-builder.js +288 -0
- package/out/api/context-builder.js.map +1 -0
- package/out/api/cross-dimension-api.d.ts +43 -0
- package/out/api/cross-dimension-api.d.ts.map +1 -0
- package/out/api/cross-dimension-api.js +55 -0
- package/out/api/cross-dimension-api.js.map +1 -0
- package/out/api/dependency-api.d.ts +26 -0
- package/out/api/dependency-api.d.ts.map +1 -0
- package/out/api/dependency-api.js +46 -0
- package/out/api/dependency-api.js.map +1 -0
- package/out/api/learning-path-api.d.ts +49 -0
- package/out/api/learning-path-api.d.ts.map +1 -0
- package/out/api/learning-path-api.js +174 -0
- package/out/api/learning-path-api.js.map +1 -0
- package/out/api/module-api.d.ts +26 -0
- package/out/api/module-api.d.ts.map +1 -0
- package/out/api/module-api.js +46 -0
- package/out/api/module-api.js.map +1 -0
- package/out/api/search-api.d.ts +64 -0
- package/out/api/search-api.d.ts.map +1 -0
- package/out/api/search-api.js +235 -0
- package/out/api/search-api.js.map +1 -0
- package/out/api/self-explanation-api.d.ts +71 -0
- package/out/api/self-explanation-api.d.ts.map +1 -0
- package/out/api/self-explanation-api.js +153 -0
- package/out/api/self-explanation-api.js.map +1 -0
- package/out/api/semantic-search-api.d.ts +64 -0
- package/out/api/semantic-search-api.d.ts.map +1 -0
- package/out/api/semantic-search-api.js +205 -0
- package/out/api/semantic-search-api.js.map +1 -0
- package/out/api/symbol-api.d.ts +22 -0
- package/out/api/symbol-api.d.ts.map +1 -0
- package/out/api/symbol-api.js +38 -0
- package/out/api/symbol-api.js.map +1 -0
- package/out/api/vector-api.d.ts +26 -0
- package/out/api/vector-api.d.ts.map +1 -0
- package/out/api/vector-api.js +49 -0
- package/out/api/vector-api.js.map +1 -0
- package/out/cli/embedding-cli.d.ts +3 -0
- package/out/cli/embedding-cli.d.ts.map +1 -0
- package/out/cli/embedding-cli.js +151 -0
- package/out/cli/embedding-cli.js.map +1 -0
- package/out/cli/ingest-cli.d.ts +3 -0
- package/out/cli/ingest-cli.d.ts.map +1 -0
- package/out/cli/ingest-cli.js +145 -0
- package/out/cli/ingest-cli.js.map +1 -0
- package/out/cli/mcp-server-cli.d.ts +3 -0
- package/out/cli/mcp-server-cli.d.ts.map +1 -0
- package/out/cli/mcp-server-cli.js +159 -0
- package/out/cli/mcp-server-cli.js.map +1 -0
- package/out/cli/query-cli.d.ts +3 -0
- package/out/cli/query-cli.d.ts.map +1 -0
- package/out/cli/query-cli.js +217 -0
- package/out/cli/query-cli.js.map +1 -0
- package/out/cli/semantic-search-cli.d.ts +3 -0
- package/out/cli/semantic-search-cli.d.ts.map +1 -0
- package/out/cli/semantic-search-cli.js +196 -0
- package/out/cli/semantic-search-cli.js.map +1 -0
- package/out/cli/test-chromadb.d.ts +3 -0
- package/out/cli/test-chromadb.d.ts.map +1 -0
- package/out/cli/test-chromadb.js +204 -0
- package/out/cli/test-chromadb.js.map +1 -0
- package/out/cli/test-v-dimension.d.ts +3 -0
- package/out/cli/test-v-dimension.d.ts.map +1 -0
- package/out/cli/test-v-dimension.js +330 -0
- package/out/cli/test-v-dimension.js.map +1 -0
- package/out/cli/tool-cli.d.ts +3 -0
- package/out/cli/tool-cli.d.ts.map +1 -0
- package/out/cli/tool-cli.js +237 -0
- package/out/cli/tool-cli.js.map +1 -0
- package/out/cli/verify-openai-key.d.ts +3 -0
- package/out/cli/verify-openai-key.d.ts.map +1 -0
- package/out/cli/verify-openai-key.js +141 -0
- package/out/cli/verify-openai-key.js.map +1 -0
- package/out/cli/verify-vss-status.d.ts +3 -0
- package/out/cli/verify-vss-status.d.ts.map +1 -0
- package/out/cli/verify-vss-status.js +185 -0
- package/out/cli/verify-vss-status.js.map +1 -0
- package/out/core/chromadb-vector-database.d.ts +52 -0
- package/out/core/chromadb-vector-database.d.ts.map +1 -0
- package/out/core/chromadb-vector-database.js +276 -0
- package/out/core/chromadb-vector-database.js.map +1 -0
- package/out/core/docs-path-resolver.d.ts +43 -0
- package/out/core/docs-path-resolver.d.ts.map +1 -0
- package/out/core/docs-path-resolver.js +137 -0
- package/out/core/docs-path-resolver.js.map +1 -0
- package/out/core/id-mapper.d.ts +68 -0
- package/out/core/id-mapper.d.ts.map +1 -0
- package/out/core/id-mapper.js +132 -0
- package/out/core/id-mapper.js.map +1 -0
- package/out/core/migration-manager.d.ts +75 -0
- package/out/core/migration-manager.d.ts.map +1 -0
- package/out/core/migration-manager.js +212 -0
- package/out/core/migration-manager.js.map +1 -0
- package/out/core/multi-db-manager.d.ts +84 -0
- package/out/core/multi-db-manager.d.ts.map +1 -0
- package/out/core/multi-db-manager.js +206 -0
- package/out/core/multi-db-manager.js.map +1 -0
- package/out/core/transaction-manager.d.ts +69 -0
- package/out/core/transaction-manager.d.ts.map +1 -0
- package/out/core/transaction-manager.js +138 -0
- package/out/core/transaction-manager.js.map +1 -0
- package/out/core/vector-database-factory.d.ts +25 -0
- package/out/core/vector-database-factory.d.ts.map +1 -0
- package/out/core/vector-database-factory.js +82 -0
- package/out/core/vector-database-factory.js.map +1 -0
- package/out/core/vector-database-interface.d.ts +50 -0
- package/out/core/vector-database-interface.d.ts.map +1 -0
- package/out/core/vector-database-interface.js +3 -0
- package/out/core/vector-database-interface.js.map +1 -0
- package/out/core/vss-loader.d.ts +29 -0
- package/out/core/vss-loader.d.ts.map +1 -0
- package/out/core/vss-loader.js +150 -0
- package/out/core/vss-loader.js.map +1 -0
- package/out/core/vss-manager.d.ts +81 -0
- package/out/core/vss-manager.d.ts.map +1 -0
- package/out/core/vss-manager.js +323 -0
- package/out/core/vss-manager.js.map +1 -0
- package/out/core/vss-vector-database.d.ts +71 -0
- package/out/core/vss-vector-database.d.ts.map +1 -0
- package/out/core/vss-vector-database.js +284 -0
- package/out/core/vss-vector-database.js.map +1 -0
- package/out/embedding/embedding-generator.d.ts +45 -0
- package/out/embedding/embedding-generator.d.ts.map +1 -0
- package/out/embedding/embedding-generator.js +143 -0
- package/out/embedding/embedding-generator.js.map +1 -0
- package/out/embedding/embedding-pipeline.d.ts +42 -0
- package/out/embedding/embedding-pipeline.d.ts.map +1 -0
- package/out/embedding/embedding-pipeline.js +290 -0
- package/out/embedding/embedding-pipeline.js.map +1 -0
- package/out/extension.d.ts +10 -0
- package/out/extension.d.ts.map +1 -0
- package/out/extension.js +164 -0
- package/out/extension.js.map +1 -0
- package/out/ingestors/adr-ingestor.d.ts +41 -0
- package/out/ingestors/adr-ingestor.d.ts.map +1 -0
- package/out/ingestors/adr-ingestor.js +329 -0
- package/out/ingestors/adr-ingestor.js.map +1 -0
- package/out/ingestors/base-ingestor.d.ts +30 -0
- package/out/ingestors/base-ingestor.d.ts.map +1 -0
- package/out/ingestors/base-ingestor.js +3 -0
- package/out/ingestors/base-ingestor.js.map +1 -0
- package/out/ingestors/change-ingestor.d.ts +36 -0
- package/out/ingestors/change-ingestor.d.ts.map +1 -0
- package/out/ingestors/change-ingestor.js +216 -0
- package/out/ingestors/change-ingestor.js.map +1 -0
- package/out/ingestors/dependency-ingestor.d.ts +32 -0
- package/out/ingestors/dependency-ingestor.d.ts.map +1 -0
- package/out/ingestors/dependency-ingestor.js +194 -0
- package/out/ingestors/dependency-ingestor.js.map +1 -0
- package/out/ingestors/module-ingestor.d.ts +27 -0
- package/out/ingestors/module-ingestor.d.ts.map +1 -0
- package/out/ingestors/module-ingestor.js +137 -0
- package/out/ingestors/module-ingestor.js.map +1 -0
- package/out/ingestors/symbol-ingestor.d.ts +26 -0
- package/out/ingestors/symbol-ingestor.d.ts.map +1 -0
- package/out/ingestors/symbol-ingestor.js +183 -0
- package/out/ingestors/symbol-ingestor.js.map +1 -0
- package/out/mcp/resources/adrs.d.ts +13 -0
- package/out/mcp/resources/adrs.d.ts.map +1 -0
- package/out/mcp/resources/adrs.js +26 -0
- package/out/mcp/resources/adrs.js.map +1 -0
- package/out/mcp/resources/changes.d.ts +13 -0
- package/out/mcp/resources/changes.d.ts.map +1 -0
- package/out/mcp/resources/changes.js +26 -0
- package/out/mcp/resources/changes.js.map +1 -0
- package/out/mcp/resources/dependencies.d.ts +13 -0
- package/out/mcp/resources/dependencies.d.ts.map +1 -0
- package/out/mcp/resources/dependencies.js +26 -0
- package/out/mcp/resources/dependencies.js.map +1 -0
- package/out/mcp/resources/modules.d.ts +13 -0
- package/out/mcp/resources/modules.d.ts.map +1 -0
- package/out/mcp/resources/modules.js +26 -0
- package/out/mcp/resources/modules.js.map +1 -0
- package/out/mcp/resources/symbols.d.ts +13 -0
- package/out/mcp/resources/symbols.d.ts.map +1 -0
- package/out/mcp/resources/symbols.js +26 -0
- package/out/mcp/resources/symbols.js.map +1 -0
- package/out/mcp/server.d.ts +29 -0
- package/out/mcp/server.d.ts.map +1 -0
- package/out/mcp/server.js +300 -0
- package/out/mcp/server.js.map +1 -0
- package/out/mcp/tools/architecture-mining.d.ts +46 -0
- package/out/mcp/tools/architecture-mining.d.ts.map +1 -0
- package/out/mcp/tools/architecture-mining.js +272 -0
- package/out/mcp/tools/architecture-mining.js.map +1 -0
- package/out/mcp/tools/bootstrap.d.ts +9 -0
- package/out/mcp/tools/bootstrap.d.ts.map +1 -0
- package/out/mcp/tools/bootstrap.js +14 -0
- package/out/mcp/tools/bootstrap.js.map +1 -0
- package/out/mcp/tools/cross-analysis.d.ts +18 -0
- package/out/mcp/tools/cross-analysis.d.ts.map +1 -0
- package/out/mcp/tools/cross-analysis.js +23 -0
- package/out/mcp/tools/cross-analysis.js.map +1 -0
- package/out/mcp/tools/gap-analysis.d.ts +34 -0
- package/out/mcp/tools/gap-analysis.d.ts.map +1 -0
- package/out/mcp/tools/gap-analysis.js +106 -0
- package/out/mcp/tools/gap-analysis.js.map +1 -0
- package/out/mcp/tools/learning-path.d.ts +10 -0
- package/out/mcp/tools/learning-path.d.ts.map +1 -0
- package/out/mcp/tools/learning-path.js +18 -0
- package/out/mcp/tools/learning-path.js.map +1 -0
- package/out/mcp/tools/query-dependencies.d.ts +18 -0
- package/out/mcp/tools/query-dependencies.d.ts.map +1 -0
- package/out/mcp/tools/query-dependencies.js +31 -0
- package/out/mcp/tools/query-dependencies.js.map +1 -0
- package/out/mcp/tools/query-modules.d.ts +17 -0
- package/out/mcp/tools/query-modules.d.ts.map +1 -0
- package/out/mcp/tools/query-modules.js +22 -0
- package/out/mcp/tools/query-modules.js.map +1 -0
- package/out/mcp/tools/query-symbols.d.ts +18 -0
- package/out/mcp/tools/query-symbols.d.ts.map +1 -0
- package/out/mcp/tools/query-symbols.js +32 -0
- package/out/mcp/tools/query-symbols.js.map +1 -0
- package/out/mcp/tools/semantic-discovery.d.ts +12 -0
- package/out/mcp/tools/semantic-discovery.d.ts.map +1 -0
- package/out/mcp/tools/semantic-discovery.js +35 -0
- package/out/mcp/tools/semantic-discovery.js.map +1 -0
- package/out/mcp/tools/system-explanation.d.ts +9 -0
- package/out/mcp/tools/system-explanation.d.ts.map +1 -0
- package/out/mcp/tools/system-explanation.js +14 -0
- package/out/mcp/tools/system-explanation.js.map +1 -0
- package/out/mcp/types.d.ts +19 -0
- package/out/mcp/types.d.ts.map +1 -0
- package/out/mcp/types.js +6 -0
- package/out/mcp/types.js.map +1 -0
- package/out/models/adr.d.ts +26 -0
- package/out/models/adr.d.ts.map +1 -0
- package/out/models/adr.js +3 -0
- package/out/models/adr.js.map +1 -0
- package/out/models/change.d.ts +42 -0
- package/out/models/change.d.ts.map +1 -0
- package/out/models/change.js +3 -0
- package/out/models/change.js.map +1 -0
- package/out/models/dependency.d.ts +37 -0
- package/out/models/dependency.d.ts.map +1 -0
- package/out/models/dependency.js +3 -0
- package/out/models/dependency.js.map +1 -0
- package/out/models/entity-reference.d.ts +20 -0
- package/out/models/entity-reference.d.ts.map +1 -0
- package/out/models/entity-reference.js +19 -0
- package/out/models/entity-reference.js.map +1 -0
- package/out/models/module.d.ts +26 -0
- package/out/models/module.d.ts.map +1 -0
- package/out/models/module.js +3 -0
- package/out/models/module.js.map +1 -0
- package/out/models/symbol.d.ts +31 -0
- package/out/models/symbol.d.ts.map +1 -0
- package/out/models/symbol.js +3 -0
- package/out/models/symbol.js.map +1 -0
- package/out/repositories/adr-repository.d.ts +41 -0
- package/out/repositories/adr-repository.d.ts.map +1 -0
- package/out/repositories/adr-repository.js +128 -0
- package/out/repositories/adr-repository.js.map +1 -0
- package/out/repositories/base-repository.d.ts +86 -0
- package/out/repositories/base-repository.d.ts.map +1 -0
- package/out/repositories/base-repository.js +66 -0
- package/out/repositories/base-repository.js.map +1 -0
- package/out/repositories/change-repository.d.ts +40 -0
- package/out/repositories/change-repository.d.ts.map +1 -0
- package/out/repositories/change-repository.js +150 -0
- package/out/repositories/change-repository.js.map +1 -0
- package/out/repositories/dependency-repository.d.ts +40 -0
- package/out/repositories/dependency-repository.d.ts.map +1 -0
- package/out/repositories/dependency-repository.js +129 -0
- package/out/repositories/dependency-repository.js.map +1 -0
- package/out/repositories/embedding-repository.d.ts +64 -0
- package/out/repositories/embedding-repository.d.ts.map +1 -0
- package/out/repositories/embedding-repository.js +126 -0
- package/out/repositories/embedding-repository.js.map +1 -0
- package/out/repositories/importance-repository.d.ts +63 -0
- package/out/repositories/importance-repository.d.ts.map +1 -0
- package/out/repositories/importance-repository.js +117 -0
- package/out/repositories/importance-repository.js.map +1 -0
- package/out/repositories/module-repository.d.ts +37 -0
- package/out/repositories/module-repository.d.ts.map +1 -0
- package/out/repositories/module-repository.js +122 -0
- package/out/repositories/module-repository.js.map +1 -0
- package/out/repositories/navigation-repository.d.ts +117 -0
- package/out/repositories/navigation-repository.d.ts.map +1 -0
- package/out/repositories/navigation-repository.js +211 -0
- package/out/repositories/navigation-repository.js.map +1 -0
- package/out/repositories/symbol-repository.d.ts +37 -0
- package/out/repositories/symbol-repository.d.ts.map +1 -0
- package/out/repositories/symbol-repository.js +136 -0
- package/out/repositories/symbol-repository.js.map +1 -0
- package/out/services/cross-dimension-linker.d.ts +45 -0
- package/out/services/cross-dimension-linker.d.ts.map +1 -0
- package/out/services/cross-dimension-linker.js +98 -0
- package/out/services/cross-dimension-linker.js.map +1 -0
- package/out/services/importance-scorer.d.ts +47 -0
- package/out/services/importance-scorer.d.ts.map +1 -0
- package/out/services/importance-scorer.js +188 -0
- package/out/services/importance-scorer.js.map +1 -0
- package/out/services/ingestion-orchestrator.d.ts +49 -0
- package/out/services/ingestion-orchestrator.d.ts.map +1 -0
- package/out/services/ingestion-orchestrator.js +140 -0
- package/out/services/ingestion-orchestrator.js.map +1 -0
- package/out/services/navigation-builder.d.ts +29 -0
- package/out/services/navigation-builder.d.ts.map +1 -0
- package/out/services/navigation-builder.js +229 -0
- package/out/services/navigation-builder.js.map +1 -0
- package/out/services/system-model-builder.d.ts +40 -0
- package/out/services/system-model-builder.d.ts.map +1 -0
- package/out/services/system-model-builder.js +88 -0
- package/out/services/system-model-builder.js.map +1 -0
- package/out/ui/commands.d.ts +9 -0
- package/out/ui/commands.d.ts.map +1 -0
- package/out/ui/commands.js +123 -0
- package/out/ui/commands.js.map +1 -0
- package/out/ui/database-explorer.d.ts +27 -0
- package/out/ui/database-explorer.d.ts.map +1 -0
- package/out/ui/database-explorer.js +169 -0
- package/out/ui/database-explorer.js.map +1 -0
- package/out/ui/detail-view-provider.d.ts +86 -0
- package/out/ui/detail-view-provider.d.ts.map +1 -0
- package/out/ui/detail-view-provider.js +1037 -0
- package/out/ui/detail-view-provider.js.map +1 -0
- package/out/ui/search-provider.d.ts +30 -0
- package/out/ui/search-provider.d.ts.map +1 -0
- package/out/ui/search-provider.js +240 -0
- package/out/ui/search-provider.js.map +1 -0
- package/out/ui/status-provider.d.ts +17 -0
- package/out/ui/status-provider.d.ts.map +1 -0
- package/out/ui/status-provider.js +76 -0
- package/out/ui/status-provider.js.map +1 -0
- package/out/validators/consistency-validator.d.ts +37 -0
- package/out/validators/consistency-validator.d.ts.map +1 -0
- package/out/validators/consistency-validator.js +93 -0
- package/out/validators/consistency-validator.js.map +1 -0
- package/out/validators/integrity-validator.d.ts +45 -0
- package/out/validators/integrity-validator.d.ts.map +1 -0
- package/out/validators/integrity-validator.js +115 -0
- package/out/validators/integrity-validator.js.map +1 -0
- package/package.json +173 -0
- package/schemas/sqlite/001_initial_modules.sql +39 -0
- package/schemas/sqlite/002_initial_symbols.sql +46 -0
- package/schemas/sqlite/003_initial_dependencies.sql +51 -0
- package/schemas/sqlite/004_initial_adrs.sql +41 -0
- package/schemas/sqlite/005_initial_changes.sql +54 -0
- package/schemas/sqlite/006_initial_ingestion.sql +34 -0
- package/schemas/sqlite/006_vectors_schema.sql +73 -0
package/QUICK_START.md
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# Quick Start - 5D Database Plugin
|
|
2
|
+
|
|
3
|
+
## Systemkontext
|
|
4
|
+
|
|
5
|
+
Das 5D Database Plugin ist Teil eines **5-dimensionalen Navigationsraums**:
|
|
6
|
+
|
|
7
|
+
| Dimension | Artefakt | Funktion |
|
|
8
|
+
|-----------|----------|----------|
|
|
9
|
+
| **X (Modules)** | `docs/modules/*.md` | API-Dokumentation pro Datei |
|
|
10
|
+
| **Y (Symbols)** | `docs/index/symbols.jsonl` | Symbole mit Dependencies |
|
|
11
|
+
| **Z (Dependencies)** | `docs/system/DEPENDENCY_GRAPH.md` | Modul-Abhängigkeiten |
|
|
12
|
+
| **W (ADRs)** | `docs/adr/*.md` | Architektur-Entscheidungen |
|
|
13
|
+
| **T (Changes)** | `docs/system/CHANGE_REPORT.md` | Änderungen über die Zeit |
|
|
14
|
+
|
|
15
|
+
Die Extension findet `docs/` automatisch in Workspace-Folders und Parent-Directories (siehe ADR-010).
|
|
16
|
+
|
|
17
|
+
## Setup (einmalig)
|
|
18
|
+
|
|
19
|
+
### 1. Dependencies installieren
|
|
20
|
+
```bash
|
|
21
|
+
cd 5d-database-plugin
|
|
22
|
+
npm install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 2. Extension kompilieren
|
|
26
|
+
```bash
|
|
27
|
+
npm run compile
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Wichtig:** Nach jeder Code-Änderung muss neu kompiliert werden:
|
|
31
|
+
```bash
|
|
32
|
+
npm run compile
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Oder im Watch-Mode (kompiliert automatisch bei Änderungen):
|
|
36
|
+
```bash
|
|
37
|
+
npm run watch
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Produktives Testen (empfohlen)
|
|
41
|
+
|
|
42
|
+
**Warum produktives Testen?**
|
|
43
|
+
- Echte Daten aus `docs/` werden verwendet
|
|
44
|
+
- Echte SQLite-Datenbanken werden erstellt
|
|
45
|
+
- Keine komplizierte Debug-Konfiguration nötig
|
|
46
|
+
- Extension funktioniert wie im produktiven Einsatz
|
|
47
|
+
|
|
48
|
+
### Schritt 1: Extension lokal installieren
|
|
49
|
+
|
|
50
|
+
#### Option A: Via VS Code UI (empfohlen)
|
|
51
|
+
|
|
52
|
+
1. **Extension kompilieren:**
|
|
53
|
+
```bash
|
|
54
|
+
cd 5d-database-plugin
|
|
55
|
+
npm run compile
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
2. **Extension installieren:**
|
|
59
|
+
- Öffne VS Code
|
|
60
|
+
- `Ctrl+Shift+X` → Extensions Panel
|
|
61
|
+
- Klicke auf "..." (mehr Optionen) → "Install from VSIX..."
|
|
62
|
+
- Wähle den `5d-database-plugin` Ordner (oder eine `.vsix` Datei, falls vorhanden)
|
|
63
|
+
|
|
64
|
+
3. **VS Code neu laden:**
|
|
65
|
+
- `Ctrl+Shift+P` → "Developer: Reload Window"
|
|
66
|
+
|
|
67
|
+
#### Option B: Via Command Line
|
|
68
|
+
|
|
69
|
+
1. **Extension kompilieren:**
|
|
70
|
+
```bash
|
|
71
|
+
cd 5d-database-plugin
|
|
72
|
+
npm run compile
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
2. **Extension installieren:**
|
|
76
|
+
```bash
|
|
77
|
+
code --install-extension .
|
|
78
|
+
```
|
|
79
|
+
(Führe den Befehl im `5d-database-plugin` Ordner aus)
|
|
80
|
+
|
|
81
|
+
3. **VS Code neu laden:**
|
|
82
|
+
- `Ctrl+Shift+P` → "Developer: Reload Window"
|
|
83
|
+
|
|
84
|
+
### Schritt 2: VS Code im Root-Ordner öffnen
|
|
85
|
+
|
|
86
|
+
**Wichtig:** VS Code muss im Root-Ordner geöffnet sein, wo `docs/` liegt:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Im Root-Ordner öffnen
|
|
90
|
+
cd "D:\Datenbank für Noyrax"
|
|
91
|
+
code .
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Oder öffne VS Code manuell im Ordner `Datenbank für Noyrax/` (wo `docs/` liegt).
|
|
95
|
+
|
|
96
|
+
### Schritt 3: Extension testen
|
|
97
|
+
|
|
98
|
+
1. **Extension aktiviert sich automatisch:**
|
|
99
|
+
- Extension aktiviert sich beim Start (`onStartupFinished`)
|
|
100
|
+
- Du solltest sehen: "5D Database Plugin activated"
|
|
101
|
+
- Status Bar zeigt: `$(database) 5D DB`
|
|
102
|
+
|
|
103
|
+
2. **Output-Channel prüfen:**
|
|
104
|
+
- `Ctrl+Shift+P` → "Output: Show Output Channel"
|
|
105
|
+
- Wähle "5D Database Plugin"
|
|
106
|
+
- Prüfe die Logs:
|
|
107
|
+
- "Using workspace root: ..."
|
|
108
|
+
- "Found docs/ directory: ..." (oder Warnung, wenn nicht gefunden)
|
|
109
|
+
- "Database migrations completed"
|
|
110
|
+
- "=== 5D Database Plugin Activation Completed Successfully ==="
|
|
111
|
+
|
|
112
|
+
3. **Commands testen:**
|
|
113
|
+
- `Ctrl+Shift+P` → "Ingest Documentation" (Command: `5d-database.ingest`)
|
|
114
|
+
- Oder: Klicke auf Status Bar Icon (`$(database) 5D DB`)
|
|
115
|
+
|
|
116
|
+
4. **Database Explorer prüfen:**
|
|
117
|
+
- Sidebar → "5D Database Explorer"
|
|
118
|
+
- Sollte alle 5 Dimensionen anzeigen:
|
|
119
|
+
- X: Modules
|
|
120
|
+
- Y: Symbols
|
|
121
|
+
- Z: Dependencies
|
|
122
|
+
- W: ADRs
|
|
123
|
+
- T: Changes
|
|
124
|
+
|
|
125
|
+
### Was passiert bei der Aktivierung?
|
|
126
|
+
|
|
127
|
+
1. **Extension wird geladen:**
|
|
128
|
+
- VS Code lädt `out/extension.js`
|
|
129
|
+
- `activate()` Funktion wird aufgerufen
|
|
130
|
+
|
|
131
|
+
2. **Workspace wird erkannt:**
|
|
132
|
+
- Extension prüft Workspace-Folders
|
|
133
|
+
- Falls kein Workspace: Fallback auf Storage-Path
|
|
134
|
+
- Logs zeigen: "Using workspace root: ..."
|
|
135
|
+
|
|
136
|
+
3. **docs/ wird gesucht:**
|
|
137
|
+
- Extension sucht in Workspace-Folders (alphabetisch sortiert)
|
|
138
|
+
- Sucht in Parent-Directories (bis zu 5 Ebenen)
|
|
139
|
+
- Zeigt Warnung, wenn nicht gefunden
|
|
140
|
+
- Logs zeigen: "Found docs/ directory: ..." oder "WARNING: docs/ directory not found"
|
|
141
|
+
|
|
142
|
+
4. **Datenbanken werden initialisiert:**
|
|
143
|
+
- Migrationen werden ausgeführt
|
|
144
|
+
- 5 SQLite-Datenbanken werden erstellt (falls nicht vorhanden) in `.database-plugin/`:
|
|
145
|
+
- `modules.db` (X-Dimension)
|
|
146
|
+
- `symbols.db` (Y-Dimension)
|
|
147
|
+
- `dependencies.db` (Z-Dimension)
|
|
148
|
+
- `adrs.db` (W-Dimension)
|
|
149
|
+
- `changes.db` (T-Dimension)
|
|
150
|
+
- Logs zeigen: "Database migrations completed"
|
|
151
|
+
|
|
152
|
+
5. **UI wird registriert:**
|
|
153
|
+
- Status Bar Provider
|
|
154
|
+
- Database Explorer Provider
|
|
155
|
+
- Commands werden registriert
|
|
156
|
+
- Logs zeigen: "Registering UI components..." und "Registering commands..."
|
|
157
|
+
|
|
158
|
+
6. **Aktivierung abgeschlossen:**
|
|
159
|
+
- Info-Message: "5D Database Plugin activated"
|
|
160
|
+
- Output-Channel zeigt: "=== 5D Database Plugin Activation Completed Successfully ==="
|
|
161
|
+
|
|
162
|
+
## CLI-Tool (Alternative)
|
|
163
|
+
|
|
164
|
+
Das CLI-Tool kann **ohne VS Code Extension** verwendet werden, z.B. für CI/CD oder Automatisierung.
|
|
165
|
+
|
|
166
|
+
### Verwendung
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Inkrementelle Ingestion (Standard)
|
|
170
|
+
node out/cli/ingest-cli.js "D:\Datenbank für Noyrax"
|
|
171
|
+
|
|
172
|
+
# Vollständige Ingestion (alle Daten neu laden)
|
|
173
|
+
node out/cli/ingest-cli.js "D:\Datenbank für Noyrax" --full
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Was macht das CLI-Tool?
|
|
177
|
+
|
|
178
|
+
1. **Datenbanken initialisieren:**
|
|
179
|
+
- Führt Migrationen aus
|
|
180
|
+
- Erstellt 5 SQLite-Datenbanken in `.database-plugin/`
|
|
181
|
+
|
|
182
|
+
2. **Dokumentation ingestieren:**
|
|
183
|
+
- Liest alle 5 Dimensionen aus `docs/`:
|
|
184
|
+
- X: `docs/modules/*.md`
|
|
185
|
+
- Y: `docs/index/symbols.jsonl`
|
|
186
|
+
- Z: `docs/system/DEPENDENCY_GRAPH.md`
|
|
187
|
+
- W: `docs/adr/*.md`
|
|
188
|
+
- T: `docs/system/CHANGE_REPORT.md`
|
|
189
|
+
|
|
190
|
+
3. **Hash-basierte Änderungserkennung:**
|
|
191
|
+
- Inkrementeller Modus: Nur geänderte Dateien werden neu ingestiert
|
|
192
|
+
- Vollständiger Modus: Alle Dateien werden neu ingestiert
|
|
193
|
+
|
|
194
|
+
### Vorteile
|
|
195
|
+
|
|
196
|
+
- ✅ Funktioniert ohne VS Code
|
|
197
|
+
- ✅ Nützlich für CI/CD-Pipelines
|
|
198
|
+
- ✅ Automatisierung möglich
|
|
199
|
+
- ✅ Kann in Scripts eingebunden werden
|
|
200
|
+
|
|
201
|
+
## Debug-Modus (optional, nur für Extension-Entwicklung)
|
|
202
|
+
|
|
203
|
+
**Hinweis:** Debug-Modus ist nur für die Entwicklung der Extension selbst gedacht. Für produktives Testen verwende die lokale Installation (siehe oben).
|
|
204
|
+
|
|
205
|
+
### Voraussetzungen
|
|
206
|
+
|
|
207
|
+
- VS Code muss im Extension-Ordner (`5d-database-plugin/`) geöffnet sein
|
|
208
|
+
- Debug-Konfiguration (`5d-database-plugin/.vscode/launch.json`) muss vorhanden sein
|
|
209
|
+
|
|
210
|
+
### Verwendung
|
|
211
|
+
|
|
212
|
+
1. **VS Code im Extension-Ordner öffnen:**
|
|
213
|
+
```bash
|
|
214
|
+
cd 5d-database-plugin
|
|
215
|
+
code .
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
2. **Extension starten:**
|
|
219
|
+
- Drücke `F5` oder öffne Debug-Panel (`Ctrl+Shift+D`)
|
|
220
|
+
- Wähle die Konfiguration **"Run Extension"**
|
|
221
|
+
- Die Extension wird automatisch kompiliert (preLaunchTask)
|
|
222
|
+
- Extension Development Host öffnet sich
|
|
223
|
+
|
|
224
|
+
3. **Im Extension Development Host:**
|
|
225
|
+
- Öffne den Root-Ordner manuell: `File` → `Open Folder...` → `D:\Datenbank für Noyrax`
|
|
226
|
+
- Extension aktiviert sich automatisch
|
|
227
|
+
- Teste die Extension
|
|
228
|
+
|
|
229
|
+
**Wichtig:** Der Debug-Modus ist nicht zuverlässig für produktives Testen, da der Root-Ordner nicht automatisch geöffnet wird. Verwende stattdessen die lokale Installation.
|
|
230
|
+
|
|
231
|
+
## Troubleshooting
|
|
232
|
+
|
|
233
|
+
### Extension aktiviert sich nicht
|
|
234
|
+
|
|
235
|
+
1. **Prüfe Kompilierung:**
|
|
236
|
+
- Existiert `out/extension.js`?
|
|
237
|
+
- Führe `npm run compile` aus und prüfe auf Fehler
|
|
238
|
+
|
|
239
|
+
2. **Prüfe Output-Channel:**
|
|
240
|
+
- `Ctrl+Shift+P` → "Output: Show Output Channel" → "5D Database Plugin"
|
|
241
|
+
- Suche nach Fehlermeldungen
|
|
242
|
+
- Detaillierte Logs zeigen jeden Schritt der Aktivierung
|
|
243
|
+
|
|
244
|
+
3. **Prüfe Developer Tools:**
|
|
245
|
+
- `Help` → `Toggle Developer Tools`
|
|
246
|
+
- Console-Tab → Suche nach Fehlern
|
|
247
|
+
|
|
248
|
+
4. **Prüfe Extension-Status:**
|
|
249
|
+
- `Ctrl+Shift+P` → "Extensions: Show Installed Extensions"
|
|
250
|
+
- Suche nach "5D Database Plugin"
|
|
251
|
+
- Prüfe ob Extension aktiviert ist
|
|
252
|
+
|
|
253
|
+
### Commands sind nicht verfügbar
|
|
254
|
+
|
|
255
|
+
1. **Extension wurde aktiviert?**
|
|
256
|
+
- Prüfe Output-Channel "5D Database Plugin"
|
|
257
|
+
- Sollte "Activation Completed Successfully" zeigen
|
|
258
|
+
|
|
259
|
+
2. **Workspace-Ordner korrekt?**
|
|
260
|
+
- VS Code muss im Root-Ordner geöffnet sein (wo `docs/` liegt)
|
|
261
|
+
- Extension sucht automatisch nach `docs/` in Workspace und Parent-Directories
|
|
262
|
+
|
|
263
|
+
3. **Extension neu laden:**
|
|
264
|
+
- `Ctrl+Shift+P` → "Developer: Reload Window"
|
|
265
|
+
|
|
266
|
+
### docs/ wird nicht gefunden
|
|
267
|
+
|
|
268
|
+
1. **Workspace-Ordner prüfen:**
|
|
269
|
+
- VS Code muss im Root-Ordner geöffnet sein
|
|
270
|
+
- `docs/` sollte im Root-Ordner liegen
|
|
271
|
+
|
|
272
|
+
2. **Output-Channel prüfen:**
|
|
273
|
+
- Extension zeigt Warnung, wenn `docs/` nicht gefunden wird
|
|
274
|
+
- Ingestion wird übersprungen, aber Extension funktioniert trotzdem
|
|
275
|
+
- Logs zeigen: "WARNING: docs/ directory not found in workspace folders or parent directories."
|
|
276
|
+
|
|
277
|
+
3. **Manuell prüfen:**
|
|
278
|
+
- Prüfe ob `docs/` Verzeichnis existiert
|
|
279
|
+
- Extension sucht in Workspace-Folders und bis zu 5 Parent-Directories
|
|
280
|
+
- Prüfe die Logs im Output-Channel für Details
|
|
281
|
+
|
|
282
|
+
### Datenbank-Fehler
|
|
283
|
+
|
|
284
|
+
1. **Prüfe Datenbank-Verzeichnis:**
|
|
285
|
+
- Datenbanken werden in `.database-plugin/` erstellt
|
|
286
|
+
- Prüfe ob Verzeichnis existiert und beschreibbar ist
|
|
287
|
+
|
|
288
|
+
2. **Prüfe Migrationen:**
|
|
289
|
+
- Output-Channel zeigt: "Database migrations completed"
|
|
290
|
+
- Falls Fehler: Prüfe Logs für Details
|
|
291
|
+
|
|
292
|
+
3. **Datenbanken zurücksetzen:**
|
|
293
|
+
- Lösche `.database-plugin/` Verzeichnis
|
|
294
|
+
- Extension erstellt Datenbanken neu beim nächsten Start
|
|
295
|
+
|
|
296
|
+
## Workflow für Entwicklung
|
|
297
|
+
|
|
298
|
+
1. **Code ändern** in `src/`
|
|
299
|
+
2. **Kompilieren:** `npm run compile` (oder `npm run watch`)
|
|
300
|
+
3. **Extension neu laden:** `Ctrl+Shift+P` → "Developer: Reload Window"
|
|
301
|
+
4. **Extension testen** im Root-Ordner (wo `docs/` liegt)
|
|
302
|
+
|
|
303
|
+
## Wichtige Dateien
|
|
304
|
+
|
|
305
|
+
- `src/extension.ts` - Extension Entry Point
|
|
306
|
+
- `package.json` - Extension Manifest (Commands, Views)
|
|
307
|
+
- `out/extension.js` - Kompilierte Extension (muss existieren!)
|
|
308
|
+
- `src/cli/ingest-cli.ts` - CLI-Tool für Ingestion
|
|
309
|
+
- `src/core/docs-path-resolver.ts` - Automatische docs/ Erkennung
|
|
310
|
+
- `tsconfig.json` - TypeScript Konfiguration
|
|
311
|
+
|
|
312
|
+
## Verwandte Dokumentation
|
|
313
|
+
|
|
314
|
+
- **ADR-008**: Phase 1.8 - VS Code Extension & UI
|
|
315
|
+
- **ADR-010**: Multi-Level Docs Path Resolution
|
|
316
|
+
- **README.md**: Vollständige Dokumentation der Extension
|
package/README.md
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# 5D Database Plugin + Semantic Brain
|
|
2
|
+
|
|
3
|
+
**Semantic Brain für LLM-Agenten** - Eine intelligente Wissensbasis, die es AI-Agenten ermöglicht, Code-Systeme zu verstehen, **OHNE dass sie diese vorher kennen müssen**.
|
|
4
|
+
|
|
5
|
+
VS Code Extension für 5-dimensionale Datenbank-Speicherung der Dokumentations-System-Daten mit semantischer Suche.
|
|
6
|
+
|
|
7
|
+
## ⚠️ WICHTIG: System-Kopplung
|
|
8
|
+
|
|
9
|
+
**Das Documentation System Plugin (Noyrax) und das 5D Database Plugin MÜSSEN gekoppelt werden - sie funktionieren nur gemeinsam!**
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Noyrax (Documentation System) → generiert docs/ → 5D Database Plugin → SQLite-DBs → MCP-Server → LLM-Agenten
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- **Noyrax** generiert die `docs/` Ordnerstruktur mit allen 5 Dimensionen
|
|
16
|
+
- **5D Database Plugin** liest `docs/` und speichert die Daten in SQLite-Datenbanken
|
|
17
|
+
- **MCP-Server** ermöglicht LLM-Agenten-Zugriff auf die Datenbanken
|
|
18
|
+
|
|
19
|
+
Siehe `SETUP_NEW_PROJECT.md` für vollständigen Setup-Workflow.
|
|
20
|
+
|
|
21
|
+
## Übersicht
|
|
22
|
+
|
|
23
|
+
Das 5D Database Plugin speichert die 5 Dimensionen des Documentation System Plugins in separaten SQLite-Datenbanken:
|
|
24
|
+
|
|
25
|
+
- **X-Dimension (Modules)**: Modul-Dokumentation aus `docs/modules/*.md`
|
|
26
|
+
- **Y-Dimension (Symbols)**: Symbol-Index aus `docs/index/symbols.jsonl`
|
|
27
|
+
- **Z-Dimension (Dependencies)**: Dependency-Graph aus `docs/system/DEPENDENCY_GRAPH.md`
|
|
28
|
+
- **W-Dimension (ADRs)**: Architecture Decision Records aus `docs/adr/*.md`
|
|
29
|
+
- **T-Dimension (Changes)**: Change Reports aus `docs/system/CHANGE_REPORT.md`
|
|
30
|
+
|
|
31
|
+
## Features
|
|
32
|
+
|
|
33
|
+
- **5 separate SQLite-Datenbanken** - Eine pro Dimension für optimale Performance
|
|
34
|
+
- **Hash-basierte Änderungserkennung** - Inkrementelle Updates nur bei Änderungen
|
|
35
|
+
- **Cross-Dimension-Queries** - Verknüpfungen zwischen Dimensionen
|
|
36
|
+
- **MCP-Server Integration** - Systemweiter Zugriff via Model Context Protocol
|
|
37
|
+
- **VS Code UI** - Database Explorer und Status Bar Integration
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
|
|
41
|
+
⚠️ **Voraussetzung: Documentation System Plugin (Noyrax) muss installiert sein und `docs/` generiert haben!**
|
|
42
|
+
|
|
43
|
+
Siehe `SETUP_NEW_PROJECT.md` für vollständige Anleitung mit beiden Plugins.
|
|
44
|
+
|
|
45
|
+
### Schnellstart
|
|
46
|
+
|
|
47
|
+
1. **Documentation System Plugin (Noyrax) installieren** und `docs/` generieren
|
|
48
|
+
2. **5D Database Plugin installieren:**
|
|
49
|
+
```bash
|
|
50
|
+
code --install-extension 5d-database-plugin-0.1.0.vsix
|
|
51
|
+
```
|
|
52
|
+
3. **Workspace öffnen** (muss `docs/` enthalten)
|
|
53
|
+
4. **Extension aktiviert sich automatisch** beim Start
|
|
54
|
+
5. **Ingestion ausführen:** `Ctrl+Shift+P` → "Ingest Documentation"
|
|
55
|
+
|
|
56
|
+
## Verwendung
|
|
57
|
+
|
|
58
|
+
### Ingestion
|
|
59
|
+
|
|
60
|
+
Die Dokumentation wird automatisch beim ersten Start oder manuell via Command ingestiert:
|
|
61
|
+
|
|
62
|
+
- **Command**: `5d-database.ingest` - Ingestiert alle Dimensionen
|
|
63
|
+
- **CLI**: `node out/cli/ingest-cli.js <workspace-root> [--full]`
|
|
64
|
+
- **npm**: `noyrax-5d-database ingest <workspace-root> [--full]`
|
|
65
|
+
|
|
66
|
+
### CLI-Tools für direkten Zugriff
|
|
67
|
+
|
|
68
|
+
Für AI-Agenten und Entwickler stehen CLI-Tools für direkten Datenbank-Zugriff zur Verfügung:
|
|
69
|
+
|
|
70
|
+
- **Ingest-CLI**: `noyrax-5d-database ingest` - Vollständige Ingestion (5D + V-Dimension)
|
|
71
|
+
- **Embedding-CLI**: `noyrax-5d-database-embedding` - Embedding-Pipeline manuell ausführen (nur V-Dimension)
|
|
72
|
+
- **Query-CLI**: `noyrax-5d-database-query` - Datenbank-Queries (Modules, Symbols, Dependencies, ADRs, Changes)
|
|
73
|
+
- **Tool-CLI**: `noyrax-5d-database-tool` - MCP-Tools direkt nutzen (bootstrap, semantic_discovery, system_explanation, learning_path, cross_analysis, gap_analysis, architecture_mining)
|
|
74
|
+
- **Search-CLI**: `noyrax-5d-database-search` - Semantic Search über V-Dimension
|
|
75
|
+
- **MCP-Server**: `noyrax-5d-database-mcp` - MCP-Server für externe LLM-Agenten
|
|
76
|
+
|
|
77
|
+
**Hinweis:** Die Embedding-Pipeline wird automatisch bei der Ingestion ausgeführt, kann aber auch manuell via `noyrax-5d-database-embedding` ausgeführt werden (z.B. wenn ChromaDB nachträglich gestartet wurde).
|
|
78
|
+
|
|
79
|
+
**Gap Analysis Tool:**
|
|
80
|
+
|
|
81
|
+
Das `gap_analysis` Tool identifiziert systematisch Dokumentationslücken:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Finde Module mit vielen Dependencies aber ohne/wenigen ADRs
|
|
85
|
+
noyrax-5d-database-tool <workspace-root> gap_analysis
|
|
86
|
+
|
|
87
|
+
# Mit Parametern
|
|
88
|
+
noyrax-5d-database-tool <workspace-root> gap_analysis --min-deps 5 --limit 20
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Das Tool analysiert alle Module, berechnet Gap-Scores basierend auf Dependency-Count und ADR-Count, und gibt priorisierte Empfehlungen zurück. Siehe `docs/adr/034-gap-analysis-tool.md` für Details.
|
|
92
|
+
|
|
93
|
+
**Architecture Mining Tool:**
|
|
94
|
+
|
|
95
|
+
Das `architecture_mining` Tool leitet rückwirkend Architektur-Entscheidungen aus dem Code ab:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Analysiere gesamtes System für Architektur-Patterns
|
|
99
|
+
noyrax-5d-database-tool <workspace-root> architecture_mining
|
|
100
|
+
|
|
101
|
+
# Analysiere spezifische Datei
|
|
102
|
+
noyrax-5d-database-tool <workspace-root> architecture_mining <filePath>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Das Tool nutzt die **5D-Datenbanken (Semantic Brain)** - nicht den Code direkt:
|
|
106
|
+
- **X-Dimension (Modules)**: Modul-Pfade, Dateinamen, Struktur
|
|
107
|
+
- **Y-Dimension (Symbols)**: Symbol-Namen, Klassen-Namen
|
|
108
|
+
- **Z-Dimension (Dependencies)**: Dependency-Graph
|
|
109
|
+
- **W-Dimension (ADRs)**: Bestehende ADRs zum Vergleich
|
|
110
|
+
|
|
111
|
+
Es erkennt Patterns wie Repository Pattern, API Layer, Builder Pattern, Factory Pattern, Service Layer und Layered Architecture. Siehe `docs/adr/035-architecture-mining-tool.md` für Details.
|
|
112
|
+
|
|
113
|
+
Siehe `MCP_SERVER_SETUP.md` für detaillierte Anleitung.
|
|
114
|
+
|
|
115
|
+
### MCP-Server (für LLM-Agenten)
|
|
116
|
+
|
|
117
|
+
Der MCP-Server bietet Zugriff auf alle Dimensionen via Model Context Protocol:
|
|
118
|
+
|
|
119
|
+
- **Resources**: `db://modules/{pluginId}`, `db://symbols/{pluginId}`, etc.
|
|
120
|
+
- **Tools**:
|
|
121
|
+
- `bootstrap` - First-Contact für Agenten ohne Vorwissen
|
|
122
|
+
- `semantic_discovery` - Semantic Search in natürlicher Sprache
|
|
123
|
+
- `system_explanation` - System-Übersicht, Entry Points, Architecture ADRs
|
|
124
|
+
- `learning_path` - Geführte Lernpfade
|
|
125
|
+
- `query_modules`, `query_symbols`, `query_dependencies`, `cross_analysis`
|
|
126
|
+
- `gap_analysis` - Systematische Dokumentationslücken-Identifikation
|
|
127
|
+
- `architecture_mining` - Rückwirkende Architektur-Entscheidungs-Erkennung aus Code
|
|
128
|
+
|
|
129
|
+
Siehe `MCP_SERVER_SETUP.md` für detaillierte Setup-Anleitung für LLM-Agenten.
|
|
130
|
+
|
|
131
|
+
### Database Explorer
|
|
132
|
+
|
|
133
|
+
Der Database Explorer zeigt alle 5 Dimensionen in der VS Code Sidebar:
|
|
134
|
+
- X: Modules
|
|
135
|
+
- Y: Symbols
|
|
136
|
+
- Z: Dependencies
|
|
137
|
+
- W: ADRs
|
|
138
|
+
- T: Changes
|
|
139
|
+
|
|
140
|
+
## Architektur
|
|
141
|
+
|
|
142
|
+
### Datenbank-Schema
|
|
143
|
+
|
|
144
|
+
Jede Dimension hat ihre eigene SQLite-Datenbank:
|
|
145
|
+
- `{workspace}/.database-plugin/modules.db` - X-Dimension
|
|
146
|
+
- `{workspace}/.database-plugin/symbols.db` - Y-Dimension
|
|
147
|
+
- `{workspace}/.database-plugin/dependencies.db` - Z-Dimension
|
|
148
|
+
- `{workspace}/.database-plugin/adrs.db` - W-Dimension
|
|
149
|
+
- `{workspace}/.database-plugin/changes.db` - T-Dimension
|
|
150
|
+
- `{workspace}/.database-plugin/vectors.db` - V-Dimension (Embeddings für Semantic Search)
|
|
151
|
+
|
|
152
|
+
### ID-Strategie
|
|
153
|
+
|
|
154
|
+
- **Internal IDs**: UUID v4 für Primärschlüssel
|
|
155
|
+
- **External IDs**: Fachliche IDs (symbol_id, adr_number, etc.)
|
|
156
|
+
- **ID-Mapping**: Tabellen für External-ID → Internal-ID Übersetzung
|
|
157
|
+
|
|
158
|
+
### Cross-Dimension-Referenzen
|
|
159
|
+
|
|
160
|
+
- Symbol-ID → Modul-ID Auflösung
|
|
161
|
+
- ADR → File-Path Verknüpfungen
|
|
162
|
+
- Dependency → Symbol Evidence Links
|
|
163
|
+
|
|
164
|
+
## Entwicklung
|
|
165
|
+
|
|
166
|
+
### Build
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
npm install
|
|
170
|
+
npm run compile
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Tests
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npm test
|
|
177
|
+
npm run test:coverage
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Projektstruktur
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
5d-database-plugin/
|
|
184
|
+
├── src/
|
|
185
|
+
│ ├── api/ # API-Layer pro Dimension
|
|
186
|
+
│ ├── core/ # Multi-DB-Manager, Migration, ID-Mapper
|
|
187
|
+
│ ├── ingestors/ # Ingestion-Module pro Dimension
|
|
188
|
+
│ ├── models/ # TypeScript-Modelle
|
|
189
|
+
│ ├── repositories/ # Repository-Layer pro Dimension
|
|
190
|
+
│ ├── services/ # Cross-Dimension-Services
|
|
191
|
+
│ ├── validators/ # Konsistenz- und Integritäts-Validierung
|
|
192
|
+
│ ├── mcp/ # MCP-Server Integration
|
|
193
|
+
│ ├── ui/ # VS Code UI-Komponenten
|
|
194
|
+
│ └── extension.ts # Extension Entry Point
|
|
195
|
+
├── schemas/sqlite/ # SQL-Schema-Migrationen
|
|
196
|
+
└── __tests__/ # Tests
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Phase 2: Semantic Brain - ✅ IMPLEMENTIERT
|
|
200
|
+
|
|
201
|
+
Das Semantic Brain ist vollständig implementiert und bietet:
|
|
202
|
+
|
|
203
|
+
- ✅ **V-Dimension** - Vektordatenbank für Embeddings
|
|
204
|
+
- ✅ **Embedding System** - OpenAI-Integration für Embedding-Generierung
|
|
205
|
+
- ✅ **Semantic Search API** - Vector Similarity Search über alle Dimensionen
|
|
206
|
+
- ✅ **Importance Scoring** - PageRank und Betweenness Centrality
|
|
207
|
+
- ✅ **Navigation Metadata** - Entry Points und Clusters
|
|
208
|
+
- ✅ **Self-Understanding** - Bootstrap API, Self-Explanation API, Learning Paths
|
|
209
|
+
- ✅ **Deterministic Context Builder** - Strukturierter Kontext ohne KI-Generierung
|
|
210
|
+
- ✅ **MCP-Server Integration** - Vollständige Integration für LLM-Agenten
|
|
211
|
+
|
|
212
|
+
### Vektordatenbank
|
|
213
|
+
|
|
214
|
+
- **SQLite VSS** für macOS/Linux (native Extension)
|
|
215
|
+
- **ChromaDB** für Windows (HTTP-Server)
|
|
216
|
+
- **Platform-Detection** - Automatische Auswahl der besten Lösung
|
|
217
|
+
- **Graceful Degradation** - Fallback auf Cosine Similarity wenn keine verfügbar
|
|
218
|
+
|
|
219
|
+
Siehe `CHROMADB_SETUP.md` für ChromaDB-Konfiguration.
|
|
220
|
+
|
|
221
|
+
## Kernfunktionalität für LLM-Agenten
|
|
222
|
+
|
|
223
|
+
1. **Semantic Discovery**: Natürliche Sprache → relevante Code-Entitäten finden
|
|
224
|
+
2. **Deterministic Navigation**: Strukturierter Kontext aus Fakten (keine KI-Halluzinationen)
|
|
225
|
+
3. **Self-Understanding**: System erklärt sich selbst (Bootstrap API, Self-Explanation API)
|
|
226
|
+
4. **Learning Paths**: Geführte Pfade zum Erlernen des Systems
|
|
227
|
+
5. **Cross-Dimension Intelligence**: Verknüpfungen zwischen allen Dimensionen
|
|
228
|
+
|
|
229
|
+
## Dokumentation
|
|
230
|
+
|
|
231
|
+
- **`SETUP_NEW_PROJECT.md`** - Vollständiger Setup-Workflow für neue Projekte (gekoppelt mit Noyrax)
|
|
232
|
+
- **`MCP_SERVER_SETUP.md`** - MCP-Server-Konfiguration für LLM-Agenten (Claude Desktop, etc.)
|
|
233
|
+
- **`QUICK_START.md`** - Schnellstart-Anleitung für Entwickler
|
|
234
|
+
- **`CHROMADB_SETUP.md`** - ChromaDB-Installation und -Konfiguration (Windows)
|
|
235
|
+
- **`docs/adr/`** - Architecture Decision Records (32 ADRs dokumentieren alle Entscheidungen)
|
|
236
|
+
|
|
237
|
+
## License
|
|
238
|
+
|
|
239
|
+
MIT
|
|
240
|
+
|