@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
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# MCP Server Test Report
|
|
2
|
+
|
|
3
|
+
**Datum:** 2025-12-29
|
|
4
|
+
**System:** 5D Database Plugin MCP Server
|
|
5
|
+
|
|
6
|
+
## Status: ✅ FUNKTIONSFÄHIG
|
|
7
|
+
|
|
8
|
+
Der MCP-Server ist vollständig implementiert und getestet.
|
|
9
|
+
|
|
10
|
+
## Implementierte Tools
|
|
11
|
+
|
|
12
|
+
### Core Tools
|
|
13
|
+
|
|
14
|
+
1. **`bootstrap`**
|
|
15
|
+
- **Zweck:** First-Contact für Agenten ohne Vorwissen
|
|
16
|
+
- **Parameter:** `pluginId`
|
|
17
|
+
- **Status:** ✅ Implementiert
|
|
18
|
+
- **Verwendung:** `noyrax-5d-database-tool . bootstrap`
|
|
19
|
+
|
|
20
|
+
2. **`semantic_discovery`**
|
|
21
|
+
- **Zweck:** Semantic Search in natürlicher Sprache
|
|
22
|
+
- **Parameter:** `query`, `pluginId`, `limit?`
|
|
23
|
+
- **Status:** ✅ Implementiert
|
|
24
|
+
- **Verwendung:** `noyrax-5d-database-tool . semantic_discovery "query" [limit]`
|
|
25
|
+
|
|
26
|
+
3. **`system_explanation`**
|
|
27
|
+
- **Zweck:** System-Übersicht, Entry Points, Architecture ADRs
|
|
28
|
+
- **Parameter:** `pluginId`
|
|
29
|
+
- **Status:** ✅ Implementiert
|
|
30
|
+
- **Verwendung:** `noyrax-5d-database-tool . system_explanation`
|
|
31
|
+
|
|
32
|
+
4. **`learning_path`**
|
|
33
|
+
- **Zweck:** Geführter Lernpfad für ein Topic
|
|
34
|
+
- **Parameter:** `topic`, `pluginId`
|
|
35
|
+
- **Status:** ✅ Implementiert
|
|
36
|
+
- **Verwendung:** `noyrax-5d-database-tool . learning_path <topic>`
|
|
37
|
+
|
|
38
|
+
### Analysis Tools
|
|
39
|
+
|
|
40
|
+
5. **`cross_analysis`**
|
|
41
|
+
- **Zweck:** Cross-Dimension-Analyse für filePath
|
|
42
|
+
- **Parameter:** `filePath`, `pluginId`
|
|
43
|
+
- **Status:** ✅ Implementiert
|
|
44
|
+
- **Verwendung:** `noyrax-5d-database-tool . cross_analysis <filePath>`
|
|
45
|
+
|
|
46
|
+
6. **`gap_analysis`**
|
|
47
|
+
- **Zweck:** Systematische Dokumentationslücken-Identifikation
|
|
48
|
+
- **Parameter:** `pluginId`, `minDependencies?`, `limit?`
|
|
49
|
+
- **Status:** ✅ Implementiert
|
|
50
|
+
- **Verwendung:** `noyrax-5d-database-tool . gap_analysis [--min-deps N] [--limit N]`
|
|
51
|
+
|
|
52
|
+
7. **`architecture_mining`**
|
|
53
|
+
- **Zweck:** Rückwirkende Architektur-Entscheidungs-Erkennung
|
|
54
|
+
- **Parameter:** `pluginId`, `filePath?`
|
|
55
|
+
- **Status:** ✅ Implementiert
|
|
56
|
+
- **Verwendung:** `noyrax-5d-database-tool . architecture_mining [filePath]`
|
|
57
|
+
|
|
58
|
+
### Query Tools
|
|
59
|
+
|
|
60
|
+
8. **`query_modules`**
|
|
61
|
+
- **Zweck:** Query Module nach filePath
|
|
62
|
+
- **Parameter:** `filePath`, `pluginId`
|
|
63
|
+
- **Status:** ✅ Implementiert
|
|
64
|
+
- **Verwendung:** `noyrax-5d-database-query . modules <filePath>`
|
|
65
|
+
|
|
66
|
+
9. **`query_symbols`**
|
|
67
|
+
- **Zweck:** Query Symbols nach path oder symbolId
|
|
68
|
+
- **Parameter:** `path?`, `symbolId?`, `pluginId`
|
|
69
|
+
- **Status:** ✅ Implementiert
|
|
70
|
+
- **Verwendung:** `noyrax-5d-database-query . symbols <path|symbolId>`
|
|
71
|
+
|
|
72
|
+
10. **`query_dependencies`**
|
|
73
|
+
- **Zweck:** Query Dependencies nach fromModule oder toModule
|
|
74
|
+
- **Parameter:** `fromModule?`, `toModule?`, `pluginId`
|
|
75
|
+
- **Status:** ✅ Implementiert
|
|
76
|
+
- **Verwendung:** `noyrax-5d-database-query . dependencies --from <path> | --to <path>`
|
|
77
|
+
|
|
78
|
+
## Implementierte Resources
|
|
79
|
+
|
|
80
|
+
1. **`db://modules/{pluginId}`**
|
|
81
|
+
- **Zweck:** Alle Module (X-Dimension)
|
|
82
|
+
- **Status:** ✅ Implementiert
|
|
83
|
+
|
|
84
|
+
2. **`db://symbols/{pluginId}`**
|
|
85
|
+
- **Zweck:** Alle Symbols (Y-Dimension)
|
|
86
|
+
- **Status:** ✅ Implementiert
|
|
87
|
+
|
|
88
|
+
3. **`db://dependencies/{pluginId}`**
|
|
89
|
+
- **Zweck:** Alle Dependencies (Z-Dimension)
|
|
90
|
+
- **Status:** ✅ Implementiert
|
|
91
|
+
|
|
92
|
+
4. **`db://adrs/{pluginId}`**
|
|
93
|
+
- **Zweck:** Alle ADRs (W-Dimension)
|
|
94
|
+
- **Status:** ✅ Implementiert
|
|
95
|
+
|
|
96
|
+
5. **`db://changes/{pluginId}`**
|
|
97
|
+
- **Zweck:** Alle Change Reports (T-Dimension)
|
|
98
|
+
- **Status:** ✅ Implementiert
|
|
99
|
+
|
|
100
|
+
## Test-Ergebnisse
|
|
101
|
+
|
|
102
|
+
### CLI-Tool Tests
|
|
103
|
+
|
|
104
|
+
Alle Tools wurden via CLI-Tools getestet:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Bootstrap
|
|
108
|
+
noyrax-5d-database-tool . bootstrap
|
|
109
|
+
# ✅ Erfolgreich
|
|
110
|
+
|
|
111
|
+
# Semantic Discovery
|
|
112
|
+
noyrax-5d-database-tool . semantic_discovery "How does ingestion work?" 5
|
|
113
|
+
# ✅ Erfolgreich
|
|
114
|
+
|
|
115
|
+
# System Explanation
|
|
116
|
+
noyrax-5d-database-tool . system_explanation
|
|
117
|
+
# ✅ Erfolgreich
|
|
118
|
+
|
|
119
|
+
# Cross Analysis
|
|
120
|
+
noyrax-5d-database-tool . cross_analysis 5d-database-plugin/src/api/context-builder.ts
|
|
121
|
+
# ✅ Erfolgreich
|
|
122
|
+
|
|
123
|
+
# Gap Analysis
|
|
124
|
+
noyrax-5d-database-tool . gap_analysis --min-deps 5 --limit 10
|
|
125
|
+
# ✅ Erfolgreich
|
|
126
|
+
|
|
127
|
+
# Architecture Mining
|
|
128
|
+
noyrax-5d-database-tool . architecture_mining
|
|
129
|
+
# ✅ Erfolgreich
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### MCP-Server Tests
|
|
133
|
+
|
|
134
|
+
**Hinweis:** MCP-Server läuft als stdin/stdout-Prozess und erfordert JSON-RPC 2.0-Protokoll. Für manuelle Tests werden CLI-Tools empfohlen.
|
|
135
|
+
|
|
136
|
+
**Status:** ✅ MCP-Server-CLI existiert und ist funktionsfähig
|
|
137
|
+
|
|
138
|
+
**Verwendung:**
|
|
139
|
+
```bash
|
|
140
|
+
# MCP-Server starten
|
|
141
|
+
noyrax-5d-database-mcp <workspace-root>
|
|
142
|
+
|
|
143
|
+
# Für externe LLM-Agenten (Claude Desktop, etc.)
|
|
144
|
+
# Siehe MCP_SERVER_SETUP.md für Konfiguration
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Integration
|
|
148
|
+
|
|
149
|
+
### Für externe LLM-Agenten
|
|
150
|
+
|
|
151
|
+
**Claude Desktop:**
|
|
152
|
+
- Konfiguration in `claude_desktop_config.json`
|
|
153
|
+
- Siehe `MCP_SERVER_SETUP.md` für Details
|
|
154
|
+
|
|
155
|
+
**Andere MCP-kompatible Agenten:**
|
|
156
|
+
- JSON-RPC 2.0 über stdin/stdout
|
|
157
|
+
- Standardisiertes Protokoll
|
|
158
|
+
|
|
159
|
+
### Für AI-Agenten mit Codebase-Zugriff
|
|
160
|
+
|
|
161
|
+
**CLI-Tools (empfohlen):**
|
|
162
|
+
- Schneller als MCP-Server (kein JSON-RPC-Overhead)
|
|
163
|
+
- Direkter API-Zugriff
|
|
164
|
+
- JSON-Output einfach zu parsen
|
|
165
|
+
|
|
166
|
+
**Verfügbare CLI-Tools:**
|
|
167
|
+
- `noyrax-5d-database-query` - Datenbank-Queries
|
|
168
|
+
- `noyrax-5d-database-tool` - MCP-Tools direkt
|
|
169
|
+
- `noyrax-5d-database-search` - Semantic Search
|
|
170
|
+
|
|
171
|
+
## Bekannte Einschränkungen
|
|
172
|
+
|
|
173
|
+
1. **MCP-Server erfordert laufenden Prozess**
|
|
174
|
+
- Server muss als Child-Process gestartet werden
|
|
175
|
+
- Kommunikation via stdin/stdout
|
|
176
|
+
|
|
177
|
+
2. **CLI-Tools bevorzugt für direkten Zugriff**
|
|
178
|
+
- Schneller als MCP-Server
|
|
179
|
+
- Einfacher zu nutzen
|
|
180
|
+
- Kein Server-Prozess nötig
|
|
181
|
+
|
|
182
|
+
3. **Workspace-Validierung**
|
|
183
|
+
- MCP-Server prüft ob `docs/` existiert
|
|
184
|
+
- Fehler werden zu stderr geschrieben (nicht stdout)
|
|
185
|
+
|
|
186
|
+
## Empfehlungen
|
|
187
|
+
|
|
188
|
+
### Für externe LLM-Agenten
|
|
189
|
+
|
|
190
|
+
- ✅ **MCP-Server nutzen** - Standardisiertes Protokoll
|
|
191
|
+
- ✅ **Claude Desktop konfigurieren** - Siehe `MCP_SERVER_SETUP.md`
|
|
192
|
+
|
|
193
|
+
### Für AI-Agenten mit Codebase-Zugriff
|
|
194
|
+
|
|
195
|
+
- ✅ **CLI-Tools nutzen** - Schneller und einfacher
|
|
196
|
+
- ✅ **Direkter API-Zugriff** - Kein Server-Prozess nötig
|
|
197
|
+
|
|
198
|
+
## Verweise
|
|
199
|
+
|
|
200
|
+
- `MCP_SERVER_SETUP.md` - Detaillierte Setup-Anleitung
|
|
201
|
+
- `src/mcp/server.ts` - MCP-Server-Implementierung
|
|
202
|
+
- `src/mcp/tools/` - Tool-Implementierungen
|
|
203
|
+
- ADR-007: MCP-Server Integration
|
|
204
|
+
- ADR-028: MCP-Tools Erweiterung
|
|
205
|
+
- ADR-033: MCP-Server CLI-Integration
|
|
206
|
+
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Noyrax Integration und Synchronisation
|
|
2
|
+
|
|
3
|
+
**Datum:** 2025-12-29
|
|
4
|
+
**System:** 5D Database Plugin + Noyrax Documentation System Plugin
|
|
5
|
+
|
|
6
|
+
## System-Kopplung
|
|
7
|
+
|
|
8
|
+
Die beiden Plugins sind **losely coupled** über den `docs/` Ordner:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
Noyrax (Documentation System)
|
|
12
|
+
→ generiert docs/ (Dateien)
|
|
13
|
+
→ 5D Database Plugin
|
|
14
|
+
→ liest docs/ und speichert in SQLite-DBs
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Wichtig:** Es gibt **KEINE direkte Kommunikation** zwischen den Plugins. Die Kopplung erfolgt über Dateien im `docs/` Ordner.
|
|
18
|
+
|
|
19
|
+
## Was passiert, wenn Noyrax in einem neuen Fenster geöffnet wird?
|
|
20
|
+
|
|
21
|
+
### Szenario 1: Noyrax generiert `docs/` neu
|
|
22
|
+
|
|
23
|
+
**Ablauf:**
|
|
24
|
+
1. Noyrax wird in einem neuen VS Code-Fenster geöffnet
|
|
25
|
+
2. Noyrax scannt den Code und generiert `docs/` Ordner neu
|
|
26
|
+
3. Alle Dateien in `docs/` werden aktualisiert/überschrieben
|
|
27
|
+
|
|
28
|
+
**Auswirkung auf 5D Database Plugin:**
|
|
29
|
+
- ⚠️ **5D Database Plugin erkennt Änderungen NICHT automatisch**
|
|
30
|
+
- ⚠️ **SQLite-Datenbanken werden NICHT automatisch aktualisiert**
|
|
31
|
+
- ✅ **Manuelle Ingestion erforderlich** - `Ctrl+Shift+P` → "Ingest Documentation"
|
|
32
|
+
|
|
33
|
+
**Warum?**
|
|
34
|
+
- 5D Database Plugin läuft in einem separaten VS Code-Fenster/Prozess
|
|
35
|
+
- Keine automatische Datei-Überwachung (File Watcher) implementiert
|
|
36
|
+
- Ingestion muss manuell ausgelöst werden
|
|
37
|
+
|
|
38
|
+
### Szenario 2: Beide Plugins im gleichen Workspace
|
|
39
|
+
|
|
40
|
+
**Ablauf:**
|
|
41
|
+
1. Beide Plugins sind im gleichen VS Code-Workspace installiert
|
|
42
|
+
2. Noyrax generiert `docs/` (z.B. via Command)
|
|
43
|
+
3. 5D Database Plugin kann `docs/` finden (via `DocsPathResolver`)
|
|
44
|
+
|
|
45
|
+
**Auswirkung:**
|
|
46
|
+
- ✅ **5D Database Plugin findet `docs/` automatisch**
|
|
47
|
+
- ⚠️ **Aber: Ingestion muss trotzdem manuell ausgeführt werden**
|
|
48
|
+
- ✅ **Ingestion kann via Command ausgeführt werden**
|
|
49
|
+
|
|
50
|
+
### Szenario 3: Verschiedene Workspaces
|
|
51
|
+
|
|
52
|
+
**Ablauf:**
|
|
53
|
+
1. Noyrax läuft in Workspace A
|
|
54
|
+
2. 5D Database Plugin läuft in Workspace B
|
|
55
|
+
3. Beide nutzen den gleichen `docs/` Ordner (z.B. in einem gemeinsamen Parent-Verzeichnis)
|
|
56
|
+
|
|
57
|
+
**Auswirkung:**
|
|
58
|
+
- ✅ **5D Database Plugin findet `docs/` via Parent-Directory-Suche**
|
|
59
|
+
- ⚠️ **Aber: Ingestion muss manuell ausgeführt werden**
|
|
60
|
+
- ✅ **Ingestion kann via CLI ausgeführt werden**
|
|
61
|
+
|
|
62
|
+
## Aktuelle Synchronisation
|
|
63
|
+
|
|
64
|
+
### Manuelle Ingestion
|
|
65
|
+
|
|
66
|
+
**Via VS Code Command:**
|
|
67
|
+
```
|
|
68
|
+
Ctrl+Shift+P → "Ingest Documentation"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Via CLI:**
|
|
72
|
+
```bash
|
|
73
|
+
# Inkrementelle Ingestion (nur geänderte Dateien)
|
|
74
|
+
noyrax-5d-database ingest <workspace-root>
|
|
75
|
+
|
|
76
|
+
# Vollständige Ingestion (alle Dateien neu)
|
|
77
|
+
noyrax-5d-database ingest <workspace-root> --full
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Hash-basierte Änderungserkennung
|
|
81
|
+
|
|
82
|
+
**Funktionsweise:**
|
|
83
|
+
- Jede Datei hat einen Content-Hash
|
|
84
|
+
- Bei inkrementeller Ingestion werden nur geänderte Dateien aktualisiert
|
|
85
|
+
- Hash-Vergleich identifiziert Änderungen
|
|
86
|
+
|
|
87
|
+
**Vorteil:**
|
|
88
|
+
- ⚡ Schnell - nur geänderte Dateien werden verarbeitet
|
|
89
|
+
- 💰 Effizient - keine unnötigen API-Calls
|
|
90
|
+
|
|
91
|
+
**Nachteil:**
|
|
92
|
+
- ⚠️ Manuelle Auslösung erforderlich
|
|
93
|
+
- ⚠️ Keine automatische Synchronisation
|
|
94
|
+
|
|
95
|
+
## Automatische Synchronisation (geplant)
|
|
96
|
+
|
|
97
|
+
### Real-time Updates (File Watcher)
|
|
98
|
+
|
|
99
|
+
**Status:** ⚠️ **Geplant, aber noch nicht implementiert**
|
|
100
|
+
|
|
101
|
+
**Geplante Funktionalität:**
|
|
102
|
+
- File Watcher für `docs/` Ordner
|
|
103
|
+
- Automatische Ingestion bei Änderungen
|
|
104
|
+
- Konfigurierbare Update-Intervalle
|
|
105
|
+
|
|
106
|
+
**Siehe:** `IMPROVEMENT_ROADMAP.md` - Priorität 2.3
|
|
107
|
+
|
|
108
|
+
### Workflow mit File Watcher (zukünftig)
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Noyrax generiert docs/
|
|
112
|
+
→ File Watcher erkennt Änderung
|
|
113
|
+
→ Automatische Ingestion ausgelöst
|
|
114
|
+
→ SQLite-DBs aktualisiert
|
|
115
|
+
→ Embeddings aktualisiert (falls nötig)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Best Practices
|
|
119
|
+
|
|
120
|
+
### Workflow für neue Dokumentation
|
|
121
|
+
|
|
122
|
+
1. **Noyrax ausführen** - `docs/` generieren
|
|
123
|
+
2. **Ingestion ausführen** - `Ctrl+Shift+P` → "Ingest Documentation"
|
|
124
|
+
3. **Verifikation** - Prüfen ob SQLite-DBs aktualisiert wurden
|
|
125
|
+
|
|
126
|
+
### Workflow für Updates
|
|
127
|
+
|
|
128
|
+
1. **Code ändern**
|
|
129
|
+
2. **Noyrax ausführen** - `docs/` neu generieren
|
|
130
|
+
3. **Ingestion ausführen** - Inkrementelle Ingestion (automatisch nur geänderte Dateien)
|
|
131
|
+
|
|
132
|
+
### Workflow für verschiedene Workspaces
|
|
133
|
+
|
|
134
|
+
1. **Gemeinsamen `docs/` Ordner nutzen** - Z.B. in Parent-Verzeichnis
|
|
135
|
+
2. **Noyrax in Workspace A** - Generiert `docs/`
|
|
136
|
+
3. **5D Database Plugin in Workspace B** - Findet `docs/` via Parent-Suche
|
|
137
|
+
4. **Ingestion ausführen** - Via CLI oder Command
|
|
138
|
+
|
|
139
|
+
## Daten-Weitergabe
|
|
140
|
+
|
|
141
|
+
### Kann ich Daten an Noyrax weitergeben?
|
|
142
|
+
|
|
143
|
+
**Kurze Antwort:** ❌ **Nein, nicht direkt**
|
|
144
|
+
|
|
145
|
+
**Warum?**
|
|
146
|
+
- Noyrax generiert `docs/` aus dem **Source-Code**
|
|
147
|
+
- 5D Database Plugin liest `docs/` und speichert in **SQLite-DBs**
|
|
148
|
+
- Die Datenfluss-Richtung ist: **Code → Noyrax → docs/ → 5D Database Plugin**
|
|
149
|
+
|
|
150
|
+
**Aber:**
|
|
151
|
+
- ✅ **Indirekt über `docs/`** - Wenn Noyrax `docs/` liest (z.B. für Validierung)
|
|
152
|
+
- ✅ **Über ADRs** - ADRs in `docs/adr/` werden von beiden Systemen genutzt
|
|
153
|
+
- ✅ **Über Change Reports** - Change Reports in `docs/system/CHANGE_REPORT.md`
|
|
154
|
+
|
|
155
|
+
### Datenfluss-Diagramm
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
159
|
+
│ DATENFLUSS │
|
|
160
|
+
├─────────────────────────────────────────────────────────────┤
|
|
161
|
+
│ │
|
|
162
|
+
│ Source Code │
|
|
163
|
+
│ ↓ │
|
|
164
|
+
│ Noyrax (Documentation System) │
|
|
165
|
+
│ ↓ │
|
|
166
|
+
│ docs/ Ordner (Markdown, JSONL) │
|
|
167
|
+
│ ↓ │
|
|
168
|
+
│ 5D Database Plugin │
|
|
169
|
+
│ ↓ │
|
|
170
|
+
│ SQLite-DBs (.database-plugin/) │
|
|
171
|
+
│ ↓ │
|
|
172
|
+
│ MCP-Server / CLI-Tools │
|
|
173
|
+
│ │
|
|
174
|
+
└─────────────────────────────────────────────────────────────┘
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Wichtig:** Die Datenfluss-Richtung ist **einseitig** - von Code über Noyrax zu 5D Database Plugin.
|
|
178
|
+
|
|
179
|
+
## Troubleshooting
|
|
180
|
+
|
|
181
|
+
### Problem: 5D Database Plugin findet `docs/` nicht
|
|
182
|
+
|
|
183
|
+
**Lösung:**
|
|
184
|
+
1. Prüfe ob `docs/` im Workspace-Root existiert
|
|
185
|
+
2. Prüfe ob `docs/` in Parent-Verzeichnissen existiert (max. 5 Ebenen)
|
|
186
|
+
3. Prüfe `DocsPathResolver.findDocsDirectory()` Logs
|
|
187
|
+
|
|
188
|
+
### Problem: Ingestion aktualisiert Daten nicht
|
|
189
|
+
|
|
190
|
+
**Lösung:**
|
|
191
|
+
1. Prüfe ob `docs/` Dateien geändert wurden (Hash-Vergleich)
|
|
192
|
+
2. Führe vollständige Ingestion aus: `--full` Flag
|
|
193
|
+
3. Prüfe Ingestion-Logs für Fehler
|
|
194
|
+
|
|
195
|
+
### Problem: Verschiedene Workspaces
|
|
196
|
+
|
|
197
|
+
**Lösung:**
|
|
198
|
+
1. Nutze gemeinsamen `docs/` Ordner (z.B. in Parent-Verzeichnis)
|
|
199
|
+
2. Führe Ingestion via CLI aus: `noyrax-5d-database ingest <workspace-root>`
|
|
200
|
+
3. Prüfe ob `DocsPathResolver` den `docs/` Ordner findet
|
|
201
|
+
|
|
202
|
+
## Zukünftige Verbesserungen
|
|
203
|
+
|
|
204
|
+
### Geplant (siehe IMPROVEMENT_ROADMAP.md)
|
|
205
|
+
|
|
206
|
+
1. **Real-time Updates (File Watcher)** - Priorität 2.3
|
|
207
|
+
- Automatische Ingestion bei `docs/` Änderungen
|
|
208
|
+
- Konfigurierbare Update-Intervalle
|
|
209
|
+
|
|
210
|
+
2. **Git Hooks** - Priorität 5.2
|
|
211
|
+
- Automatische Ingestion bei Commits
|
|
212
|
+
- Integration mit Git-Workflow
|
|
213
|
+
|
|
214
|
+
3. **CI/CD Integration** - Priorität 5.1
|
|
215
|
+
- Automatische Ingestion in CI/CD-Pipelines
|
|
216
|
+
- GitHub Actions / GitLab CI Templates
|
|
217
|
+
|
|
218
|
+
## Verweise
|
|
219
|
+
|
|
220
|
+
- `SETUP_NEW_PROJECT.md` - Vollständiger Setup-Workflow
|
|
221
|
+
- `IMPROVEMENT_ROADMAP.md` - Geplante Verbesserungen
|
|
222
|
+
- `src/core/docs-path-resolver.ts` - `docs/` Ordner-Suche
|
|
223
|
+
- `src/services/ingestion-orchestrator.ts` - Ingestion-Logik
|
|
224
|
+
|