Documentation Index
Fetch the complete documentation index at: https://mintlify.com/denoland/celld/llms.txt
Use this file to discover all available pages before exploring further.
celld deploy packages a Wrangler project — your JavaScript bundle and any
static assets — and writes the result to your fleet bucket. Every running node
watches the bucket and loads the latest deployment automatically. You do not
need to restart nodes or push to each machine individually.
Prerequisites
Asset-only projects (no
main entry, only an assets directory) do not
require esbuild. You can skip the esbuild installation step for those.esbuild must be on your PATH before
running celld deploy. The deploy command invokes esbuild internally to bundle
your entry module into a single file.
Install esbuild with npm or a standalone binary:
celld deploy at a specific binary with the CELLD_ESBUILD
environment variable:
Deploy a project
Runcelld deploy from the root of your Wrangler project directory, passing
the same bucket settings you use to start a node:
. for the current
directory). The three flags map to the same environment variables used by
celld itself, so if those variables are already exported you can omit the
flags:
Supported wrangler.jsonc keys
celld deploy accepts wrangler.jsonc or wrangler.json. It does not
accept wrangler.toml.
The supported keys are:
| Key | Description |
|---|---|
name | The name of the Worker. Used as the application identifier inside the fleet. |
main | Path to the Worker entry module. Required for projects that contain Worker code; can be omitted for asset-only projects. |
compatibility_date | Sets the Workers compatibility date, e.g. "2026-01-01". Controls which compatibility-gated behaviours are active. |
compatibility_flags | Array of compatibility flag strings, e.g. ["js_rpc"]. celld honours the flags it models; unknown flags are accepted without effect. |
durable_objects | Object with a bindings array. Each entry has name (the binding name in env) and class_name (the exported class). |
migrations | Array of migration objects. Each object has a tag string and a new_sqlite_classes array listing class names that receive a SQLite storage namespace on first activation. |
assets | Object that describes the static-asset directory. Sub-keys: directory (path on disk), binding (env name for the asset fetcher), html_handling (e.g. "auto-trailing-slash"), not_found_handling (e.g. "404-page"), run_worker_first (boolean — route every request through the Worker before serving an asset). |
services | Array of service-binding objects. Each entry has binding (env name) and service (the target Worker name). |
vars | Object of plain-text environment variables exposed to the Worker as env.*. |
Example: counter application
The followingwrangler.jsonc is from the bundled counter example. It
registers a Durable Object class and adds a migration that provisions SQLite
storage on first use:
Unsupported keys
The following keys are explicitly not supported bycelld deploy:
| Key | Reason |
|---|---|
routes | Cloudflare platform routing; celld’s ingress is handled at the load-balancer or proxy layer. |
kv_namespaces | Workers KV is a separate consistency model not provided by celld. |
triggers | Cron triggers and other platform-level triggers are not available. |