coming soon open beta frying up

sidekit 🍟

continuous testing for .net
auto-runs the tests your code change actually affects,
with real-time coverage and an MCP server for AI agents.

dig in

Tests as you type.
Coverage as it cooks.

Sidekit watches your code, picks the tests your change actually affects, and runs them in parallel with live coverage feedback. AI agents get the same superpowers via MCP.

🔄

Continuous testing

Tests run in the background as you write. No more clicking "run tests" — the loop is always closed.

🎯

Smart test selection

A dependency graph between production and test code means only the tests your change actually affects rerun.

📊

Real-time coverage

Line and branch coverage updated live as tests finish. No separate "coverage run" required.

Parallel execution

Work split across processes and CPU cores. Large suites stay fast; feedback stays under a few seconds.

🧩

Editor feedback

Pass/fail and coverage surfaced inline in VS Code as you type. The signal is right where you are.

🤖

MCP for AI agents

An MCP server lets coding agents query targeted tests and coverage gaps instead of running the whole suite. Save tokens, tighten loops.

🍟

how it works

file watcher → incremental compile → IL-instrumented call trees → only affected tests rerun → coverage reported back

Sidekit instruments your test and production assemblies on build to track which methods every test exercises. When you save a file, Sidekit recompiles incrementally, looks up the tests that touched the changed methods, and runs just those — in parallel, across cores. Results stream back into your editor and into the MCP server in seconds.

save → rerun affected
# you save src/OrderService.cs
[watch] OrderService.cs changed
[graph] 3 affected tests · 2 projects
[run]   parallel · 4 workers

  ✓ OrderServiceTests.PlacingAnOrder_ChargesCard          12ms
  ✓ OrderServiceTests.RefundingAnOrder_RestoresInventory  18ms
  ✗ OrderServiceTests.CancellingAnOrder_NotifiesUser       9ms

    expected: NotificationSent
    actual:   null
    at OrderService.cs:42

[cov]   lines 84.2% (+0.6) · branches 71.8% (+1.1)
🤖

sidekit + your agent

MCP-first, so coding agents drive Sidekit natively

Coding agents burn tokens running dotnet test and parsing thousands of lines of output to figure out what broke. Sidekit's MCP server hands them the answer directly — just the tests that touched the file the agent is editing, plus the coverage gaps in the code it's about to change. Faster loops, fewer tokens, tighter feedback.

agent ↔ sidekit (mcp)
→ tool_call get_affected_tests { "file": "src/OrderService.cs" }
 { "tests": [
    "OrderServiceTests.PlacingAnOrder_ChargesCard",
    "OrderServiceTests.RefundingAnOrder_RestoresInventory",
    "OrderServiceTests.CancellingAnOrder_NotifiesUser"
  ], "count": 3 }

→ tool_call run_tests { "filter": "affected" }
 { "passed": 2, "failed": 1, "failures": [
    { "test": "CancellingAnOrder_NotifiesUser",
      "message": "expected NotificationSent, got null",
      "at": "OrderService.cs:42" }
  ] }

→ tool_call get_coverage_gaps { "file": "src/OrderService.cs" }
 { "uncovered_lines": [42, 43, 44], "uncovered_branches": 1 }
🥡
MCP-first design
Built so Claude Code, Cursor, and friends can drive it natively — no wrapper scripts, no log scraping. The same data your editor sees, served as structured tool calls.
🍟
Open beta coming soon
No date yet — we're still seasoning it. Watch the GitHub org for the drop.