Compass for VS CodeCompass brings the local-first Compass code graph into VS Code. The extension uses the same React graph viewer and versioned models as Compass's offline exports. RequirementsThe extension requires Compass CLI 0.3.0 or newer. Releases below 0.3.0 and 0.3.0 prereleases are unsupported. If the Installation runs on the same machine or remote extension host where VS Code opens the workspace. The extension never bundles a native binary and never sends telemetry. If Compass already exists outside detected locations, set Compass: CLI Path or choose Select Compass Binary from onboarding. The CLI must support Workflows
Using the Compass activity barWorkspaceWorkspace is the single command surface for Compass. Repository rows report Graph ready, Not initialized, Building, or Build failed without repeating workflow actions under every folder.
Choosing Initialize repository opens a dedicated setup wizard. Review the repository scope by selecting folders and files from the workspace tree, add include or exclude glob rules when needed, and start the first index from the final review step. While Compass builds, the page shows the completed and total file count plus the file currently being indexed. Refresh Compass Status in the Workspace title reads repository state again. It never initializes, updates, or watches a graph. Open Code graph to inspect connected nodes, filter by relationship, evidence, node kind, or language, search, and open source. Impact and other typed query results open as another lens beside the code graph rather than replacing its context. Drag the inspector divider to resize it, or use its header control to collapse and expand it. Trace calls from the editorChoose Call graph under Workspace > Explore to open a visual guide. Enter a function name, qualified name, or stable symbol ID and press Enter to trace it directly. Choose Callers, Both, or Callees before opening the graph; Both is the default. In a multi-root workspace, Compass uses the active editor's repository or asks you to choose one.
The guide also includes the editor steps and working Show Callers, Show Callees, and Show Both cursor actions. Compass captures the active source position before the guide opens and returns to that exact cursor when an action is selected.
The same three direction commands are available from the Command Palette. Compass uses the repository's structural graph for every supported language and enriches it with Program IR when that artifact exists. The coverage notice identifies structural-only or combined evidence and says when results are partial. An empty direction means that Compass found the function but has no represented relationship in that direction; it does not prove no runtime call exists. When the selected CLI is Compass 0.3.0, the extension automatically uses the
typed query contract for this workflow because that release's The same Compass editor menu includes Show Change Impact, Explore Related Symbols, and Show Node Trail. Compass resolves the graph identity at the cursor automatically. Impact and related-symbol results open as focused graphs containing only the returned nodes and relationships. Node trail uses the cursor as its source and asks only for the destination. Compass discovers the CLI automatically from the configured location, In a multi-root workspace, Compass uses the repository containing the active editor. If no repository is implied and more than one is eligible, Compass asks you to choose one. Git commits and revision graphsOpen Codebase evolution from Workspace > Explore or the Command Palette. The left rail lists every reachable Git commit and shows whether its Compass graph is available, not materialized, building, or failed. Compass opens the newest 100 commits first and loads more as you scroll; loaded pages remain cached while the Codebase Evolution panel is open. If revision graphs are disabled, choose Enable revision graphs inside Codebase Evolution, then select either the recommended local Code only profile or the Compass default profile resolved by the CLI. The timeline reloads automatically after enablement. Select a commit, then:
In a changed graph, select an aggregate community and choose Inspect
changes. Compass lazily compares that community at both revisions and shows
the exact added, removed, and changed symbols and relationships. Selecting a
changed symbol reveals a Before/After table containing only modified fields,
including signatures and source ranges, with source actions for both commits.
The semantic tab renders the report's current finding headlines, verification
state, reviewer action, and evidence. The changed-graph tab uses the exact Rust
semantic-diff node and edge records instead of comparing unstable aggregate
community projections. Large finding details are bounded in the editor; use
Opening Codebase Evolution never builds historical graphs automatically. Revision builds are explicit because they can take time and may use a configured semantic provider. Compass runs only in trusted workspaces. Browser-only Privacy and safetyAll graph and query processing is local unless you explicitly configure a Compass semantic provider. Webviews contain only local assets. CLI processes are spawned with argument arrays and no shell. |
