Cross-Repo Radar
See which other repositories use the function you're editing — before you break them.
The Problem
In a multi-repo or monorepo organisation, changing a shared utility breaks downstream services — and you only find out in CI, minutes after pushing. "Find All References" only works within the current project. Cross-repo impact is invisible until it's too late.
What It Does
Cross-Repo Radar builds a local symbol index from your configured sibling repositories. When you hover over any identifier, a tooltip shows how many other repos use it and where. You can also search symbols interactively via the quick picker.
Features
- Hover tooltip — hover any identifier to see cross-repo usage count and repo names
- Symbol search — find all usages of any symbol across configured repos
- Local JSON index — built once, queried instantly; no network calls
- Configurable repos — point at any local directory containing sibling repos
- Incremental index — rebuild on demand after pulling new code
- Explorer tree view — browse the radar panel in the sidebar
Getting Started
In your workspace settings (.vscode/settings.json):
{
"crossRepoRadar.repoPaths": [
"/Users/you/work/payments-service",
"/Users/you/work/auth-service",
"/Users/you/work/notification-service"
]
}
Step 2 — Build the index
Run: Cross-Repo Radar: Build Index
This scans all configured repos and builds the symbol index (stored at .vscode/cross-repo-index.json). Depending on repo size, this takes a few seconds.
Step 3 — Hover any symbol
Hover over any function name, class, or variable in your editor. If it's used in other repos, you'll see:
🔭 Cross-Repo Radar: `UserService`
Used in 12 locations across 3 repos:
• payments-service: 4 usages
• auth-service: 5 usages
• notification-service: 3 usages
Commands
| Command |
Description |
Cross-Repo Radar: Build Index |
Scan configured repos and build the symbol index |
Cross-Repo Radar: Search Symbol |
Search for any symbol across all indexed repos |
Cross-Repo Radar: Open Panel |
Open the radar panel |
Configuration
| Setting |
Default |
Description |
crossRepoRadar.repoPaths |
[] |
Absolute paths to sibling repositories to index |
crossRepoRadar.indexFile |
.vscode/cross-repo-index.json |
Path for the generated index file |
crossRepoRadar.fileExtensions |
[".ts", ".tsx", ".js", ".jsx"] |
File extensions to index |
Example: Full monorepo setup
{
"crossRepoRadar.repoPaths": [
"/Users/you/work/api-gateway",
"/Users/you/work/user-service",
"/Users/you/work/order-service",
"/Users/you/work/shared-lib"
],
"crossRepoRadar.fileExtensions": [".ts", ".tsx", ".go", ".py"]
}
Tips
- Rebuild after pulling — run
Build Index after git pull on sibling repos to keep the index fresh
- Symbol search before renaming — use
Search Symbol to see the full blast radius before any rename
- Short symbols are filtered — identifiers under 4 characters are skipped to avoid noise (
id, fn, etc.)
- The index file (
.vscode/cross-repo-index.json) can be large for big monorepos — add it to .gitignore