Slnmap 0.11.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Slnmap --version 0.11.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Slnmap --version 0.11.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Slnmap&version=0.11.0
                    
nuke :add-package Slnmap --version 0.11.0
                    

Slnmap

Slnmap (sln-map) — a semantic map of your .sln for AI coding agents.

Open source under the MIT license. Source, issues, and full docs: github.com/EMahmoudNabil/slnmap

Your AI agent can't refactor .NET code it can't see. Ask an agent "what breaks if I change this interface?" and it guesses from the files in its context — missing callers in other projects and files it never opened. Slnmap gives the agent a precise, compiler-accurate map of your whole solution, so it answers correctly: every caller, every implementation, across every project. It runs locally and serves the map to your agent or editor over MCP.

Quickstart

1. Install (requires the .NET SDK 9.0+):

dotnet tool install --global Slnmap

2. Analyze your solution (builds slnmap.db in the current folder):

slnmap analyze path/to/YourSolution.sln

3. Connect your MCP client. For Claude Code, add this to .mcp.json, using an absolute path to the slnmap.db you just built:

{
  "mcpServers": {
    "slnmap": {
      "command": "slnmap",
      "args": ["serve", "--db", "C:/path/to/your/project/slnmap.db"]
    }
  }
}

The tools

The server exposes thirteen read-only tools — find_symbol, get_dependencies, impact_analysis, get_architecture_overview, find_usages, find_implementations, get_type_hierarchy, find_tests_for_symbol, get_project_dependencies, find_circular_dependencies, get_symbol_source, list_endpoints, and find_endpoint (full descriptions in the README). For an interface, impact_analysis follows both the interface's callers and its concrete implementations/overrides — across projects, in files nobody has open. HTTP endpoints are first-class graph nodes — from ASP.NET Core Minimal APIs (v0.7.0) and attribute-routed controllers (v0.8.0): ask "which endpoint serves /api/vendors/42?" or "what breaks if I change this handler?" and get the actual route back.

There's also slnmap viz: exports the graph as a single self-contained, interactive HTML file — no server, no CDN, works offline. And slnmap watch (v0.10.0): analyze once, keep the workspace warm, and re-analyze on every file save — a one-file change lands in the database in about a second on a 10-project solution, and a slnmap serve running beside it keeps answering from the same file, so your agent's answers stay fresh while you type.

And slnmap analyze-ts (v0.11.0): adds TypeScript/React frontend HTTP call sites to the same graph — resolved route templates and an honestly-labeled unresolved bucket, six named reasons, never a guess. Requires Node 18+; the extractor itself is fetched via npx automatically.

Privacy

100% local — and now you can verify it. No telemetry, no cloud service; analyze/watch/ serve/viz/status/doctor make no network calls at all. One documented exception: analyze-ts fetches its extractor from the public npm registry via npx (skip it to stay fully offline). Now that the CLI and MCP server are open source, the claim is auditable.

License & support

Slnmap is open source under the MIT license. The CLI and MCP server are MIT-licensed and will stay that way. Future hosted or team-oriented features may be commercial.

For questions or to report an issue, open a GitHub issue or contact hello@slnmap.dev.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.12.0 0 8/22/2026
0.11.0 0 8/22/2026
0.10.0 44 8/21/2026
0.9.0 46 8/21/2026
0.8.2 103 8/14/2026
0.8.1 85 8/14/2026
0.8.0 91 8/12/2026
0.7.0 93 8/12/2026
0.6.1 89 8/8/2026
0.6.0 92 8/8/2026
0.5.0 103 8/7/2026
0.4.0 120 7/23/2026
0.3.0 107 7/22/2026
0.2.1 113 7/19/2026
0.2.0 104 7/18/2026
0.1.9 98 7/18/2026
0.1.8 104 7/18/2026
0.1.7 99 7/18/2026
0.1.6 107 7/17/2026
0.1.5 102 7/17/2026
Loading failed

New: `slnmap analyze-ts` -- frontend HTTP call sites join the same
graph as your C# code. Point it at a TypeScript/React project root and it walks the program
with the TS Compiler API (via the companion `slnmap-ts` npm package, pulled automatically
through `npx` -- Node 18+ required, nothing to install by hand), resolving axios/fetch call
sites -- including through barrel re-exports and constant folding -- to route templates, and
disclosing exactly what it can't resolve across six named categories rather than guessing.
Field-trial verified across 4 codebases (two real production snapshots of the same app, a
frontend-only static site, and a public sample using a third HTTP client library): zero false
positives anywhere; one real gap found and fixed (superagent's `.del()` method name for DELETE).
Honest limits: no cross-stack linking yet (that's next); monorepo/TypeScript project-references
tsconfigs are not yet field-verified; a URL built from a helper function's own parameter is
correctly counted unresolved, not guessed from its callers. See CHANGELOG.md for details.
Source: https://github.com/EMahmoudNabil/slnmap