Summary
The deps tool returns a JSON edge list but offers no graph export format (DOT, GraphML, JSON-Graph) and no --cycles flag to surface dependency cycles. Visualization or cycle analysis requires post-processing in another tool. A native --format=dot|graphml|json-graph and --cycles aggregator would make the dependency tool usable end-to-end without glue code.
Where
src/CodeIndex/Mcp/McpToolHandlers.cs (deps handler — no format selector)
src/CodeIndex/Cli/QueryCommandRunner.cs (CLI surface for deps)
Suggested approach
(1) Add a --format flag with dot|graphml|json-graph|edgelist values (default = current edgelist). (2) Implement a Tarjan SCC pass and expose --cycles to print only cycle members. (3) Document graph format choice in the MCP tool description so clients can pick the right format for downstream tooling (D3, Cytoscape, Graphviz).
Summary
The
depstool returns a JSON edge list but offers no graph export format (DOT, GraphML, JSON-Graph) and no--cyclesflag to surface dependency cycles. Visualization or cycle analysis requires post-processing in another tool. A native--format=dot|graphml|json-graphand--cyclesaggregator would make the dependency tool usable end-to-end without glue code.Where
src/CodeIndex/Mcp/McpToolHandlers.cs(deps handler — no format selector)src/CodeIndex/Cli/QueryCommandRunner.cs(CLI surface for deps)Suggested approach
(1) Add a
--formatflag withdot|graphml|json-graph|edgelistvalues (default = current edgelist). (2) Implement a Tarjan SCC pass and expose--cyclesto print only cycle members. (3) Document graph format choice in the MCP tool description so clients can pick the right format for downstream tooling (D3, Cytoscape, Graphviz).