Emulate (Vercel-labs)

Local, fully-stateful, production-fidelity API emulation for CI and no-network sandboxes - "not mocks." One npx emulate stands up drop-in replacements for Vercel, GitHub, Google, Slack, Apple, Microsoft, Okta, AWS, Resend, Stripe, MongoDB Atlas, Clerk, Linear, and Twilio.

What it is

vercel-labs/emulate runs local drop-in replacement services for CI and no-network sandboxes, with stateful, production-fidelity API behavior rather than hand-written mocks. Zero config — every service starts with sensible defaults: Source: vercel-labs/emulate README, https://github.com/vercel-labs/emulate, 2026-06-12

Service Default port
Vercel 4000
GitHub 4001
Google 4002
Slack 4003
Apple 4004
Microsoft 4005
Okta 4006
AWS 4007
Resend 4008
Stripe 4009
MongoDB Atlas 4010
Clerk 4011
Linear 4012
Twilio 4013
npx emulate                          # start all services (zero-config)
npx emulate --service vercel,github  # subset
npx emulate init --service vercel    # generate a seed config

A seed config (--seed) makes runs deterministic/seedable, and a programmatic createEmulator API starts a single service in-process. Source: vercel-labs/emulate README, https://github.com/vercel-labs/emulate, 2026-06-12

Current Source Snapshot

Current check on 2026-07-03: emulate is an Apache-2.0 Vercel Labs repo with npm package emulate@0.9.0, published 2026-07-03. GitHub main is 1e4b71a1da6e8c937318958bebf03bcb87d61dd5, with 1,488 stars and 93 forks at review. Public Git tags still stop at v0.8.0, so npm is the current package-version authority until a matching tag appears. Source: GitHub vercel-labs/emulate, npm registry, GitHub API, and git ls-remote, 2026-07-03

Vercel Blob emulator

The 2026-06-11 bookmark is the Vercel Blob-specific lane inside emulate: upload tests can point the normal @vercel/blob SDK at a local emulator via VERCEL_BLOB_API_URL, avoiding a real blob store, dashboard setup, cleanup jobs, credentials, and network flake. The screenshot shows a local file-sharing demo running on vercel-blob-sharing.emulate.localhost, which is the practical proof: application UI can exercise upload/share/delete flows against local state. Source: X/@ctatedev, 2026-06-11

The Stripe emulator skill

The capability that drove the bookmark: a Stripe emulator added to emulate (credited to Matt Van Horn). It works offline with no account, is stateful and seedable, ships a hosted checkout page and webhooks, embeds in your app, and works in CI with no secrets — installable as a skill: Source: X/@ctatedev, 2026-04-29

npx skills add vercel-labs/emulate --skill stripe

This is the offline, deterministic counterpart to real Stripe test mode — useful when hardening webhook handlers (see Frontend and Design Skills) without hitting the network or managing secrets.

The reviewed video frames show an emu store demo running at stripe-checkout.emulate.localhost: product browsing, an Emulate Hoodie product page, bag/checkout, a green Stripe Emulator checkout form, and a final order-confirmation page with a paid session. This matters because the skill exercises app-level checkout and confirmation flows, not just API-shaped mock responses. Source: local contact sheet /tmp/xreview-frames/2049350311106511178.jpg, reviewed 2026-07-01

Twilio emulator

Twilio support extends the same offline/CI/agent pattern to communication flows. Chris Tate's 2026-06-25 announcement says the Twilio emulator covers SMS, calls, Verify, Conversations, and inspector state, with a Next.js example. This matters because phone verification, SMS notifications, and conversation flows are usually awkward to test in no-network sandboxes. Source: X/@ctatedev, 2026-06-25; Source: GitHub README, 2026-06-25

The reviewed thumbnail shows a minimal phone-verification UI with +15555550123 and a "Send verification code" button. The durable signal is not the form design; it is that a normal app-level Verify flow can be exercised locally against Twilio-shaped emulator state, with no real SMS charge, phone-number provisioning, dashboard setup, or network dependency. Source: local X image artifact, 2026-06-30

HTTPS via Portless

emulate --portless integrates with Portless (same Vercel Labs / Chris Tate lineage) to serve each emulator over trusted HTTPS with auto-generated certs — e.g. github.emulate.localhost — registering and tearing down aliases automatically. Source: vercel-labs/emulate README, https://github.com/vercel-labs/emulate, 2026-06-12

Where it fits Kevin's stack

emulate overlaps with Floci (single-binary AWS emulation) but is broader — multi-vendor SaaS APIs (GitHub/Google/Slack/Stripe/…) for CI and Agent Sandboxes where no outbound network is allowed. For agent workflows it means deterministic, secret-free integration tests against production-shaped APIs; pairs naturally with Portless for HTTPS and with Kevin's heavy Stripe/Vercel surface.

The local skill decision is to fold emulate into existing testing, sandbox, and provider-specific skills rather than create a generic emulate skill yet. Create or extend a focused skill only when a real project needs repeatable local API setup, such as Vercel Blob uploads, Stripe checkout/webhooks, Twilio Verify/SMS, or GitHub/Linear workflow tests.


Timeline

  • 2026-07-03 | Refreshed source authority after the C.Tate agent-loop toolchain row: npm is now emulate@0.9.0, published 2026-07-03; repo main is 1e4b71a, public tags still stop at v0.8.0. Source: X/@ctatedev, 2026-06-21; Source: GitHub/npm, 2026-07-03
  • 2026-06-25 | Twilio emulator announced for emulate: SMS, calls, Verify, Conversations, inspector state, and a Next.js example. emulate README listed Twilio on port 4013. Source: X/@ctatedev, 2026-06-25; Source: GitHub README
  • 2026-07-01 | Deep-reviewed the Stripe Emulator video frames and refreshed source authority: npm/release still 0.8.0, main HEAD 830fbd7, 1,485 stars, 93 forks. Source: X/@ctatedev, 2026-04-29; Source: GitHub/npm/local contact sheet, 2026-07-01
  • 2026-06-30 | Deep-reviewed the Twilio thumbnail and source state. Current source authority remains emulate@0.8.0, GitHub release v0.8.0, HEAD 830fbd7f7eb6f6b23e714b29df9d533957b13bc8; the thumbnail proves the local Verify/SMS test surface. Source: X bookmark artifact audit, 2026-06-30
  • 2026-06-30 | Deep-reviewed the Vercel Blob emulator bookmark and local demo screenshot; recorded emulate@0.8.0, source HEAD, package authority, and the decision to create provider-specific setup skills only after a project needs the repeatable flow. Source: X bookmark artifact audit, 2026-06-30
  • 2026-04-29 | @ctatedev announced the Stripe emulator skill on vercel-labs/emulate: offline, no account, stateful, hosted checkout, webhooks, embeddable, seedable, CI-with-no-secrets — Stripe added by @mvanhorn. 620 likes, 489 bookmarks. Source: X/@ctatedev, 2026-04-29
  • 2026-06-12 | Page created from X-bookmark absorption (2049350311106511178); service list, CLI, and Portless integration sourced from the vercel-labs/emulate README. Source: x-bookmark-absorb, 2026-06-12