blastcode 0.2.1

Incremental code-graph MCP server and blast-radius engine for AI coding agents: file skeletons, call graphs, and impact analysis.
Documentation
# Changelog

All notable changes to **BlastCode** will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

---

## [0.2.1] - 2026-10-09

### Added
- **High-Speed Workspace Grep Engine (`grep_workspace`)**:
  - Multi-threaded regex and token search across workspace files powered by `ignore` and `regex`.
  - Automatically respects `.gitignore`, skips binary files, and filters hidden paths.
  - New CLI subcommand: `blast grep <pattern> [--path <glob>] [--case-sensitive] [--limit <n>] [--json]`.
- **Struct Field, Enum Variant, Const & Static Extraction**:
  - Extracted struct fields (e.g. `pub trailer_override: ...`), enum variants, consts, and statics into the symbol index across Rust, Go, TypeScript/JS, and Python.
  - Field members are now fully searchable via `blast search` and extractable via `blast source`.
- **Resilient Path Normalization & Fuzzy Fallback**:
  - Language path syntax normalization (`::` converted to `.`) for seamless lookup of scoped items (e.g. `Document::trailer` -> `Document.trailer`).
  - Substring fallback matching in `find_defs` so partial names (e.g. `trailer` for `trailer_override`) resolve to the exact symbol definition.

## [0.2.0] - 2026-10-09

### Added
- **Affected Test Discovery & Runner Generation (`get_affected_tests`)**:
  - Automatically identifies all unit and integration test files & test functions covering any modified file or symbol across 10 programming languages.
  - Generates the exact language-specific CLI test runner command (`cargo test`, `pytest`, `go test`, `npm test`, `mvn test`, `dotnet test`, `phpunit`, `rspec`).
- **Pre-Flight AST & Arity Patch Validator (`verify_patch`)**:
  - In-memory validation of proposed code edits before writing to disk.
  - Tree-sitter syntax parsing catches broken syntax tokens without disk I/O.
  - Call-site arity checks against indexed SQLite signatures flag incorrect parameter counts before code is saved.
- **Git Commit Co-Change Coupling Intelligence (`get_co_changed_files`)**:
  - Mines Git commit history to discover files that frequently change together.
  - Discovers implicit, non-syntactic dependencies (e.g. schema migrations, paired types, documentation).
- **Dead & Orphaned Symbol Graph Analysis (`find_dead_code`)**:
  - Detects unreferenced functions, classes, and structs with zero callers, type usages, and imports across the entire workspace.
  - Categorizes confidence levels (`probable` for internal symbols, `heuristic` for exported symbols).
- **Official Smithery Registry Manifest (`smithery.yaml`)**:
  - Standardized configuration manifest enabling zero-install startup via `@smithery/cli` and PulseMCP.
- **New CLI Subcommands**:
  - `blast tests <file> [--symbol <name>]`
  - `blast verify <file> [--stdin]`
  - `blast coupled <file> [--depth <n>]`
  - `blast dead [--prefix <dir>]`

## [0.1.0] - 2026-10-08

### Added
- **10 Language Parsers**:
  - Core: Python, TypeScript / JavaScript (TSX/JSX), Rust, Go.
  - Extended: Java, C#, C, C++, PHP, Ruby.
- **Incremental AST-Derived SQLite Indexer**:
  - Blake3 content-hash caching; only changed files re-indexed.
  - Parallel AST extraction using Rayon thread pools.
- **Workspace Caretaker**:
  - Continuous background file watcher and symbol-level diff engine.
  - Bounded change journal reporting exact diffs once as separate response blocks.
  - Live terminal event streamer via `blast watch`.
- **Read-Less Structural Tools for AI Agents**:
  - `get_file_context`: File skeleton, classified imports (internal vs external), dependents, and recent modifications in a single call.
  - `get_symbol_source`: Surgical extraction of a single symbol/function definition by line range.
  - `get_file_skeleton`: Outline of declarations without function bodies.
  - `search_symbols`: Fast multi-word fuzzy symbol lookup.
  - `trace_symbol`: Definition, callers, callees, and type usages tagged with confidence (`exact`, `probable`, `heuristic`).
  - `get_impact_radius`: Static blast-radius calculation for proposed signature edits before and after code changes.
  - `get_workspace_map`: Structural workspace overview annotated with exported symbols.
  - `query_graph`: Graph querying with structural filters.
- **Model Context Protocol (MCP)**:
  - Full JSON-RPC 2.0 stdio server (`blast serve`).
  - Compatible with Claude Code, Cursor, Windsurf, Cline, and custom agent loops.
- **CLI Commands**:
  - `blast index`, `blast map`, `blast stats`, `blast search`, `blast trace`, `blast impact`, `blast watch`.