Boopy Context Engine

Local project intelligence for GitHub Copilot in VS Code

A VS Code extension that indexes your project in the background, keeps a compact project map and exposes six local context tools to Copilot in agent mode. Fewer tokens spent on "let me read the whole repository", more spent on the actual task.

VS CodeCopilot AgentLocal onlySource available
Version0.1.8
LicenseMIT + Commons Clause
PlatformVS Code 1.99+ (Copilot Agent mode)
StatusPublic on GitHub

What it is

BCE does not build its own assistant and does not touch Copilot's chat or agent loop — it is an additional tool provider (Language Model Tools). Copilot decides when to call the tools; you can also reference them explicitly in a prompt, for example #bceFindContext.

Indexing, parsing, ranking and caching all happen in the extension host. There is no network call anywhere in the codebase and no telemetry is sent — your source code never leaves the machine.

Key features

Fully local

Indexing, parsing, ranking and caching live in the extension host. No network calls, no telemetry, no source code leaving the machine.

Saves context, not steps

Instead of "read everything" the model gets ranked hits with exact line ranges. The estimated token budget per response is configurable (4000 by default).

Says where it is unsure

Parser results are labelled exact or heuristic and every token number is explicitly marked as an estimate. The tool never pretends to have precision it does not have.

Never returns secrets

Safety blocks cannot be turned off by configuration: .env files, keys, certificates, credential stores, binaries and oversized files are never indexed or returned.

Sees unsaved changes

When a file is dirty, the editor buffer is read, so the model does not see code that is 50 edits old. Unsaved text is never written into the index.

Controllable and measurable

Thirteen commands from a full project analysis to a local benchmark, diagnostics with counters, and the option to pause background indexing.

Tools it gives to Copilot

Every tool description states when the agent should use it and when it should not.

Tool Purpose Use it when
bce_get_project_overview Compact project map: languages, frameworks, entry points, modules, database objects, routes, tests and instructions. You are new to the project or the task spans several modules.
bce_find_context Ranked, de-duplicated hits with reasons, exact path:line references, short snippets and a token estimate. You need to locate responsible code, a table, an endpoint or a symbol.
bce_get_file_context One symbol or one line range plus imports, dependents and related tests. You know the file and need one specific part of it.
bce_explain_impact What depends on a symbol or file — verified references and heuristic guesses reported separately. Before refactoring, renaming or deleting code.
bce_get_related_tests Tests bound by convention, import or usage, plus the test runner configuration. Before writing tests and after changing behaviour.
bce_get_status Index freshness, file counts, cache state and recent errors. Results look incomplete or stale.

Commands in the palette

Everything that otherwise happens in the background can also be driven by hand from the command palette.

  • BCE: Analyze Project — full scan with progress and cancellation
  • BCE: Rebuild Index — drops both cache layers and re-parses everything
  • BCE: Show Project Map — opens a readable, read-only rendering of the project map
  • BCE: Search Context — quick pick over ranked hits, opens the file at the best line
  • BCE: Show Diagnostics — counters, timings, per-tool usage, recent events
  • BCE: Clear Cache — clears the parse cache and the context cache (index stays)
  • BCE: Show Usage Report — totals from the local usage log: estimated tokens returned and what the naive alternative would have cost
  • BCE: Reset Usage Log — deletes the local usage log after a confirmation
  • BCE: Pause Background Indexing / Resume — queues file events instead of processing them
  • BCE: Cancel Indexing — cancels the running pass, the last valid index is kept
  • BCE: Ensure BCE Output Is Git-Ignored — re-applies the managed .gitignore block
  • BCE: Run Local Benchmark — measures ranking quality and context size

Installation

1

Source and checks

The repository is public. The check step runs the typecheck, the tests and the bundle.

git clone https://github.com/BoopyCode/BoopyContextEngine.git
cd BoopyContextEngine
npm install
npm run check
2

Development host (fastest)

Open the folder in VS Code and press F5. A second window opens with BCE loaded — open any project there.

3

Install into your VS Code

Build the package and copy the folder into your extensions. After restarting VS Code the status bar shows "bce: Indexing" and then "bce: Ready (n files)".

npm run vscode:prepublish
# copy the folder here (or install a .vsix built with npx @vscode/vsce package):
# %USERPROFILE%\.vscode\extensions\boopycode.boopy-context-engine-0.1.4

Requirements

  • VS Code 1.99 or newer (Language Model Tool API)
  • Node 18+ when building from source
  • Single runtime dependency: ignore (bundled)
  • MIT with the Commons Clause — commercial use only under a written licence

What it cannot do

Answer quality, the number of agent steps and billed API usage are not measurable by the extension — it has no access to them. The local benchmark therefore measures only what can be measured locally: whether the right files were found and how many estimated tokens it cost.

Reference run on a 27-file fixture: 100% hit rate, mean rank of the first correct hit 1.4 and roughly 60% smaller context than naively reading the candidate files. The documentation states explicitly that this ratio cannot be generalised — verify the numbers with your own benchmark (BCE: Run Local Benchmark).

License

The source code is published under the MIT License with the Commons Clause. Personal, educational, research, hobby and non-commercial open source use is free of charge.

Commercial use — running it in a business, hosting it as a service, embedding it in a paid product, or paid integration and support work — requires a separate written commercial licence from BoopyCode. Without it the licence grants no commercial rights.

Any breach terminates all rights automatically, and every copy must include the full licence text including the Commons Clause.

Links

Want a similar tool, or Copilot integrated into your processes? →

We reply within 24 hours. No obligation, no charge.