Getting Started
Prerequisites
Section titled “Prerequisites”- Bun (recommended) or Node.js 20+
- A Cloudflare account with an API token
Create a project
Section titled “Create a project”mkdir my-app && cd my-app && bun init -ymkdir my-app && cd my-app && npm init -ymkdir my-app && cd my-app && pnpm initmkdir my-app && cd my-app && yarn init -yInstall
Section titled “Install”bun add alchemy@2.0.0-beta.3 effect@4.0.0-beta.48 @effect/platform-bun@4.0.0-beta.48npm install alchemy@2.0.0-beta.3 effect@4.0.0-beta.48 @effect/platform-node@4.0.0-beta.48pnpm add alchemy@2.0.0-beta.3 effect@4.0.0-beta.48 @effect/platform-node@4.0.0-beta.48yarn add alchemy@2.0.0-beta.3 effect@4.0.0-beta.48 @effect/platform-node@4.0.0-beta.48Create your Stack
Section titled “Create your Stack”Every Alchemy program starts with a Stack — create alchemy.run.ts:
import * as Alchemy from "alchemy";import * as Cloudflare from "alchemy/Cloudflare";import * as Effect from "effect/Effect";
export default Alchemy.Stack( "MyApp", { providers: Cloudflare.providers(), }, Effect.gen(function* () { const bucket = yield* Cloudflare.R2Bucket("Bucket");
return { bucketName: bucket.bucketName, }; }),);Deploy
Section titled “Deploy”alchemy deployPlan: 1 to create + Bucket (Cloudflare.R2Bucket) Proceed? ◉ Yes ○ No ✓ Bucket (Cloudflare.R2Bucket) created { bucketName: "myapp-bucket-a1b2c3d4e5", }
That’s it — you have a live R2 Bucket on Cloudflare.