mrkeyoor.com_
Thu 24 Sept 17:22 UTC
Automationevaluationupdated 24 Sept 2026

alchemy review

Alchemy is an infrastructure-as-code framework that lets TypeScript developers define cloud resources and the application code using them in one Effect program. It handles deployment state, resource bindings, permissions, local development, and CI for AWS and Cloudflare without a separate YAML configuration layer.

Verdict

Our Alchemy checkout installed 2,494 packages and occupied 3,246 MB, then both build and test stopped because Bun 1.3.13 was absent, so a Node-only team should not adopt it casually. Effect users building on AWS or Cloudflare should trial it on a disposable stack because its typed bindings can remove real glue code. Keep production resources behind reviewed plans until the beta line and destructive provider reports have settled.

We ran it

Lab card: what happened when we ran alchemyScreenshot of alchemy (alchemy.run)
Install✓ · 167s2494 packages · 3246 MB
Build✗ · 2s
Tests✗ · 2sran, no count parsed
Repo28221 files~9,263,127 lines of source · 1632.4 MB · 6 CI workflows · tests dir

Answers from our run

Does alchemy build from source?

Dependencies installed in 167 seconds (2494 packages), and the build failed. We cloned commit 0a3a419 into a clean Debian container with 3 CPUs and no project-specific setup.

Do alchemy's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use alchemy?

Teams that do not want Effect in application and infrastructure code: the README makes Effect the programming model, not an optional adapter.

What are the alternatives to alchemy?

Pulumi, SST, Terraform. Our Alchemy checkout installed 2,494 packages and occupied 3,246 MB, then both build and test stopped because Bun 1.

Setup2/52,494 packages installed, but Bun 1.3.13 was required to proceed
Docs4/5Provider guides, tutorials, state, CI, and testing are documented
Community4/51,359 stars and a same-day push, with 250 issues and PRs open
Maturity2/5The README says alpha and the latest release is still a v2 beta

Who it’s for

TypeScript teams already comfortable with Effect and willing to use Bun for infrastructure work.
Cloudflare or AWS developers who want resources, runtime code, IAM, and typed clients in one program.
Platform teams prepared to review deployment plans and test provider behavior before production changes.
Projects that value local development and pull-request environments built from the same stack definition.

Who it’s NOT for

Teams that do not want Effect in application and infrastructure code: the README makes Effect the programming model, not an optional adapter.
Organizations requiring a stable major release for production infrastructure: the README calls Alchemy alpha, and the latest release is v2.0.0-beta.79.
Node-only build environments that cannot add Bun 1.3.13: our build and test commands both stopped because Bun was missing.
Cloudflare Container users who cannot tolerate provider edge cases: open issue 1785 reports that one replacement path can delete the live container application.
Operators seeking broad cloud coverage beyond AWS and Cloudflare today: those are the two providers the README names.

Setup reality

Our sandbox installed 2,494 packages in 167 seconds and used 3,246 MB on disk. The build failed after 2 seconds, and the test command failed after 2 seconds. Both logs said the project requires Bun 1.3.13 and stopped at bun: not found.

A real deployment also needs an AWS or Cloudflare account, the corresponding credentials, a state store, and CI secrets where automation is involved. The documented GitHub Action example uses Cloudflare account details, a Cloudflare API token, and a GitHub token.

This is a 28,221-file monorepo with about 9,263,127 source lines and no Dockerfile. It has 6 CI workflows and a tests directory, but our Node 22 image was insufficient because the repository commands use Bun directly.

Effect removes cloud glue by putting infrastructure in the program

Alchemy supports 2 cloud targets, AWS and Cloudflare, and lets you declare their resources inside the same TypeScript program as the code that uses them. Its distinctive move is a typed binding. A call such as ReadWriteBucket can connect the resource, environment value, permission, and SDK client instead of leaving those pieces in separate configuration files. If your team already writes Effect, that can make a deployment easier to follow because errors and dependencies stay in one programming model.

Within those 2 targets, the catalog covers compute, storage, messaging, databases, websites, and deployment previews. Alchemy also keeps stages separate, records resource state, detects drift, and can build CI credentials as part of a stack. That is enough for a substantial application, but it does not make Alchemy a general replacement for every Terraform provider.

Bun 1.3.13 is a required part of the toolchain

Alchemy's repository requires Bun 1.3.13 even when pnpm performs the workspace install. The getting-started path installs Alchemy, Effect release candidates, and Bun platform packages. Commands run as bun alchemy, while project scripts call Bun directly. A standard Node build image can download the full dependency tree and still be unable to compile or test the repository, which is exactly what happened in our sandbox.

The install itself was large. Commit 0a3a419 took 167 seconds to install 2,494 packages and left 3,246 MB on disk. The checkout contained 28,221 files and about 9,263,127 source lines before dependencies, with 6 CI workflow files and no Dockerfile. Teams evaluating Alchemy should pin Bun 1.3.13 in local development and CI, then budget for a monorepo-sized toolchain rather than a small command-line binary.

What happened when we ran it

Our measurement setup was a 3-CPU, 8 GB Debian sandbox using the lab-node:22 image with no secrets. In our run, we measured a 167-second install before the build stopped after 2 seconds with a warning that Bun 1.3.13 was required and the shell error bun: not found. The test command ended the same way after 2 seconds before it could run the package test target.

That result does not show a compiler defect or a failing assertion. It shows that Node 22 alone does not satisfy this repository's documented runtime assumptions. We did not install Bun after the failure, and we did not deploy cloud resources, so this run says nothing about provider correctness or deployment speed. The useful finding is practical: the package manager can finish a 3,246 MB install without catching the missing executable that both later steps need.

The beta label matters when deploys can replace live resources

Version v2.0.0-beta.79 was the latest release on September 18, 2026, and the README still calls Alchemy alpha. That release includes provider fixes alongside a new Prisma website integration. Frequent releases are good evidence of active work, but infrastructure code gets judged by what happens during replacement, deletion, and recovery. A pleasant first deploy is the easy case.

Open issue 1785 describes a Cloudflare Container replacement with an unchanged name that adopts the existing application, then deletes that same application during cleanup. The reporter says alchemy plan subsequently reports no changes while alchemy drift finds the missing resource. Issue 1807 reports another Cloudflare provider path that sends an unchanged Hyperdrive configuration again, temporarily doubling origin connections. These are specific reports, not proof that every deployment is unsafe. They are strong reasons to test the resources you use and inspect plans on production stacks.

Three credentials sit behind the short GitHub Action example

The README's GitHub Action example needs 3 credentials or identifiers: a Cloudflare account ID, Cloudflare API token, and GitHub token. AWS setup supports account credentials and CI authentication. Stages have separate state and physical names, while profiles select the intended accounts. A mistaken profile or state decision can still point a correct program at the wrong place.

For a team with 2 supported cloud providers and an existing Effect codebase, those controls may feel coherent. Everyone else must learn Effect, Bun, Alchemy's state model, and the chosen provider at once. Start with a disposable account, adopt one resource family, and exercise deploy, drift, repair, and destroy before moving an existing production stack. The feature to judge is not how short the resource declaration looks. It is whether your team can predict the plan and recover when a provider edge case reaches a live resource.

A September 24 push does not make the beta production-safe by itself

GitHub recorded a push on September 24, 2026, and showed 1,359 stars plus 250 open issues and pull requests. The repository is plainly active, and the latest release landed 6 days earlier. The combined open count is not a defect count, but it does give adopters a large queue to search for the exact AWS or Cloudflare resources they intend to manage.

Alchemy is most convincing when Effect is already a deliberate team choice. Its bindings address a real source of drift between permissions, environment variables, infrastructure, and runtime clients. The 2-second Bun failure is easy to fix in a prepared image. The harder question is whether an alpha framework should own replacement and deletion in your production account, and the current container and Hyperdrive reports make a disposable trial the sensible answer.

Alternatives

ProjectWhat it isPick it when
Pulumi gh↗A multi-cloud infrastructure platform with several supported programming languages and a mature provider ecosystem.pick this instead when provider breadth and established production use matter more than Alchemy's Effect-native runtime bindings.
SSTA TypeScript deployment framework focused on full-stack applications and developer environments.pick this instead when application deployment is the main job and your team does not want Effect as its infrastructure model.
Terraform gh↗A declarative infrastructure tool with a wide provider catalog and a separate configuration language.pick this instead when a broad provider ecosystem and familiar plan workflows outweigh the appeal of keeping infrastructure inside TypeScript.

What people are saying

  1. [github-trending] alchemy-run/alchemy

Sources

  1. Alchemy README
  2. Alchemy getting started guide
  3. Alchemy v2.0.0-beta.79 release
  4. Cloudflare Container replacement issue 1785
  5. Cloudflare Hyperdrive reconciliation issue 1807

More automation reviews

laya · prod-FARM-IOS-Core · ha_xiaomi_home · FreePEP · fragment-api-dev · undress-service · the whole board →