DeployKit

Deploy from your backend

Prepare files, deploy them, and keep control of your publishing workflow.

deploykit uploads prepared websites to Vercel or Cloudflare Pages. Use it in a script, a server, or a background worker. Your application decides what to publish, stores the result, and checks that the deployed application works.

Start here

Your goalRead next
Deploy a Vercel site from JavaScript or TypeScriptVercel quickstart
Deploy a Cloudflare Pages sitePages quickstart
Use deploykit inside an Effect applicationEffect integration
Understand the API before integratingAPI overview
Add deployment to an existing publishing systemPublishing workflow

Install the alpha packages first, then follow the guide for your provider.

Choose an API

PromiseEffect
Package@deploykit/node@deploykit/core plus an adapter
EntrycreateClientDeploykit.Deploykit service
Executionawaityield* in Effect.gen
FailureOriginal tagged error is thrownTyped error channel
CancellationAbortSignalFiber interruption or timeout
Lifetimeclose() in finallyEnclosing layer/runtime scope

Both APIs use the same adapters. Choose Promise when the rest of your application uses async/await; choose Effect when you want deployment in your existing service graph. The transfer path runs on Node or Bun. Control-plane imports can run separately in lightweight coordinators.

Follow one publish

  1. Prepare: your build or composer produces a provider-compatible directory or manifest.
  2. Create: deploykit validates inputs, negotiates cached content, uploads missing bytes and returns a receipt.
  3. Observe: you persist the receipt and poll provider status with a deadline.
  4. Verify: you check serving availability and run your own application checks.
  5. Activate: on providers that support it, you explicitly switch the active deployment.

Creation, provider readiness, HTTP serving and active routing are different facts. The guides keep these steps visible rather than hiding them in a single “publish succeeded” result.

Choose a provider

CapabilityVercelCloudflare Pages
InputVercel Build Output treeWebsite files at the root
Preview deploymentYesYes, requires previewBranch
Create without activating productionactivation: "deferred"Unsupported
Explicit activation and reconciliationYesUnsupported
Access settingsPublic, SSO, password; plan restrictions applyNo SDK access-control operation
Large file pathStaged streaming; default maximum 100,000,000 bytesStatic assets up to 25 MiB

Switching adapters does not convert your artifact or grant another provider's capabilities. See limits and the provider references.

What stays in your application

Your application owns artifact storage, snapshots, tenant authorization, database writes, workflow scheduling, generated configuration and application-specific checks. Convex and Vercel Fluid are one possible split, not requirements of deploykit.

API version: 0.1.0-alpha.1. Node 22.19 or newer; Effect integrations use exactly 4.0.0-rc.112. See troubleshooting before diagnosing a publish.

Last updated on

On this page