Infrastructure as Effects. Cloud resources and the application code that uses them live in one type-safe Effect program in TypeScript, across Cloudflare, AWS, GCP, Kubernetes, Fly, Neon, PlanetScale, Stripe and more.
Other IaC tools split an app into two programs, one for the infrastructure and one for the code. In Alchemy a Layer owns both. You declare an R2 bucket and a Worker in the same file, and Cloudflare.R2.ReadWriteBucket(Uploads) adds the Worker binding at deploy time and returns a typed client at runtime. On AWS, AWS.S3.GetObject(bucket) wires the IAM policy, the env var and the SDK call in one line. Cloud API failures come back as tagged Effect errors.
Local dev, plan / deploy, smoke tests and CI share the same program. A GitHub Action deploys prod from main, creates PR previews as staging-{number} and tears them down when the PR closes. For agents there's an llms.txt docs index and a bootstrap prompt in the README.
Third parties are writing providers for it, like Joel Hooks' alchemy-tailscale for Tailscale ACLs, auth keys and DNS, and Maple's telemetry, alerts and dashboards. v2 is in beta with breaking changes expected. Apache-2.0. Repo: alchemy-run/alchemy.