A Cursor-compatible VS Code extension that puts a clickable sidebar UI on top of
the grepai semantic code search CLI. Search by meaning, jump to results, and
explore the call graph — without leaving the editor.
- Semantic search of the folder open in Cursor — searches that folder's own grepai index.
- Index-gated: if the open folder has no grepai index, the panel shows a disabled "no index" message instead of failing on search.
- Multi-root aware: when several folders are open, a small folder selector lets you pick which one to search.
- Relative score bars with a one-glance Strong/Good/Weak label per result.
- Search history autocomplete, keyboard navigation (arrows / Enter / Esc), and open modes (single-click preview, Cmd/Ctrl-click pin, Alt-click split).
- Index-health badge (read-only) showing whether the folder is indexed and when it was last updated. It does not report watcher state —
grepai watch --statuscan't see launchd/foreground watchers, so any "auto-updating" claim would be unreliable. Managing the grepai watcher is left to you. - Opt-in live search (debounced, type-to-search).
- Syntax-highlighted previews and collapsible group-by-file results.
- Per-card actions: hover or focus a result to open it beside, reveal it in the Explorer, or copy it as a ready-to-paste
path:line+ code block. - Call graph panel: trace callers/callees as an expandable tree, or render a graph view.
Download the .vsix from the latest release, then:
cursor --install-extension cursor-grepai-ui-<version>.vsix --forceReload the window (Cmd+Shift+P → "Developer: Reload Window").
npm install
npm run package # produces cursor-grepai-ui-<version>.vsixThe grepai CLI must be installed and on your PATH (configurable via
grepaiSearch.executablePath). Each folder you want to search needs its own
index — run grepai init in the folder, and grepai watch --background to keep
it fresh. A folder without an index shows the disabled "no index" state.
grepaiSearch.executablePath: path togrepai(defaultgrepai).grepaiSearch.defaultLimit: default result count (default8).grepaiSearch.liveSearch: search as you type, debounced (defaultfalse).grepaiSearch.liveSearchDelayMs: live-search debounce in ms (default350).grepaiSearch.groupByFile: group results by file when a file has multiple hits (defaulttrue).grepaiSearch.traceMode: symbol extraction mode for call-graph tracing,fastorprecise(defaultprecise).
Open the GrepAI activity-bar item and type a semantic query; results from the
open folder's index appear as clickable cards (click to open at the matching line;
Cmd/Ctrl-click to pin, Alt-click to open beside). If the folder isn't indexed,
the panel says so — run grepai init there. With multiple folders open, pick the
target from the folder selector. Expand Call graph to trace a symbol's
callers/callees.