Skip to main content

Test impact analysis and code intelligence for LLM agents

Project description

Chisel

Test impact analysis and code intelligence for LLM agents.

Chisel maps tests to code, code to git history, and answers: "what to run, what's risky, who touched it."

Chisel analyzing a real project — risk map, churn, ownership, test gaps, and agent interpretation

The Problem

An LLM agent changes engine.py:store_document(). It then either:

  • Runs all 287 tests (slow, wasteful), or
  • Guesses with -k "test_store" (misses regressions)

When multiple agents (or agents + humans) work on the same codebase, changes in one area silently break another. Chisel gives agents the intelligence to understand the blast radius of their changes before they commit.

Install

pip install chisel-test-impact

Or from source:

git clone https://github.com/IronAdamant/Chisel.git
cd Chisel
pip install -e .

Use with Claude Code (MCP)

Add to your Claude Code MCP config (~/.claude/settings.json or project .mcp.json):

{
  "mcpServers": {
    "chisel": {
      "command": "chisel-mcp",
      "env": {
        "CHISEL_PROJECT_DIR": "/path/to/your/project"
      }
    }
  }
}

Or run the HTTP server for any MCP-compatible client:

chisel serve --port 8377

Once connected, Claude Code can use all 15 tools directly — analyze, diff_impact, suggest_tests, risk_map, and more. Run analyze first to build the project graph, then diff_impact before each commit to know exactly which tests to run.

Use with Cursor / Other MCP Clients

Chisel exposes a standard MCP interface. For stdio-based clients:

pip install chisel-test-impact[mcp]
chisel-mcp

For HTTP-based clients, point them at http://localhost:8377 after running chisel serve.

Quickstart (CLI)

# Analyze a project (builds all graphs)
chisel analyze .

# What tests are impacted by my current changes?
chisel diff-impact

# What tests should I run for this file?
chisel suggest-tests engine.py

# Who owns this code?
chisel ownership engine.py

# What files always change together?
chisel coupling storage.py

# Which tests are stale?
chisel stale-tests

# Risk heatmap across the project
chisel risk-map

# Incremental update (only re-process changed files)
chisel update

# Find code with no test coverage, sorted by risk
chisel test-gaps

Try It on This Repo

git clone https://github.com/IronAdamant/Chisel.git
cd Chisel
pip install -e .

chisel analyze .
chisel risk-map
chisel diff-impact
chisel test-gaps
chisel stats

15 Tools

Tool What it does
analyze Full project scan — code units, tests, git history, edges
update Incremental re-analysis of changed files only
impact Which tests cover these files/functions?
diff_impact Auto-detect changes from git diff, return impacted tests
suggest_tests Rank tests by relevance + historical failure rate
churn How often does this file/function change?
ownership Who wrote this code? (blame-based)
who_reviews Who maintains this code? (commit-activity-based)
coupling What files always change together?
risk_map Risk scores for all files (churn + coupling + coverage gaps)
stale_tests Tests pointing at code that no longer exists
test_gaps Code units with zero test coverage, sorted by risk
history Commit history for a specific file
record_result Record test pass/fail for future prioritization
stats Database summary counts

Features

  • Zero dependencies — stdlib only, works everywhere Python 3.9+ runs
  • Multi-language — Python, JavaScript/TypeScript, Go, Rust, C#, Java, Kotlin, C/C++, Swift, PHP, Ruby, Dart
  • Framework detection — pytest, Jest, Go test, Rust #[test], Playwright, xUnit/NUnit/MSTest, JUnit, XCTest, PHPUnit, RSpec, Minitest, gtest, Dart test
  • Incremental — only re-processes changed files via content hashing
  • MCP servers — both stdio and HTTP for LLM agent integration
  • Risk scoring — weighted formula: churn, coupling, coverage gaps, author concentration, test instability
  • Branch-awarediff_impact auto-detects feature branch vs main

Ecosystem

Chisel works standalone or alongside Stele for multi-agent code coordination. Chisel handles test intelligence; Stele handles document-level context and conflict prevention.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chisel_test_impact-0.5.3.tar.gz (79.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chisel_test_impact-0.5.3-py3-none-any.whl (48.1 kB view details)

Uploaded Python 3

File details

Details for the file chisel_test_impact-0.5.3.tar.gz.

File metadata

  • Download URL: chisel_test_impact-0.5.3.tar.gz
  • Upload date:
  • Size: 79.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for chisel_test_impact-0.5.3.tar.gz
Algorithm Hash digest
SHA256 48475e26276a691b4de7e7a323c12cc22a427e5e2825aed57de9019199d5780b
MD5 754aece14869d6b71f0796a6240f4198
BLAKE2b-256 afbf23cca4fe70c7599be140c2db776454fb86b5be3f373f7091dfb4b86f98c9

See more details on using hashes here.

File details

Details for the file chisel_test_impact-0.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for chisel_test_impact-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f118b0f5c7f6526ec8544370d6e50d3dfe113a540385546a0d8d352a1b780701
MD5 990f807ab4d2ac633513e22fc691a6be
BLAKE2b-256 801016409ea2f4ea7c8f823ab2c9594e1499672fd52ae8ec8f8375d08156a5c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page