Set up a productive local loop - env vars, tunneling webhooks to localhost, fixtures, and seed data.
Everything you need to develop against Meridian without deploying.
MERIDIAN_API_KEY=mrnd_test_4f8e2c1a9b7d3e5f6a0c
WEBHOOK_SECRET=whsec_your_signing_secrettest keys locally - never .env a mrnd_live_ key.MERIDIAN_API_KEY automatically when no key is passed.Endpoints in test accept non-HTTPS tunnel URLs - expose your local server:
ngrok http 3000
# → https://a1b2c3.ngrok.appcloudflared tunnel --url http://localhost:3000
# → https://random-words.trycloudflare.commeridian listen --forward localhost:3000/webhooks/meridian
# built-in tunnel + live delivery logRegister the tunnel URL as a test endpoint - then every test event hits your local handler in real time.
The meridian CLI is the fastest local loop:
meridian listen --forward localhost:3000/webhooks/meridian # tunnel + tail
meridian events tail --project prj_9kLm2xVb7nQe # live event feed
meridian simulate event --type project.updated # fire a test event
meridian projects list # quick API callsmeridian listen prints each delivery (payload, headers, your response status) - the local equivalent of the dashboard's delivery log.
For repeatable setups, keep fixtures in your repo:
{
"name": "dev-fixture",
"region": "us-east",
"metadata": { "purpose": "local-dev" }
}meridian projects create --file fixtures/project.json
meridian simulate event --type project.updated --project <id>The examples repo ships ready-made fixtures for every event type under fixtures/.
live; your local key is test. Check the environment.meridian listen which keeps a stable address while running.