I built a desktop app so I could stop switching between 6 tools every time I deploy a Cloudflare Worker
I kept ending up with the same messy workflow for small edge functions:
Wrangler in the terminal, the Cloudflare dashboard in one tab, Postman for testing, ChatGPT for debugging, and Terraform/Pulumi sitting somewhere half-updated.
So I built Edge Deployer, a local desktop app for writing, previewing, scanning, and deploying edge/serverless functions from one place.
What it does right now:
- Monaco editor with a local edge-runtime simulation for fetch events, KV, Request/Response, and env bindings
- Deploys to Cloudflare Workers, AWS Lambda, Vercel, Netlify, Fly.io, and Railway
- Security scanner on every keystroke for hardcoded secrets,
eval(), wildcard CORS, and similar issues - Load testing with P50/P95/P99 against a live URL
- IaC export to Pulumi, Terraform, Wrangler, or Docker + Kubernetes
- Optional Claude API assistant using the current editor code as context
- AES-256-GCM secrets vault so credentials are not stored in plaintext
The part I spent the most time hardening was the plugin system. An earlier version trusted plugins too much, and a test plugin managed to delete files it should never have touched. Plugins now run in vm.Context with an explicit permission manifest: no require, no fs, and no network unless the user approves it.
Honest limitations: the simulator is not Workerd, Durable Objects are not really executed, KV does not persist between requests yet, and the macOS build is unsigned.
Repo: https://github.com/mansoor-mamnoon/edge-deployer
I’m mainly looking for feedback from people who actually deploy Workers/Lambda/serverless functions. Is a local-first desktop workflow useful here, or would you rather this kind of tool be browser-based?