v0.4.0 — symbol call graph (explain/path), nudge hook, graph export
Added
- Symbol-level call graph — references now record their caller (the symbol whose body contains each use), turning the flat usage list into a real call/reference graph. Two new queries expose it:
explain(a symbol's callers and callees in one call) andpath(the shortest chain of calls connecting two symbols). Available as CLI commands (sens explain,sens path) and MCP tools (explain_symbol,symbol_path);who_usesnow also shows which symbol each use sits in. - Nudge hook —
sens hookis aPreToolUsehook that gently reminds the model to reach for sens (find_symbol,file_outline,explain_symbol, …) before it greps or reads whole files. Fires at most once per session per tool and stays silent on non-source files. - Graph export — the dashboard can export the dependency graph to GEXF, GraphML, DOT, JSON and a CSV edge list via
/api/export, so it opens in Gephi, yEd, Cytoscape or Graphviz.
Improved
- Faster queries — the query engine builds its name/file/id lookups, the import adjacency and the call graph once up front (O(1) lookups), and the engine is memoized per project so repeated MCP calls skip re-reading and re-parsing the index from disk.
npm: npm i -g sens-mcp@0.4.0 · Full changelog in CHANGELOG.md