What Mirra is
Mirra is a runtime that provides faithful, stateful mirrors of the third-party APIs your application depends on. Point your code at a Mirra URL instead of the real vendor and it behaves identically — same webhook signatures, same state machine transitions, same error payloads, same idempotency enforcement — but without the real-world side effects. No money charged. No messages sent. No emails delivered. No accounts polluted.stripe-a7k2.mirra.run, sees a real running implementation of Stripe’s API. Create a customer — they stay created. Cancel a subscription — webhooks fire on the correct schedule, signed with HMAC-SHA256 using the exact scheme Stripe uses.
What makes a mirror different from a mock
A mock returns a hardcoded response. A mirror runs a real process with real state.Stateful
Every session gets its own SQLite database. Records you create persist. State machines transition on the right schedule. Nothing is hardcoded.
Faithful
Vendor-correct webhook signatures. Vendor-correct error payloads. Vendor-correct rate limits. Byte-for-byte parity, verified weekly against the live API.
Isolated
A thousand parallel CI runs don’t see each other. No shared-staging collisions. Teardown is instant.
Drop-in
A TLS proxy routes
api.stripe.com to the mirror transparently. Your existing SDK clients work without URL changes.Three ways to use Mirra
One runtime, three execution modes:mirra up — for local development and staging
Provision mirror URLs and keep them running as long as you need. State accumulates naturally. Reset on demand.
mirra run <scenario.md> — for CI and agent validation
Execute a markdown scenario against provisioned mirrors. Get a pass/fail verdict and a satisfaction score. Gate your PR on the result.
Who Mirra is for
Mirra is built for engineering teams shipping integration code that touches real vendors — payments, email, SMS, auth, commerce. Teams with 5–50 engineers, 10+ third-party integrations, and increasingly heavy AI-assisted coding via Claude Code, Cursor, or Copilot. If you’ve ever shipped a Stripe webhook handler that didn’t verify signatures correctly, a Twilio retry loop that didn’t back off, or a Resend bounce callback that got silently swallowed — this is built for you.Where to go next
Quickstart
Install the CLI and run your first mirror in under two minutes.
Scenarios
Learn the markdown scenario format and the [D]/[P] evaluation system.
Coding agents
Wire Claude Code, Cursor, or any MCP-compatible agent into a Mirra session.
Vitest plugin
Drop Mirra into an existing Vitest suite without changing test code.
Mirra is in private beta. Real usage requires an access request at mirra.run/access. These docs are public and work standalone — no account required to read them.