Perspectives and queries
Every perspective of the Graph View, with the query that runs
it and the ce:// link that opens it. X stands for a symbol name, F for a
file path. File paths can be relative to the project or a file name such as
client.ts; if a name matches several files, the graph uses the best match and
names the others in a message.
Perspectives with a starting point
| Perspective | Query | Draws |
|---|---|---|
| Callers | callers of X [depth N] | Every symbol that calls X, over N levels |
| Callees | callees of X [depth N] | Every symbol that X calls, over N levels |
| Call tree | call chain of X [depth N], call tree of X | Callers above, callees below X |
| Cross-project call tree | cross-project call tree of X [depth N] | The call tree, continued into Linked reference projects |
| Impact | impact of F [depth N] | Files that import F, directly or indirectly |
| Dependencies | dependencies of F [depth N] | Files that F imports, directly or indirectly |
| Who imports | who imports F, importers of F | Files that import F directly |
| What imports | what does F import, imports of F | Files that F imports directly |
| Path | path from F to G | The shortest import path from F to G |
| Search | any other text | The 20 files that match the text best, without edges |
In a symbol query, Class.method() and method mean the same: the graph uses
the part after the last dot and drops the parentheses.
Perspectives for the whole project
These run from Perspectives… and need no starting point.
| Entry | Draws |
|---|---|
| Dead Exports | Exported symbols that no file imports |
| Orphan Files | Files that no file imports and that are not entry points |
| Circular Dependencies | Import cycles, drawn as closed loops |
| Complexity Hotspots | The 20 files with the highest score lines × (1 + incoming imports) × (1 + outgoing imports). The node shows the score after the file name. The border colour groups them by rank, five per colour. |
| Entry Points | Detected entry points: main, index files, VS Code activate and commands, Tauri commands, Shiny apps, plumber APIs |
| Recent Changes | Files that Git reports as changed since the last analysis |
| Reactive Graph | The reactive data flow of an R Shiny app (see Reactive graph) |
| Semantic Domains | Files grouped by meaning, with the dependencies between the groups |
Dead exports and orphan files are hints. See Findings are hints.
Double-clicking a node in these perspectives continues as follows:
| Node | Next perspective |
|---|---|
| File, hotspot, orphan, cycle member, changed file | Impact of the file, depth 2 |
| Entry point with a function name | Call tree of the function |
Entry point of a script (__main__, main) or with a dotted name | What the file imports |
| Domain | The files of the domain, with representative files marked ⭐ and UI labels marked 🏷 |
Reactive graph
Reactive Graph draws the data flow of R Shiny code. It is empty for projects without Shiny.
| Node | Icon | Source |
|---|---|---|
| Input | 🎛 | input$id or input[["id"]] in a reactive body |
| Reactive | 🔁 | name <- reactive(…), eventReactive(…), reactiveVal(…) |
| Output | 📊 | output$id <- render…(…) |
An edge points from the consumer to what it reads: an edge from output$trend
to input$window means "trend reads window". Reactivity inside
moduleServer(…) is included. Inputs with a computed id (input[[var]]) are
not detected, and the perspective draws no edge from a module call in one file
to the module in another file. The call graph covers that step.
ce:// links
ce://graph-perspective?kind=<kind>&<parameters>
kind | Parameters |
|---|---|
callers, callees, call_tree, xref_call_tree | symbol, depth, optional focus_file and focus_line |
impact, dependencies | file, depth |
file_imports, file_importers | file |
path | from, to |
search | query |
dead_exports, orphans, cycles, hotspots, entry_points, recent_changes, reactivity | none |
coverage_heatmap | mode (coverage or trace_depth), include_drafts |
focus_file and focus_line select one definition of a symbol name. Without
them a link to a name with several definitions opens the selection dialog.
Further links:
| Link | Effect |
|---|---|
ce://graph-focus?node=<id> | Centres and focuses a node of the graph on screen |
ce://call-chain?file=F&name=X&line=L | Opens the Call Chain Explorer on X |
ce://view?target=graph | Switches to the Graph View (split for graph and editor) |
Semantic Domains has no ce:// link. ce://cluster?id=N switches to the
Graph View without opening the cluster.
Tools for the assistant
The assistant reads the same index through MCP tools and answers with the links above.
| Question | Tools |
|---|---|
| Symbol, its callers and callees | describe_symbol, neighbors, call_chain, call_tree, transitive_callers, transitive_callees |
| Files and imports | file_imports, file_importers, impact_radius, dependencies_radius, shortest_path |
| Findings and metrics | findings, metrics, find_duplicates |
| Structure and meaning | cluster_tree, cluster_files, semantic_domains, find_similar |
| Search | code_search, text_search, find_ui_source |
| Across linked projects | boundary_list, xref_links, xref_unresolved, xref_call_tree, xref_compare |
The clusters of cluster_tree (groups of files found by community detection on
the import and call graph) are available to the assistant only. The Graph View
has no cluster perspective.