Cloudflare
An alchemy app on Cloudflare is one Worker runtime plus the
resources it talks to — databases, object storage, queues,
stateful objects — all declared in the same TypeScript program and
wired together by typed bindings. Deploy the whole thing with
bun alchemy deploy; Alchemy figures out what changed.
New here? Set up your account, then start the tutorial.
Compute
Section titled “Compute”- Workers — the compute runtime; every app has at least one.
- Durable Objects — globally-unique stateful instances with transactional storage and typed RPC.
- Containers — long-lived processes and arbitrary runtimes, paired with a Durable Object for typed RPC.
- Workflows — durable multi-step jobs with checkpointed, replayable steps.
Frontend
Section titled “Frontend”- Vite — deploy any pure-Vite app (SPAs, TanStack Start, React Router, SolidStart) as a Worker with assets.
- Static sites — any build command’s static output, including frameworks Vite doesn’t cover yet.
- D1 — serverless SQLite with migrations managed as part of the deploy.
- KV — edge key-value storage for config, sessions, and cached lookups.
- R2 — object storage with read/write-scoped bindings.
- Hyperdrive — edge connection pooling for external Postgres and MySQL.
Messaging
Section titled “Messaging”- Queues — at-least-once message delivery between Workers.
Networking
Section titled “Networking”- Domains & DNS — zones, DNS records, and zone settings as resources; adopt the domains you already own.
- Email — route inbound mail on a zone you own and send from Workers.
Security & secrets
Section titled “Security & secrets”- Secrets & env — bind
.envvalues and secrets into your Workers.
What are you building?
Section titled “What are you building?”| App shape | Stack |
|---|---|
| HTTP API | Worker + D1 — see Effect HTTP API |
| Call one Worker from another (internal RPC) | Worker — see Schemaless RPC and the concept |
| Typed API for external clients | Effect RPC for Effect clients, Effect HTTP API for plain HTTP |
| Real-time / WebSockets | Durable Objects — see Accept WebSockets |
| Full-stack app | Worker + a React SPA — see Add a React SPA or Frontend frameworks |
| Background jobs | Queues |
| Postgres-backed API | Hyperdrive + Drizzle |
| Durable multi-step jobs | Workflows |
| AI apps | AI Gateway, Effect AI, AI Search |
| App on your own domain | Domains & DNS — see Custom domains & routes |
| Production observability | Ship Worker telemetry to Axiom |
For frontends, alchemy is Workers-first: Pages resources exist, but static assets served from a Worker is the recommended path.
Where next
Section titled “Where next”- Setup — install alchemy and connect your Cloudflare account.
- Tutorial — from empty directory to a deployed Worker with tests, stages, and CI.
- Custom domains & routes — put your Worker on a domain you own.
- Ship Worker telemetry to Axiom — datasets, ingest tokens, and monitors in the same Stack as the Worker.
- API reference — every Cloudflare resource and binding.
Everything else
Section titled “Everything else”The blocks above are what most apps are built from, but coverage goes much further: the zero-trust and zone-security long tail — roughly 60 more services, produced by the resource factory — ships as reference-only documentation in the API reference.