Skip to main content

⚡ BlastCode (blast)

Know what breaks before your agent edits.

Crates.io License: MIT CI MCP Compatible

An ultra-fast incremental code-graph engine, Model Context Protocol (MCP) server, and blast-radius analyzer for AI coding agents.

Features • Installation • Agent Integration • CLI Commands • Languages • Roadmap


💡 Why BlastCode?

AI coding agents waste tokens and context windows reading entire files, and they frequently make breaking changes to callers across directories because they don't know who calls what.

BlastCode sits directly on your workspace and solves this locally:

  1. Read Less: Supplies file skeletons, single-symbol extracts, and 1-call full file context (outline + imports + dependents + recent changes).
  2. Blast Radius Analysis: Tells the agent "if I change this signature, what breaks?" before the agent modifies code on disk.
  3. Workspace Caretaker: A background watcher continuously diffs edits against previous AST symbols, reporting what changed in a clean digest at the start of the next tool response.
  4. Sub-second Speed: Written in pure Rust with Tree-sitter and SQLite. Zero cloud roundtrips, 100% local, read-only on your codebase.

🚀 Installation

cargo install blastcode

Via Homebrew (macOS / Linux)

brew install isaim0011/tap/blastcode

Via Pre-built Binaries

Download the latest binary for Linux, macOS, or Windows directly from GitHub Releases.


🤖 Agent Integration (MCP)

BlastCode works natively with any Model Context Protocol host (Claude Code, Cursor, Windsurf, Cline).

Claude Code

claude mcp add blastcode -- blast serve --root .

Cursor / Windsurf / Claude Desktop (mcp.json)

{
  "mcpServers": {
    "blastcode": {
      "command": "blast",
      "args": ["serve", "--root", "/absolute/path/to/project"]
    }
  }
}

Instruct Your Agent (AGENTS.md / CLAUDE.md)

Add this instruction block so your AI agent uses BlastCode instead of brute-force reading files:

> Use the `blastcode` MCP tools before reading or modifying files:
> 1. `get_workspace_map`: Orient yourself across the project structure and exports.
> 2. `get_file_context` or `get_file_skeleton`: Use instead of opening and reading full files.
> 3. `get_symbol_source`: Retrieve the exact line range for a single function.
> 4. `trace_symbol`: Find all callers, callees, and type usages before refactoring.
> 5. `get_impact_radius`: Run with `new_source` BEFORE making an edit to verify what breaks.

🛠️ MCP Tools Overview

Tool Purpose
get_workspace_map Directory tree annotated with exported symbols per file. Call first.
get_file_context Skeleton + classified imports (internal vs external) + dependents + recent edits in one call.
get_file_skeleton Outline of a file without function bodies, with line numbers.
get_symbol_source Surgical extraction of one symbol's exact lines instead of whole-file reads.
search_symbols Fuzzy symbol lookup across the entire workspace (multi-word, camelCase/snake_case).
trace_symbol Definition + callers / callees / type usages tagged with confidence (exact, probable, heuristic).
get_impact_radius Pre-edit: test proposed signature changes. Post-edit: inspect working tree vs git HEAD.
query_graph Structural filter by kind, name, path, callers, callees, and export status.
poll_changes View the change journal recorded by the caretaker background watcher.

💻 CLI Reference

You can also use blast directly from your terminal:

blast index                     # Build or refresh the index (.blastradius/index.db)
blast map                       # Print compact workspace map with exports
blast stats                     # View symbol, reference, and file counts
blast context src/lib.rs        # Inspect skeleton, imports, dependents, and recent edits
blast skeleton src/lib.rs       # View file skeleton
blast source my_function        # Print source lines of a specific function
blast search "authenticate"     # Fuzzy search symbols
blast trace verify_token        # Trace callers, callees, and type usages
blast impact src/auth.py        # Check blast radius of uncommitted changes
blast watch                     # Live terminal stream of AST-level changes

🌐 Supported Languages (10 Languages)

Tier Languages Grammar Feature Flag
Core Python, TypeScript, JavaScript (TSX/JSX), Rust, Go Included by default
Extended Java, C#, C, C++, PHP, Ruby Cargo features (lang-java, lang-csharp, lang-c, lang-cpp, lang-php, lang-ruby)

Swift and Kotlin support are scheduled next.


🗺️ Universal Ecosystem Roadmap

  • v0.1.0: Core Rust engine, 10 languages, MCP server, CLI (blast).
  • crates.io: Official publication under blastcode.
  • PyPI / uv: pip install blastcode / uvx blastcode serve.
  • npm / npx: npx blastcode serve.
  • Homebrew Tap: brew install isaim0011/tap/blastcode.
  • VS Code / Cursor Extension: Embedded companion status and auto-launch.

📄 License

Licensed under the MIT License.

Metadata

Release files for blastcode 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for blastcode 0.1.0
File Interpreter ABI Platform
blastcode-0.1.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details

Release files / blastcode-0.1.0-py3-none-win_amd64.whl

Download URL blastcode-0.1.0-py3-none-win_amd64.whl
Size 4.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0064dc8f19f77ac664980d87e98c5cba9dba75b4108e6a621ea9e2e7ae53e666
BLAKE2b-256 checksum
How to use checksums
00b97330900a306e466a3e3a9695c5f5f0c3cfde12769c167cc7e4aeadfeb180
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

0.2.1

1 release file

0.2.0

1 release file

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page