Emulate (Vercel-labs)
Local, fully-stateful, production-fidelity API emulation for CI and no-network sandboxes - "not mocks." One
npx emulatestands 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 |
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; repomainis1e4b71a, public tags still stop atv0.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.emulateREADME listed Twilio on port4013. 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,mainHEAD830fbd7, 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 releasev0.8.0, HEAD830fbd7f7eb6f6b23e714b29df9d533957b13bc8; 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