Skip to main content
Firedrill is a stateful simulation and testing framework for action-taking AI agents. It replaces real dependencies with controlled Tools, lets your existing agent act through its normal interface, and checks tool calls, state changes, events, ordering, faults, and time.
The local inspector opens with a working synthetic backend. Add a drill when you want that interaction to become a repeatable behavioral test.
The packages are currently release candidates and are not yet on public package registries. The quickstart uses a source checkout and marks the future package-install path separately.

The working loop

1

Add useful Tools and data

Install a reusable Tool or create one in your repository. A Tool defines callable operations, deterministic behavior, and the state those operations change.
2

Connect the existing agent

Point the agent’s configurable MCP, HTTP, CLI, function, SDK, or browser seam at Firedrill. Your application, model, and agent runner remain yours.
3

Run a drill

Give the agent a task in an isolated world. Define the starting scenario and assert on observable consequences rather than model wording.
4

Inspect and reproduce

Review the causal timeline, tool activity, data changes, assertions, logs, and optional captures. Re-run the same build and seed when you need to reproduce a result.

Start with your goal

Start synthetic Tools

Create a controlled backend and inspect its state before writing a test.

Test an agent locally

Run one complete drill and open its evidence report.

Connect an existing agent

Use an existing MCP, HTTP, CLI, function, SDK, or browser boundary.

Mock one dependency

Inject synthetic behavior from Jest, Vitest, Mocha, or another runner.

Reproduce a failure

Control state, time, faults, seeds, resets, and immutable builds.

Use Firedrill in code

Drive local worlds and drills through the TypeScript SDK.

What Firedrill controls

Firedrill does not host or rewrite your agent in the local workflow. It gives the agent a safe world to act inside and records the consequences.

Run the quickstart

Go from a source checkout to a passing drill and a local HTML report.