Open source. Local first. No AI calls.

Know what your code change will break.

SBE builds a semantic graph of your TypeScript, TSX, or Python codebase, then shows affected symbols, files, flows, tests, and the smallest useful context before you edit.

$npm install -g sbe-cli
MIT licensed 4 native platforms 0 cloud dependencies
login verifyJwt AuthService AuthController authMiddleware
Predicted impact10 symbols · 4 filesMEDIUM RISK · 36.5/100
01Map dependencies

See callers and callees without opening broad folders.

02Predict blast radius

Find affected files, entry flows, and connected tests before editing.

03Compile context

Give AI agents ranked code ranges under an explicit token budget.

Code changes fail at the connections you did not see.

Before

Search is not impact analysis.

Text search finds names. It does not reliably explain which callers, flows, files, and tests depend on the symbol you plan to change.

Before

AI context gets expensive fast.

Coding agents inspect broad directories because they lack a reusable structural map. More context still does not guarantee the right context.

With SBE

Query the graph first.

Scan locally once. Ask for impact or a simulated change. Pass the focused result to a developer, review process, or AI tool.

From repository to change plan in seconds.

Recorded from SBE 0.4.0 against the included authentication fixture. The output below is real, reproducible, and runs entirely on the local machine.

sbe-demo — PowerShellREAL OUTPUT
sbe scan .Build the graph12 symbols, 14 edges in 51 ms
sbe impact loginTrace dependents5 symbols across 3 files
sbe simulate modify loginPlan the editRisk, flows, tests, and context

Evidence, with the limits stated clearly.

SBE reports focused-context estimates from indexed source characters. Results depend on project shape and query scope; broad changes may save little or no context.

Fastify TypeScript
50%

estimated context reduction

Graph
506 symbols
Impact
230 symbols
Query
184 ms
Read benchmark ↗
FastAPI Python
29%

estimated context reduction

Graph
6,524 symbols
Impact
4,481 symbols
Corpus
1,120 files
Read benchmark ↗

Use SBE before the risky edit, not after the regression.

  1. 01

    Index the repository

    Tree-sitter extracts files, symbols, imports, references, containment, and reverse relationships into .sbe/.

    sbe scan .
  2. 02

    Ask about the change

    Query a symbol directly or describe a planned migration such as “JWT to Passport”.

    sbe impact login
  3. 03

    Act with focused evidence

    Review risk and affected flows, run connected tests, or hand the bounded context packet to an AI agent.

    sbe context login --budget 4000

A practical graph engine, not an AI wrapper.

G

Graph

Dependencies, dependents, source ranges, typed symbols, and reverse indexes.

I

Impact

Bounded transitive traversal with affected symbol, file, and depth summaries.

C

Context

Deterministic ranking and pruning under 4k, 8k, or custom token budgets.

S

Simulate

Modify, delete, and replace predictions with risk, flows, and test selection.

Δ

Update

Incremental graph refresh for added, modified, and removed source files.

{ }

JSON

Machine-readable output for scripts, CI pipelines, and future agent integrations.

Current boundary

SBE is production-alpha. It is syntax and graph based, not a full TypeScript or Python type checker. It does not execute your project or call an AI model.

One command. No Rust toolchain required.

The npm wrapper downloads the matching release binary, verifies its SHA-256 checksum, and caches it under ~/.sbe/bin/.

1npm install -g sbe-cli
2cd your-project && sbe scan .
3sbe simulate modify yourSymbol
View sbe-cli on npm Prefer a native binary? Download a release ↗

Make code changes easier to understand before they become expensive.

Star SBE on GitHubOpen an issue