Get started

From zero to a running local API simulator in under a minute.

TAKE 1

Install stunt

$ go install stuntapi.com/stunt/cmd/stunt@latest
$ brew install --cask stuntapi/tap/stunt
$ irm https://raw.githubusercontent.com/stuntapi/winget/main/install.ps1 | iex

then verify: stunt --version

TAKE 2

Try the demo (no config)

$ stunt demo

Boots the bundled stripe-style simulator, prints copy-pasteable curl commands, and shows stateful behavior + webhooks firing.

TAKE 3

Describe your own services

$ stunt init # writes a sample stunt.yaml
$ stunt plan # validate + preview
$ stunt up # serve on 127.0.0.1:8000

Add an adapter — every one of the 99 reference adapters ships in the binary:

services:
  stripe:
    adapter: embedded:stripe-style   # bundled, no clone
  myapi:
    adapter: ./adapters/myapi-style  # or a local dir
TAKE 4

Point your code at it

$ STRIPE_API_BASE_URL=http://127.0.0.1:8000 ./run-your-tests

State persists across requests; stunt clean resets it.

TAKE 5

Flip the weather — profiles

$ stunt profile activate launch-day # or: throttled, degraded…
$ stunt profile list # everything activatable
$ stunt profile deactivate # back to healthy

Named behavior modes, declared in YAML, switched at runtime — deterministic degraded states for retry/backoff testing. Activation is runtime-only; a restart resets it (stunt up --profile x boots with one).

services:
  stripe:
    adapter: embedded:stripe-style
    profiles:
      degraded:
        rules:
          - match: { path: /v1/** }
            when: { chance: 30 }
            respond: { status: 429 }
profiles:                # one activation assigns across services
  launch-day:
    set: { stripe: degraded, sqs: throttled }

Full reference

The complete manifest schema, CLI command reference, and the Starlark handler API live in AGENTS.md in the repo — and in-binary via stunt llm (feed it to a coding agent as cold-start context).

Every running server also serves a localhost dashboard —stunt ui opens it. Live request inspector, state browser, snapshot/restore, and an instance manager; every command has --json for agents.