Eden deploys an existing Vercel Eve project to your own Cloudflare account through one CLI.
Eden installs the project's pinned pnpm lockfile, runs its project-local Eve executable, packages the real Node/Nitro server into a Cloudflare Container, and publishes a generic Worker in front of it. Eve remains the application and workflow authority; Deploy never rewrites the Eve project or silently replaces its providers and services.
Use npm:
npm install --global @moinulmoin/eden@0.2.0Or pnpm:
pnpm add --global @moinulmoin/eden@0.2.0Or Bun:
bun add --global @moinulmoin/eden@0.2.0Confirm the installation:
eden --helpUsers install only @moinulmoin/eden; its companion packages are resolved
automatically. Bun is supported as an installer only. Node >=24.17.0 remains
the Eden runtime, so do not force the CLI through bunx --bun.
-
macOS or Linux
-
Node
>=24.17.0 -
a Cloudflare account on the Workers Paid plan (required for Containers)
-
Wrangler authentication:
npx wrangler@4.120.0 login
-
Docker or OrbStack with Linux/amd64 container support
-
an existing Eve project with an exact
packageManager: "pnpm@..."entry -
the matching root
pnpm-lock.yaml -
just-bashas a production dependency (pnpm add just-bash). Eve's default sandbox needs it inside Eden's builder, andeve initdoes not add it. -
the providers, credentials, databases, Workflow World, and external services already required by the Eve project
Eden Deploy supports pinned pnpm Eve projects in this release. Bun project lockfiles and native Windows are not currently supported.
From inside the Eve project:
npx @moinulmoin/eden deployWith no flags, deploy uses the current directory, the preview environment,
and a target name derived deterministically from the project's package.json
name. Deploy performs all required checks inline. A separate preflight is
optional.
Explicit selectors still work, and --name is required for --env production and destroy:
eden deploy \
--project ./my-eve-app \
--env preview \
--name my-eve-previewA successful deployment prints progress lines followed by a summary with the
target, the Eve version, and the public workers.dev URL on its own line. The
authored Eve directory is unchanged. All three commands accept --json for
the machine-readable result object.
If the project needs runtime values, provide an explicit environment file outside source control:
eden deploy \
--project ./my-eve-app \
--env preview \
--name my-eve-preview \
--env-file ~/.config/my-eve-app/preview.envEden passes values through its protected deployment path. Values are not placed in command arguments, image layers, generated artifacts, or normal logs.
Run the optional read-only diagnostic when troubleshooting:
eden preflight \
--project ./my-eve-app \
--env preview \
--name my-eve-previewRemove the exact deployment when finished:
eden destroy --name my-eve-previewDestroy always requires an explicit --name. It also requires Eden's
immutable ownership record, verifies the current remote identity, and never
broadens cleanup to similarly named resources.
The Eve project remains responsible for its:
- model providers and credentials
- databases, queues, and external APIs
- channels, schedules, authentication, and authorization
- sandbox and Workflow World
- Container disk and process memory are wiped when the Container sleeps.
Durable state needs a project-configured, Cloudflare-reachable Workflow
World such as Postgres (for example
@workflow/world-postgres). - Schedules do not fire while the Container sleeps.
- One logical Container instance (
basic, 1 GiB); no horizontal scaling or custom domains in this release.
| Command | Purpose |
|---|---|
eden preflight |
Inspect an Eve candidate without remote mutation |
eden deploy |
Deploy an existing Eve project to one exact target |
eden destroy |
Remove one exact Eden-owned Eve deployment |
Run eden <command> --help for command-specific options.
The repository is a pnpm workspace with TypeScript project references. It works without Turbo or Turborepo.
corepack enable
pnpm install --frozen-lockfile
pnpm run build
pnpm run typecheck
pnpm run lint
pnpm run testAfter the build, invoke the source-checkout CLI with:
node packages/cli/dist/index.js --help- Documentation index: find every guide
- Installation: Node, npm/pnpm/Bun, Cloudflare, containers, updates, uninstallation, and PATH problems
- Eden Deploy: complete existing-Eve preview deployment, verification, exact cleanup, durability, and current limits
- Validation: maintainer runbook for the Eve compatibility gate and deployed cleanup checks
Apache-2.0. See LICENSE and NOTICE for the
Cloudflare Containers attribution.
