celld: Durable Objects Without Cloudflare
celld is Deno's answer to a question that got urgent this week: what if you want Cloudflare's Durable Objects without Cloudflare? The repo hit GitHub trending for the third time in a week — +432 stars today, 2.5k total, Rust, Apache 2.0.
The architecture is aggressively simple. Every object is its own SQLite database, addressed by name. State replicates continuously to any S3-compatible storage. Nodes coordinate ownership purely through compare-and-swap on the shared bucket — no control plane, no consensus protocol, no etcd, no Kubernetes. When a cell migrates or a node dies, the new owner restores the database from S3 and resumes. Idle cells hibernate. It even runs your existing Wrangler bundles in embedded V8, so Workers code ports over.
Why this matters for agents: durable per-entity state is quietly becoming THE agent infrastructure primitive. Cloudflare just spent Agents Week building its agent stack on Durable Objects — cloudflare/computer gives every agent a virtual filesystem backed by exactly this model. One object per agent, with its own database and lifecycle, turns out to be the right shape for long-running agents in a way that shared Postgres never was. celld takes that shape out of one vendor's cloud and makes it something you can run on your own boxes with a bucket.
And then there's the detail that captures the moment: the repo has pull requests disabled. Reason given: "Coding agents make it too easy to send a large, low-context change." The team building infrastructure FOR agents doesn't want contributions FROM agents. Same week Oracle banned AI-generated code from OpenJDK. The people closest to the tooling are drawing the sharpest lines around it — that tension is going to define open source maintainership for the next few years.
Repo: github.com/denoland/celld
← Back to all articles
The architecture is aggressively simple. Every object is its own SQLite database, addressed by name. State replicates continuously to any S3-compatible storage. Nodes coordinate ownership purely through compare-and-swap on the shared bucket — no control plane, no consensus protocol, no etcd, no Kubernetes. When a cell migrates or a node dies, the new owner restores the database from S3 and resumes. Idle cells hibernate. It even runs your existing Wrangler bundles in embedded V8, so Workers code ports over.
Why this matters for agents: durable per-entity state is quietly becoming THE agent infrastructure primitive. Cloudflare just spent Agents Week building its agent stack on Durable Objects — cloudflare/computer gives every agent a virtual filesystem backed by exactly this model. One object per agent, with its own database and lifecycle, turns out to be the right shape for long-running agents in a way that shared Postgres never was. celld takes that shape out of one vendor's cloud and makes it something you can run on your own boxes with a bucket.
And then there's the detail that captures the moment: the repo has pull requests disabled. Reason given: "Coding agents make it too easy to send a large, low-context change." The team building infrastructure FOR agents doesn't want contributions FROM agents. Same week Oracle banned AI-generated code from OpenJDK. The people closest to the tooling are drawing the sharpest lines around it — that tension is going to define open source maintainership for the next few years.
Repo: github.com/denoland/celld
Comments