sdl-mcp 0.6.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/LICENSE +21 -0
- package/README.md +132 -0
- package/config/benchmark.ci.config.json +86 -0
- package/config/benchmark.ci.windows.config.json +86 -0
- package/config/benchmark.config.example.json +86 -0
- package/config/benchmark.config.json +86 -0
- package/config/sdlmcp.config.example.json +139 -0
- package/config/sdlmcp.config.json +48 -0
- package/config/sdlmcp.config.schema.json +381 -0
- package/dist/agent/evidence.d.ts +18 -0
- package/dist/agent/evidence.d.ts.map +1 -0
- package/dist/agent/evidence.js +107 -0
- package/dist/agent/evidence.js.map +1 -0
- package/dist/agent/executor.d.ts +28 -0
- package/dist/agent/executor.d.ts.map +1 -0
- package/dist/agent/executor.js +261 -0
- package/dist/agent/executor.js.map +1 -0
- package/dist/agent/index.d.ts +6 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +6 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/orchestrator.d.ts +14 -0
- package/dist/agent/orchestrator.d.ts.map +1 -0
- package/dist/agent/orchestrator.js +108 -0
- package/dist/agent/orchestrator.js.map +1 -0
- package/dist/agent/planner.d.ts +21 -0
- package/dist/agent/planner.d.ts.map +1 -0
- package/dist/agent/planner.js +153 -0
- package/dist/agent/planner.js.map +1 -0
- package/dist/agent/types.d.ts +86 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +2 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/benchmark/index.d.ts +4 -0
- package/dist/benchmark/index.d.ts.map +1 -0
- package/dist/benchmark/index.js +4 -0
- package/dist/benchmark/index.js.map +1 -0
- package/dist/benchmark/regression.d.ts +40 -0
- package/dist/benchmark/regression.d.ts.map +1 -0
- package/dist/benchmark/regression.js +199 -0
- package/dist/benchmark/regression.js.map +1 -0
- package/dist/benchmark/smoothing.d.ts +40 -0
- package/dist/benchmark/smoothing.d.ts.map +1 -0
- package/dist/benchmark/smoothing.js +121 -0
- package/dist/benchmark/smoothing.js.map +1 -0
- package/dist/benchmark/threshold.d.ts +64 -0
- package/dist/benchmark/threshold.d.ts.map +1 -0
- package/dist/benchmark/threshold.js +173 -0
- package/dist/benchmark/threshold.js.map +1 -0
- package/dist/cli/argParsing.d.ts +34 -0
- package/dist/cli/argParsing.d.ts.map +1 -0
- package/dist/cli/argParsing.js +329 -0
- package/dist/cli/argParsing.js.map +1 -0
- package/dist/cli/commands/benchmark.d.ts +16 -0
- package/dist/cli/commands/benchmark.d.ts.map +1 -0
- package/dist/cli/commands/benchmark.js +412 -0
- package/dist/cli/commands/benchmark.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +218 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/export.d.ts +12 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +70 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/import.d.ts +10 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +40 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +89 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +221 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/pull.d.ts +11 -0
- package/dist/cli/commands/pull.d.ts.map +1 -0
- package/dist/cli/commands/pull.js +47 -0
- package/dist/cli/commands/pull.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +3 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +72 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +24 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +213 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/logging.d.ts +10 -0
- package/dist/cli/logging.d.ts.map +1 -0
- package/dist/cli/logging.js +48 -0
- package/dist/cli/logging.js.map +1 -0
- package/dist/cli/transport/http.d.ts +3 -0
- package/dist/cli/transport/http.d.ts.map +1 -0
- package/dist/cli/transport/http.js +106 -0
- package/dist/cli/transport/http.js.map +1 -0
- package/dist/cli/transport/stdio.d.ts +3 -0
- package/dist/cli/transport/stdio.d.ts.map +1 -0
- package/dist/cli/transport/stdio.js +6 -0
- package/dist/cli/transport/stdio.js.map +1 -0
- package/dist/cli/types.d.ts +41 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/code/gate.d.ts +11 -0
- package/dist/code/gate.d.ts.map +1 -0
- package/dist/code/gate.js +134 -0
- package/dist/code/gate.js.map +1 -0
- package/dist/code/hotpath.d.ts +17 -0
- package/dist/code/hotpath.d.ts.map +1 -0
- package/dist/code/hotpath.js +200 -0
- package/dist/code/hotpath.js.map +1 -0
- package/dist/code/redact.d.ts +19 -0
- package/dist/code/redact.d.ts.map +1 -0
- package/dist/code/redact.js +92 -0
- package/dist/code/redact.js.map +1 -0
- package/dist/code/skeleton.d.ts +32 -0
- package/dist/code/skeleton.d.ts.map +1 -0
- package/dist/code/skeleton.js +610 -0
- package/dist/code/skeleton.js.map +1 -0
- package/dist/code/windows.d.ts +18 -0
- package/dist/code/windows.d.ts.map +1 -0
- package/dist/code/windows.js +236 -0
- package/dist/code/windows.js.map +1 -0
- package/dist/config/constants.d.ts +340 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +379 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/loadConfig.d.ts +3 -0
- package/dist/config/loadConfig.d.ts.map +1 -0
- package/dist/config/loadConfig.js +71 -0
- package/dist/config/loadConfig.js.map +1 -0
- package/dist/config/types.d.ts +509 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +139 -0
- package/dist/config/types.js.map +1 -0
- package/dist/db/db.d.ts +4 -0
- package/dist/db/db.d.ts.map +1 -0
- package/dist/db/db.js +47 -0
- package/dist/db/db.js.map +1 -0
- package/dist/db/migrations.d.ts +15 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +81 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +440 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +1054 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.d.ts +132 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +2 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/delta/blastRadius.d.ts +24 -0
- package/dist/delta/blastRadius.d.ts.map +1 -0
- package/dist/delta/blastRadius.js +239 -0
- package/dist/delta/blastRadius.js.map +1 -0
- package/dist/delta/diff.d.ts +16 -0
- package/dist/delta/diff.d.ts.map +1 -0
- package/dist/delta/diff.js +236 -0
- package/dist/delta/diff.js.map +1 -0
- package/dist/delta/versioning.d.ts +11 -0
- package/dist/delta/versioning.d.ts.map +1 -0
- package/dist/delta/versioning.js +68 -0
- package/dist/delta/versioning.js.map +1 -0
- package/dist/graph/buildGraph.d.ts +12 -0
- package/dist/graph/buildGraph.d.ts.map +1 -0
- package/dist/graph/buildGraph.js +81 -0
- package/dist/graph/buildGraph.js.map +1 -0
- package/dist/graph/cache.d.ts +111 -0
- package/dist/graph/cache.d.ts.map +1 -0
- package/dist/graph/cache.js +237 -0
- package/dist/graph/cache.js.map +1 -0
- package/dist/graph/metrics.d.ts +12 -0
- package/dist/graph/metrics.d.ts.map +1 -0
- package/dist/graph/metrics.js +253 -0
- package/dist/graph/metrics.js.map +1 -0
- package/dist/graph/minHeap.d.ts +91 -0
- package/dist/graph/minHeap.d.ts.map +1 -0
- package/dist/graph/minHeap.js +159 -0
- package/dist/graph/minHeap.js.map +1 -0
- package/dist/graph/overview.d.ts +22 -0
- package/dist/graph/overview.d.ts.map +1 -0
- package/dist/graph/overview.js +379 -0
- package/dist/graph/overview.js.map +1 -0
- package/dist/graph/score.d.ts +27 -0
- package/dist/graph/score.d.ts.map +1 -0
- package/dist/graph/score.js +214 -0
- package/dist/graph/score.js.map +1 -0
- package/dist/graph/slice.d.ts +51 -0
- package/dist/graph/slice.d.ts.map +1 -0
- package/dist/graph/slice.js +1047 -0
- package/dist/graph/slice.js.map +1 -0
- package/dist/graph/sliceCache.d.ts +33 -0
- package/dist/graph/sliceCache.d.ts.map +1 -0
- package/dist/graph/sliceCache.js +140 -0
- package/dist/graph/sliceCache.js.map +1 -0
- package/dist/indexer/adapter/BaseAdapter.d.ts +29 -0
- package/dist/indexer/adapter/BaseAdapter.d.ts.map +1 -0
- package/dist/indexer/adapter/BaseAdapter.js +97 -0
- package/dist/indexer/adapter/BaseAdapter.js.map +1 -0
- package/dist/indexer/adapter/LanguageAdapter.d.ts +20 -0
- package/dist/indexer/adapter/LanguageAdapter.d.ts.map +1 -0
- package/dist/indexer/adapter/LanguageAdapter.js +2 -0
- package/dist/indexer/adapter/LanguageAdapter.js.map +1 -0
- package/dist/indexer/adapter/adapters.d.ts +57 -0
- package/dist/indexer/adapter/adapters.d.ts.map +1 -0
- package/dist/indexer/adapter/adapters.js +129 -0
- package/dist/indexer/adapter/adapters.js.map +1 -0
- package/dist/indexer/adapter/c.d.ts +18 -0
- package/dist/indexer/adapter/c.d.ts.map +1 -0
- package/dist/indexer/adapter/c.js +443 -0
- package/dist/indexer/adapter/c.js.map +1 -0
- package/dist/indexer/adapter/cpp.d.ts +18 -0
- package/dist/indexer/adapter/cpp.d.ts.map +1 -0
- package/dist/indexer/adapter/cpp.js +493 -0
- package/dist/indexer/adapter/cpp.js.map +1 -0
- package/dist/indexer/adapter/csharp.d.ts +48 -0
- package/dist/indexer/adapter/csharp.d.ts.map +1 -0
- package/dist/indexer/adapter/csharp.js +638 -0
- package/dist/indexer/adapter/csharp.js.map +1 -0
- package/dist/indexer/adapter/go.d.ts +14 -0
- package/dist/indexer/adapter/go.d.ts.map +1 -0
- package/dist/indexer/adapter/go.js +400 -0
- package/dist/indexer/adapter/go.js.map +1 -0
- package/dist/indexer/adapter/index.d.ts +14 -0
- package/dist/indexer/adapter/index.d.ts.map +1 -0
- package/dist/indexer/adapter/index.js +13 -0
- package/dist/indexer/adapter/index.js.map +1 -0
- package/dist/indexer/adapter/java.d.ts +14 -0
- package/dist/indexer/adapter/java.d.ts.map +1 -0
- package/dist/indexer/adapter/java.js +391 -0
- package/dist/indexer/adapter/java.js.map +1 -0
- package/dist/indexer/adapter/kotlin.d.ts +18 -0
- package/dist/indexer/adapter/kotlin.d.ts.map +1 -0
- package/dist/indexer/adapter/kotlin.js +599 -0
- package/dist/indexer/adapter/kotlin.js.map +1 -0
- package/dist/indexer/adapter/php.d.ts +18 -0
- package/dist/indexer/adapter/php.d.ts.map +1 -0
- package/dist/indexer/adapter/php.js +574 -0
- package/dist/indexer/adapter/php.js.map +1 -0
- package/dist/indexer/adapter/plugin/index.d.ts +3 -0
- package/dist/indexer/adapter/plugin/index.d.ts.map +1 -0
- package/dist/indexer/adapter/plugin/index.js +3 -0
- package/dist/indexer/adapter/plugin/index.js.map +1 -0
- package/dist/indexer/adapter/plugin/loader.d.ts +13 -0
- package/dist/indexer/adapter/plugin/loader.d.ts.map +1 -0
- package/dist/indexer/adapter/plugin/loader.js +154 -0
- package/dist/indexer/adapter/plugin/loader.js.map +1 -0
- package/dist/indexer/adapter/plugin/types.d.ts +76 -0
- package/dist/indexer/adapter/plugin/types.d.ts.map +1 -0
- package/dist/indexer/adapter/plugin/types.js +47 -0
- package/dist/indexer/adapter/plugin/types.js.map +1 -0
- package/dist/indexer/adapter/python.d.ts +14 -0
- package/dist/indexer/adapter/python.d.ts.map +1 -0
- package/dist/indexer/adapter/python.js +511 -0
- package/dist/indexer/adapter/python.js.map +1 -0
- package/dist/indexer/adapter/registry.d.ts +17 -0
- package/dist/indexer/adapter/registry.d.ts.map +1 -0
- package/dist/indexer/adapter/registry.js +134 -0
- package/dist/indexer/adapter/registry.js.map +1 -0
- package/dist/indexer/adapter/rust.d.ts +18 -0
- package/dist/indexer/adapter/rust.d.ts.map +1 -0
- package/dist/indexer/adapter/rust.js +709 -0
- package/dist/indexer/adapter/rust.js.map +1 -0
- package/dist/indexer/adapter/shell.d.ts +18 -0
- package/dist/indexer/adapter/shell.d.ts.map +1 -0
- package/dist/indexer/adapter/shell.js +345 -0
- package/dist/indexer/adapter/shell.js.map +1 -0
- package/dist/indexer/adapter/typescript.d.ts +14 -0
- package/dist/indexer/adapter/typescript.d.ts.map +1 -0
- package/dist/indexer/adapter/typescript.js +31 -0
- package/dist/indexer/adapter/typescript.js.map +1 -0
- package/dist/indexer/configEdges.d.ts +30 -0
- package/dist/indexer/configEdges.d.ts.map +1 -0
- package/dist/indexer/configEdges.js +260 -0
- package/dist/indexer/configEdges.js.map +1 -0
- package/dist/indexer/fileScanner.d.ts +16 -0
- package/dist/indexer/fileScanner.d.ts.map +1 -0
- package/dist/indexer/fileScanner.js +90 -0
- package/dist/indexer/fileScanner.js.map +1 -0
- package/dist/indexer/fingerprints.d.ts +23 -0
- package/dist/indexer/fingerprints.d.ts.map +1 -0
- package/dist/indexer/fingerprints.js +97 -0
- package/dist/indexer/fingerprints.js.map +1 -0
- package/dist/indexer/indexer.d.ts +58 -0
- package/dist/indexer/indexer.d.ts.map +1 -0
- package/dist/indexer/indexer.js +1229 -0
- package/dist/indexer/indexer.js.map +1 -0
- package/dist/indexer/summaries.d.ts +5 -0
- package/dist/indexer/summaries.d.ts.map +1 -0
- package/dist/indexer/summaries.js +331 -0
- package/dist/indexer/summaries.js.map +1 -0
- package/dist/indexer/treesitter/extractCalls.d.ts +40 -0
- package/dist/indexer/treesitter/extractCalls.d.ts.map +1 -0
- package/dist/indexer/treesitter/extractCalls.js +561 -0
- package/dist/indexer/treesitter/extractCalls.js.map +1 -0
- package/dist/indexer/treesitter/extractImports.d.ts +12 -0
- package/dist/indexer/treesitter/extractImports.d.ts.map +1 -0
- package/dist/indexer/treesitter/extractImports.js +184 -0
- package/dist/indexer/treesitter/extractImports.js.map +1 -0
- package/dist/indexer/treesitter/extractSymbols.d.ts +24 -0
- package/dist/indexer/treesitter/extractSymbols.d.ts.map +1 -0
- package/dist/indexer/treesitter/extractSymbols.js +389 -0
- package/dist/indexer/treesitter/extractSymbols.js.map +1 -0
- package/dist/indexer/treesitter/grammarLoader.d.ts +6 -0
- package/dist/indexer/treesitter/grammarLoader.d.ts.map +1 -0
- package/dist/indexer/treesitter/grammarLoader.js +125 -0
- package/dist/indexer/treesitter/grammarLoader.js.map +1 -0
- package/dist/indexer/treesitter/symbolUtils.d.ts +4 -0
- package/dist/indexer/treesitter/symbolUtils.d.ts.map +1 -0
- package/dist/indexer/treesitter/symbolUtils.js +26 -0
- package/dist/indexer/treesitter/symbolUtils.js.map +1 -0
- package/dist/indexer/treesitter/tsTreesitter.d.ts +9 -0
- package/dist/indexer/treesitter/tsTreesitter.d.ts.map +1 -0
- package/dist/indexer/treesitter/tsTreesitter.js +54 -0
- package/dist/indexer/treesitter/tsTreesitter.js.map +1 -0
- package/dist/indexer/treesitter/types.d.ts +19 -0
- package/dist/indexer/treesitter/types.d.ts.map +1 -0
- package/dist/indexer/treesitter/types.js +7 -0
- package/dist/indexer/treesitter/types.js.map +1 -0
- package/dist/indexer/ts/tsParser.d.ts +20 -0
- package/dist/indexer/ts/tsParser.d.ts.map +1 -0
- package/dist/indexer/ts/tsParser.js +114 -0
- package/dist/indexer/ts/tsParser.js.map +1 -0
- package/dist/indexer/worker.d.ts +2 -0
- package/dist/indexer/worker.d.ts.map +1 -0
- package/dist/indexer/worker.js +59 -0
- package/dist/indexer/worker.js.map +1 -0
- package/dist/indexer/workerPool.d.ts +20 -0
- package/dist/indexer/workerPool.d.ts.map +1 -0
- package/dist/indexer/workerPool.js +93 -0
- package/dist/indexer/workerPool.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +111 -0
- package/dist/main.js.map +1 -0
- package/dist/mcp/errors.d.ts +40 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +66 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/resources.d.ts +24 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +140 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/telemetry.d.ts +67 -0
- package/dist/mcp/telemetry.d.ts.map +1 -0
- package/dist/mcp/telemetry.js +128 -0
- package/dist/mcp/telemetry.js.map +1 -0
- package/dist/mcp/tools/agent.d.ts +241 -0
- package/dist/mcp/tools/agent.d.ts.map +1 -0
- package/dist/mcp/tools/agent.js +113 -0
- package/dist/mcp/tools/agent.js.map +1 -0
- package/dist/mcp/tools/code.d.ts +32 -0
- package/dist/mcp/tools/code.d.ts.map +1 -0
- package/dist/mcp/tools/code.js +388 -0
- package/dist/mcp/tools/code.js.map +1 -0
- package/dist/mcp/tools/delta.d.ts +12 -0
- package/dist/mcp/tools/delta.d.ts.map +1 -0
- package/dist/mcp/tools/delta.js +82 -0
- package/dist/mcp/tools/delta.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +35 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/policy.d.ts +20 -0
- package/dist/mcp/tools/policy.d.ts.map +1 -0
- package/dist/mcp/tools/policy.js +67 -0
- package/dist/mcp/tools/policy.js.map +1 -0
- package/dist/mcp/tools/prRisk.d.ts +34 -0
- package/dist/mcp/tools/prRisk.d.ts.map +1 -0
- package/dist/mcp/tools/prRisk.js +304 -0
- package/dist/mcp/tools/prRisk.js.map +1 -0
- package/dist/mcp/tools/repo.d.ts +46 -0
- package/dist/mcp/tools/repo.d.ts.map +1 -0
- package/dist/mcp/tools/repo.js +224 -0
- package/dist/mcp/tools/repo.js.map +1 -0
- package/dist/mcp/tools/slice.d.ts +44 -0
- package/dist/mcp/tools/slice.d.ts.map +1 -0
- package/dist/mcp/tools/slice.js +688 -0
- package/dist/mcp/tools/slice.js.map +1 -0
- package/dist/mcp/tools/symbol.d.ts +21 -0
- package/dist/mcp/tools/symbol.d.ts.map +1 -0
- package/dist/mcp/tools/symbol.js +416 -0
- package/dist/mcp/tools/symbol.js.map +1 -0
- package/dist/mcp/tools.d.ts +6003 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +932 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +500 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/policy/engine.d.ts +21 -0
- package/dist/policy/engine.d.ts.map +1 -0
- package/dist/policy/engine.js +477 -0
- package/dist/policy/engine.js.map +1 -0
- package/dist/policy/types.d.ts +73 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +12 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +136 -0
- package/dist/server.js.map +1 -0
- package/dist/sync/pull.d.ts +4 -0
- package/dist/sync/pull.d.ts.map +1 -0
- package/dist/sync/pull.js +113 -0
- package/dist/sync/pull.js.map +1 -0
- package/dist/sync/sync.d.ts +6 -0
- package/dist/sync/sync.d.ts.map +1 -0
- package/dist/sync/sync.js +244 -0
- package/dist/sync/sync.js.map +1 -0
- package/dist/sync/types.d.ts +136 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +2 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/ts/diagnostics.d.ts +61 -0
- package/dist/ts/diagnostics.d.ts.map +1 -0
- package/dist/ts/diagnostics.js +259 -0
- package/dist/ts/diagnostics.js.map +1 -0
- package/dist/ts/mapping.d.ts +27 -0
- package/dist/ts/mapping.d.ts.map +1 -0
- package/dist/ts/mapping.js +68 -0
- package/dist/ts/mapping.js.map +1 -0
- package/dist/util/asyncFs.d.ts +103 -0
- package/dist/util/asyncFs.d.ts.map +1 -0
- package/dist/util/asyncFs.js +133 -0
- package/dist/util/asyncFs.js.map +1 -0
- package/dist/util/concurrency.d.ts +77 -0
- package/dist/util/concurrency.d.ts.map +1 -0
- package/dist/util/concurrency.js +146 -0
- package/dist/util/concurrency.js.map +1 -0
- package/dist/util/depLabels.d.ts +3 -0
- package/dist/util/depLabels.d.ts.map +1 -0
- package/dist/util/depLabels.js +19 -0
- package/dist/util/depLabels.js.map +1 -0
- package/dist/util/findPackageRoot.d.ts +7 -0
- package/dist/util/findPackageRoot.d.ts.map +1 -0
- package/dist/util/findPackageRoot.js +21 -0
- package/dist/util/findPackageRoot.js.map +1 -0
- package/dist/util/hashing.d.ts +9 -0
- package/dist/util/hashing.d.ts.map +1 -0
- package/dist/util/hashing.js +37 -0
- package/dist/util/hashing.js.map +1 -0
- package/dist/util/logger.d.ts +14 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +51 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/paths.d.ts +6 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +79 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/time.d.ts +4 -0
- package/dist/util/time.d.ts.map +1 -0
- package/dist/util/time.js +20 -0
- package/dist/util/time.js.map +1 -0
- package/dist/util/tokenize.d.ts +5 -0
- package/dist/util/tokenize.d.ts.map +1 -0
- package/dist/util/tokenize.js +30 -0
- package/dist/util/tokenize.js.map +1 -0
- package/dist/util/truncation.d.ts +38 -0
- package/dist/util/truncation.d.ts.map +1 -0
- package/dist/util/truncation.js +259 -0
- package/dist/util/truncation.js.map +1 -0
- package/migrations/.gitkeep +1 -0
- package/migrations/0001_init.sql +61 -0
- package/migrations/0002_edges_indexes.sql +2 -0
- package/migrations/0003_versions.sql +22 -0
- package/migrations/0004_metrics_audit.sql +23 -0
- package/migrations/0005_slice_handles.sql +15 -0
- package/migrations/0006_content_addressed.sql +29 -0
- package/migrations/0007_add_language_to_symbols.sql +28 -0
- package/migrations/0008_performance_indexes.sql +21 -0
- package/migrations/0009_fix_edge_fks.sql +37 -0
- package/migrations/0010_standardize_fks.sql +35 -0
- package/migrations/0011_add_directory_column.sql +20 -0
- package/migrations/0012_symbol_references.sql +16 -0
- package/migrations/0013_sync_artifacts.sql +17 -0
- package/package.json +107 -0
- package/templates/CLAUDE.md.template +179 -0
- package/templates/README.md +228 -0
- package/templates/claude-code.json +54 -0
- package/templates/codex.json +55 -0
- package/templates/gemini.json +66 -0
- package/templates/opencode.json +90 -0
- package/templates/plugin-template/LICENSE +21 -0
- package/templates/plugin-template/README.md +309 -0
- package/templates/plugin-template/index.ts +160 -0
- package/templates/plugin-template/package.json +31 -0
- package/templates/plugin-template/test/plugin.test.ts +186 -0
- package/templates/plugin-template/tsconfig.json +21 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# SDL-MCP Plugin Templates
|
|
2
|
+
|
|
3
|
+
<div align="right">
|
|
4
|
+
<details>
|
|
5
|
+
<summary><strong>Docs Navigation</strong></summary>
|
|
6
|
+
|
|
7
|
+
- [SDL-MCP Overview](../README.md)
|
|
8
|
+
- [Documentation Hub](../docs/README.md)
|
|
9
|
+
- [Getting Started](../docs/getting-started.md)
|
|
10
|
+
- [Plugin SDK Author Guide](../docs/PLUGIN_SDK_AUTHOR_GUIDE.md)
|
|
11
|
+
- [Plugin SDK Security](../docs/PLUGIN_SDK_SECURITY.md)
|
|
12
|
+
- [Templates (this page)](./README.md)
|
|
13
|
+
- [Plugin Template README](./plugin-template/README.md)
|
|
14
|
+
|
|
15
|
+
</details>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
Templates and scaffolding for creating SDL-MCP adapter plugins.
|
|
19
|
+
|
|
20
|
+
## Available Templates
|
|
21
|
+
|
|
22
|
+
### plugin-template
|
|
23
|
+
|
|
24
|
+
A complete template for creating a new language adapter plugin.
|
|
25
|
+
|
|
26
|
+
**Features**:
|
|
27
|
+
|
|
28
|
+
- Pre-configured TypeScript setup
|
|
29
|
+
- Base adapter implementation
|
|
30
|
+
- Sample extraction logic (regex-based)
|
|
31
|
+
- Test suite template
|
|
32
|
+
- Package.json configuration
|
|
33
|
+
- Comprehensive README
|
|
34
|
+
|
|
35
|
+
**Use when**:
|
|
36
|
+
|
|
37
|
+
- Creating a new language adapter
|
|
38
|
+
- Need a starting point for custom adapters
|
|
39
|
+
- Want to follow SDL-MCP plugin conventions
|
|
40
|
+
|
|
41
|
+
**Quick Start**:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Copy template
|
|
45
|
+
cp -r templates/plugin-template my-lang-plugin
|
|
46
|
+
cd my-lang-plugin
|
|
47
|
+
|
|
48
|
+
# Customize and build
|
|
49
|
+
npm install
|
|
50
|
+
npm run build
|
|
51
|
+
|
|
52
|
+
# Register in SDL-MCP
|
|
53
|
+
# Add to config/sdlmcp.config.json:
|
|
54
|
+
{
|
|
55
|
+
"plugins": {
|
|
56
|
+
"paths": ["./my-lang-plugin/dist/index.js"]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
See [plugin-template/README.md](./plugin-template/README.md) for detailed instructions.
|
|
62
|
+
|
|
63
|
+
## Template Structure
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
templates/
|
|
67
|
+
|-- plugin-template/ # Full plugin template
|
|
68
|
+
| |-- package.json # NPM configuration
|
|
69
|
+
| |-- tsconfig.json # TypeScript configuration
|
|
70
|
+
| |-- index.ts # Plugin implementation
|
|
71
|
+
| |-- README.md # Plugin documentation
|
|
72
|
+
| |-- LICENSE # MIT license
|
|
73
|
+
| `-- test/ # Test suite
|
|
74
|
+
| `-- plugin.test.ts
|
|
75
|
+
`-- README.md # This file
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Using Templates
|
|
79
|
+
|
|
80
|
+
### 1. Copy Template
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# From SDL-MCP repository
|
|
84
|
+
cp -r templates/plugin-template my-plugin
|
|
85
|
+
cd my-plugin
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 2. Customize
|
|
89
|
+
|
|
90
|
+
Edit the following files:
|
|
91
|
+
|
|
92
|
+
- `package.json`: Update name, description, author
|
|
93
|
+
- `index.ts`: Replace placeholder code with your adapter
|
|
94
|
+
- `README.md`: Update documentation for your language
|
|
95
|
+
- `test/plugin.test.ts`: Add language-specific tests
|
|
96
|
+
|
|
97
|
+
### 3. Build
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
npm install
|
|
101
|
+
npm run build
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 4. Test
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm test
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 5. Publish (optional)
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
npm publish
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Customization Guide
|
|
117
|
+
|
|
118
|
+
### Minimal Changes Required
|
|
119
|
+
|
|
120
|
+
1. **Update plugin metadata** in `index.ts`:
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
export const manifest = {
|
|
124
|
+
name: "sdl-mcp-YOURLANG-plugin",
|
|
125
|
+
adapters: [
|
|
126
|
+
{
|
|
127
|
+
extension: ".yourlang",
|
|
128
|
+
languageId: "yourlang",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
};
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
2. **Update adapter class** in `index.ts`:
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
class YourLangAdapter extends BaseAdapter {
|
|
138
|
+
languageId = "yourlang" as const;
|
|
139
|
+
fileExtensions = [".yourlang"] as const;
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
3. **Implement extraction logic**:
|
|
144
|
+
- Replace regex patterns in `extractSymbols()`
|
|
145
|
+
- Replace regex patterns in `extractImports()`
|
|
146
|
+
- Replace regex patterns in `extractCalls()`
|
|
147
|
+
|
|
148
|
+
### Advanced Customization
|
|
149
|
+
|
|
150
|
+
For complex languages, consider:
|
|
151
|
+
|
|
152
|
+
1. **Use Tree-sitter grammars**:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
const parser = this.getParser();
|
|
156
|
+
const query = parser.getLanguage().query(`
|
|
157
|
+
(function_declaration name: (_) @name)
|
|
158
|
+
`);
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
2. **Add language-specific metadata**:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
metadata: {
|
|
165
|
+
visibility: "public",
|
|
166
|
+
async: false,
|
|
167
|
+
params: [...],
|
|
168
|
+
returns: "string",
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
3. **Handle language-specific features**:
|
|
173
|
+
- Generics/templates
|
|
174
|
+
- Decorators/attributes
|
|
175
|
+
- Macros/preprocessor directives
|
|
176
|
+
- Custom syntax
|
|
177
|
+
|
|
178
|
+
## Template vs Example
|
|
179
|
+
|
|
180
|
+
| Feature | Template | Example |
|
|
181
|
+
| ------------- | ------------------------------ | ------------------------------ |
|
|
182
|
+
| Purpose | Starting point for new plugins | Demonstration of plugin system |
|
|
183
|
+
| Complexity | Minimal, easy to customize | Functional, production-ready |
|
|
184
|
+
| Documentation | Inline comments, guide | Comprehensive README |
|
|
185
|
+
| Tests | Template test suite | Integration tests |
|
|
186
|
+
| Language | Placeholder (mylang) | Hypothetical (example-lang) |
|
|
187
|
+
|
|
188
|
+
**Use the template** when creating your own plugin.
|
|
189
|
+
|
|
190
|
+
**Use the example** when learning the plugin system.
|
|
191
|
+
|
|
192
|
+
## Next Steps
|
|
193
|
+
|
|
194
|
+
After using a template:
|
|
195
|
+
|
|
196
|
+
1. **Read the author guide**: [PLUGIN_SDK_AUTHOR_GUIDE.md](../docs/PLUGIN_SDK_AUTHOR_GUIDE.md)
|
|
197
|
+
2. **Review security docs**: [PLUGIN_SDK_SECURITY.md](../docs/PLUGIN_SDK_SECURITY.md)
|
|
198
|
+
3. **Study the example**: [examples/example-plugin/](../examples/example-plugin/)
|
|
199
|
+
4. **Run integration tests**: `npm run test:integration`
|
|
200
|
+
|
|
201
|
+
## Support
|
|
202
|
+
|
|
203
|
+
For help with templates:
|
|
204
|
+
|
|
205
|
+
- Check the [Author Guide](../docs/PLUGIN_SDK_AUTHOR_GUIDE.md)
|
|
206
|
+
- Review the [Example Plugin](../examples/example-plugin/)
|
|
207
|
+
- Check [Troubleshooting](../docs/PLUGIN_SDK_AUTHOR_GUIDE.md#troubleshooting)
|
|
208
|
+
- Open an issue on GitHub
|
|
209
|
+
|
|
210
|
+
## Contributing
|
|
211
|
+
|
|
212
|
+
Have suggestions for improving templates? Contributions welcome:
|
|
213
|
+
|
|
214
|
+
1. Fork the repository
|
|
215
|
+
2. Improve the template
|
|
216
|
+
3. Add tests for new features
|
|
217
|
+
4. Submit a pull request
|
|
218
|
+
|
|
219
|
+
## License
|
|
220
|
+
|
|
221
|
+
All templates are licensed under MIT.
|
|
222
|
+
|
|
223
|
+
## See Also
|
|
224
|
+
|
|
225
|
+
- [SDL-MCP README](../README.md)
|
|
226
|
+
- [Plugin SDK Implementation Summary](../docs/PLUGIN_SDK_IMPLEMENTATION.md)
|
|
227
|
+
- [Example Plugin](../examples/example-plugin/)
|
|
228
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Claude Code MCP Configuration Template for SDL-MCP",
|
|
3
|
+
"_documentation": {
|
|
4
|
+
"purpose": "Configure SDL-MCP as an MCP server for Claude Code",
|
|
5
|
+
"placement": "Copy to ~/.claude/claude_desktop_config.json or add to existing mcpServers",
|
|
6
|
+
"windowsNotes": {
|
|
7
|
+
"paths": "Use forward slashes (/) or escaped backslashes (\\\\)",
|
|
8
|
+
"npx": "npx works cross-platform. For global install, use 'node' with full path",
|
|
9
|
+
"environment": "SDL_CONFIG_PATH or SDL_CONFIG must be set to point to your sdlmcp.config.json"
|
|
10
|
+
},
|
|
11
|
+
"quoting": {
|
|
12
|
+
"powerShell": "Single quotes work for paths, double quotes for variable expansion",
|
|
13
|
+
"cmd": "Use double quotes for all paths with spaces"
|
|
14
|
+
},
|
|
15
|
+
"workspaceFolder": {
|
|
16
|
+
"description": "Replaced by Claude Code with the current workspace root",
|
|
17
|
+
"windows": "Resolves to forward-slash path on all platforms"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"mcpServers": {
|
|
21
|
+
"sdl-mcp": {
|
|
22
|
+
"command": "npx",
|
|
23
|
+
"args": ["sdl-mcp"],
|
|
24
|
+
"env": {
|
|
25
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json",
|
|
26
|
+
"_comment_env": "Alternative: Set SDL_CONFIG_PATH if you prefer environment variable name"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"_alternative_global_install": {
|
|
31
|
+
"description": "If you installed SDL-MCP globally with 'npm install -g sdl-mcp':",
|
|
32
|
+
"mcpServers": {
|
|
33
|
+
"sdl-mcp": {
|
|
34
|
+
"command": "sdl-mcp",
|
|
35
|
+
"args": [],
|
|
36
|
+
"env": {
|
|
37
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"_alternative_windows_direct_node": {
|
|
43
|
+
"description": "Windows alternative using direct Node invocation (if npx is unavailable):",
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"sdl-mcp": {
|
|
46
|
+
"command": "node",
|
|
47
|
+
"args": ["F:/path/to/sdl-mcp/dist/main.js"],
|
|
48
|
+
"env": {
|
|
49
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Codex CLI MCP Configuration Template for SDL-MCP",
|
|
3
|
+
"_documentation": {
|
|
4
|
+
"purpose": "Configure SDL-MCP as an MCP server for Codex CLI",
|
|
5
|
+
"placement": "Add to Codex MCP servers configuration",
|
|
6
|
+
"windowsNotes": {
|
|
7
|
+
"paths": "Use forward slashes (/) or escaped backslashes (\\\\)",
|
|
8
|
+
"npx": "npx works cross-platform. For global install, use 'sdl-mcp' directly",
|
|
9
|
+
"environment": "SDL_CONFIG_PATH or SDL_CONFIG must point to sdlmcp.config.json"
|
|
10
|
+
},
|
|
11
|
+
"quoting": {
|
|
12
|
+
"cmd": "Use double quotes for paths with spaces, no single quotes",
|
|
13
|
+
"powershell": "Single quotes work, but cmd is more portable for cross-platform configs"
|
|
14
|
+
},
|
|
15
|
+
"workspaceFolder": {
|
|
16
|
+
"description": "Codex expands ${workspaceFolder} to current directory",
|
|
17
|
+
"windows": "Resolves correctly on Windows with forward slashes"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"mcpServers": {
|
|
21
|
+
"sdl-mcp": {
|
|
22
|
+
"command": "npx",
|
|
23
|
+
"args": ["-y", "sdl-mcp"],
|
|
24
|
+
"env": {
|
|
25
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"_alternative_global_install": {
|
|
30
|
+
"description": "If globally installed with 'npm install -g sdl-mcp':",
|
|
31
|
+
"mcpServers": {
|
|
32
|
+
"sdl-mcp": {
|
|
33
|
+
"command": "sdl-mcp",
|
|
34
|
+
"args": [],
|
|
35
|
+
"env": {
|
|
36
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"_windows_specific": {
|
|
42
|
+
"description": "Windows-specific notes for cmd.exe",
|
|
43
|
+
"notes": [
|
|
44
|
+
"Ensure Node.js is in PATH",
|
|
45
|
+
"If using custom paths, use double backslashes: C:\\\\Users\\\\name\\\\.nvm\\\\versions\\\\node\\\\node.exe",
|
|
46
|
+
"SDL_CONFIG path uses forward slashes for cross-platform compatibility",
|
|
47
|
+
"If workspaceFolder has spaces, Codex CLI handles quoting automatically"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"_troubleshooting": {
|
|
51
|
+
"npx_fails": "If npx fails, try 'npm config set script-shell pwsh' (PowerShell) or use global install",
|
|
52
|
+
"path_not_found": "Verify SDL_CONFIG path exists and is accessible",
|
|
53
|
+
"permissions": "Ensure Node.js has read access to config file and database path"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Gemini CLI MCP Configuration Template for SDL-MCP",
|
|
3
|
+
"_documentation": {
|
|
4
|
+
"purpose": "Configure SDL-MCP as an MCP server for Gemini CLI",
|
|
5
|
+
"placement": "Add to Gemini MCP servers configuration file",
|
|
6
|
+
"windowsNotes": {
|
|
7
|
+
"paths": "Gemini CLI expects forward slashes (/) or escaped backslashes (\\\\)",
|
|
8
|
+
"npx": "npx is cross-platform. Use 'sdl-mcp' for global install",
|
|
9
|
+
"environment": "SDL_CONFIG or SDL_CONFIG_PATH required for configuration"
|
|
10
|
+
},
|
|
11
|
+
"quoting": {
|
|
12
|
+
"powershell": "Use single quotes for literal paths, double quotes with $ for variables",
|
|
13
|
+
"cmd": "Double quotes only; cmd does not support single quotes for strings"
|
|
14
|
+
},
|
|
15
|
+
"workspaceFolder": {
|
|
16
|
+
"description": "Gemini CLI replaces ${workspaceFolder} with workspace root",
|
|
17
|
+
"windows": "Always resolves to forward-slash normalized path"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"mcpServers": {
|
|
21
|
+
"sdl-mcp": {
|
|
22
|
+
"command": "npx",
|
|
23
|
+
"args": ["sdl-mcp"],
|
|
24
|
+
"env": {
|
|
25
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"_alternative_global_install": {
|
|
30
|
+
"description": "For global installation (npm install -g sdl-mcp):",
|
|
31
|
+
"mcpServers": {
|
|
32
|
+
"sdl-mcp": {
|
|
33
|
+
"command": "sdl-mcp",
|
|
34
|
+
"args": [],
|
|
35
|
+
"env": {
|
|
36
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"_windows_path_examples": {
|
|
42
|
+
"description": "Example paths for Windows environments",
|
|
43
|
+
"configPath": {
|
|
44
|
+
"forward_slash": "${workspaceFolder}/sdlmcp.config.json",
|
|
45
|
+
"escaped_backslash": "C:\\\\Users\\\\username\\\\project\\\\sdlmcp.config.json"
|
|
46
|
+
},
|
|
47
|
+
"nodePath": {
|
|
48
|
+
"if_needed": "C:\\\\Program Files\\\\nodejs\\\\node.exe"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"_shell_specific_quoting": {
|
|
52
|
+
"cmd": {
|
|
53
|
+
"rule": "Always use double quotes for paths",
|
|
54
|
+
"example": "\"C:\\Users\\name\\project\\sdlmcp.config.json\""
|
|
55
|
+
},
|
|
56
|
+
"powershell": {
|
|
57
|
+
"rule": "Single quotes for literals, double quotes with $var for expansion",
|
|
58
|
+
"example": "'C:/Users/name/project/sdlmcp.config.json'"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"_troubleshooting": {
|
|
62
|
+
"npx_hangs": "Try adding -y flag: npx -y sdl-mcp",
|
|
63
|
+
"permission_denied": "Check file permissions for config and database",
|
|
64
|
+
"path_resolution": "Verify workspaceFolder is set correctly in Gemini CLI"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Opencode CLI MCP Configuration Template for SDL-MCP",
|
|
3
|
+
"_documentation": {
|
|
4
|
+
"purpose": "Configure SDL-MCP as an MCP server for Opencode CLI",
|
|
5
|
+
"placement": "Add to Opencode MCP servers configuration",
|
|
6
|
+
"windowsNotes": {
|
|
7
|
+
"paths": "Opencode normalizes to forward slashes automatically",
|
|
8
|
+
"npx": "npx works cross-platform. Use 'sdl-mcp' for global install",
|
|
9
|
+
"environment": "SDL_CONFIG_PATH or SDL_CONFIG must point to sdlmcp.config.json"
|
|
10
|
+
},
|
|
11
|
+
"quoting": {
|
|
12
|
+
"cmd": "Double quotes only for all paths",
|
|
13
|
+
"powershell": "Single or double quotes both work",
|
|
14
|
+
"opencode_handling": "Opencode CLI handles quoting automatically when using ${workspaceFolder}"
|
|
15
|
+
},
|
|
16
|
+
"workspaceFolder": {
|
|
17
|
+
"description": "Opencode replaces ${workspaceFolder} with detected workspace root",
|
|
18
|
+
"detection": "Auto-detects from .git directory, package.json, or current directory",
|
|
19
|
+
"windows": "Normalizes Windows paths to forward slashes"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"mcpServers": {
|
|
23
|
+
"sdl-mcp": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": ["sdl-mcp"],
|
|
26
|
+
"env": {
|
|
27
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"_alternative_global_install": {
|
|
32
|
+
"description": "After global install (npm install -g sdl-mcp):",
|
|
33
|
+
"mcpServers": {
|
|
34
|
+
"sdl-mcp": {
|
|
35
|
+
"command": "sdl-mcp",
|
|
36
|
+
"args": [],
|
|
37
|
+
"env": {
|
|
38
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"_workspace_detection": {
|
|
44
|
+
"description": "How Opencode detects workspaceFolder",
|
|
45
|
+
"methods": [
|
|
46
|
+
"Git repository root (.git directory)",
|
|
47
|
+
"Node.js project root (package.json)",
|
|
48
|
+
"Current working directory",
|
|
49
|
+
"Manually specified via --workspace flag"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"_windows_path_handling": {
|
|
53
|
+
"description": "Opencode CLI specific Windows path handling",
|
|
54
|
+
"normalization": "All paths normalized to forward slashes internally",
|
|
55
|
+
"examples": {
|
|
56
|
+
"input": "C:\\Users\\name\\project",
|
|
57
|
+
"normalized": "C:/Users/name/project",
|
|
58
|
+
"config_file": "${workspaceFolder}/sdlmcp.config.json resolves to C:/Users/name/project/sdlmcp.config.json"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"_slash_normalization": {
|
|
62
|
+
"description": "SDL-MCP path normalization (server-side)",
|
|
63
|
+
"behavior": "Server normalizes all paths using path utilities",
|
|
64
|
+
"storage": "Paths stored with forward slashes in database",
|
|
65
|
+
"resolution": "Resolved to OS-specific paths on read"
|
|
66
|
+
},
|
|
67
|
+
"_troubleshooting": {
|
|
68
|
+
"workspace_not_found": "Run from within a valid workspace or specify --workspace",
|
|
69
|
+
"config_missing": "Ensure sdlmcp.config.json exists at SDL_CONFIG path",
|
|
70
|
+
"path_case": "Windows paths are case-insensitive, but forward slashes required in env vars",
|
|
71
|
+
"npx_timeout": "If npx times out, try global install or use node with full path"
|
|
72
|
+
},
|
|
73
|
+
"_complete_windows_example": {
|
|
74
|
+
"description": "Full example for Windows with explicit paths",
|
|
75
|
+
"setup": {
|
|
76
|
+
"1": "npm install -g sdl-mcp",
|
|
77
|
+
"2": "Create sdlmcp.config.json in your project root",
|
|
78
|
+
"3": "Run opencode from project directory"
|
|
79
|
+
},
|
|
80
|
+
"mcpServers": {
|
|
81
|
+
"sdl-mcp": {
|
|
82
|
+
"command": "sdl-mcp",
|
|
83
|
+
"args": [],
|
|
84
|
+
"env": {
|
|
85
|
+
"SDL_CONFIG": "${workspaceFolder}/sdlmcp.config.json"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Your Name
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|