Skip to content

Packages Overview

DelightStack’s backend packages are for building full-stack apps on Cloudflare Workers. Each package is edge-native, built on Durable Objects, and designed to work together — but every one of them stands on its own.

  • Durable Objects everywhere. Each package’s server lives in a Durable Object, giving you a single-writer model — one instance handles all writes for a given key, so there are no race conditions. SQLite provides durable, transactional storage inside the DO.
  • Edge-native. No external database, queue, or cache to provision. Everything runs on Cloudflare’s network, close to your users.
  • Reactive Svelte 5 clients. auth, database, websocket, ai, and stripe ship a client built on Svelte 5 runes ($state/$derived) with off-thread workers and optimistic updates.
  • SvelteKit handles. Most packages expose a create*Handle() that plugs into SvelteKit’s handle hook, wiring API routes, auth, and CSRF for you.
  • DelightError for errors. Every package throws the single DelightError class from @delightstack/utilities for consistent, serializable error responses.

Unlike the component library, these packages assume a specific Cloudflare Workers + Durable Objects topology: you re-export the DO classes from a Worker, declare them in wrangler.toml with migrations, and bind them into your app. The Architecture page explains that wiring, and the example app is the canonical reference for putting it all together.

  • Architecture — Durable Object topology, bindings, and migrations
  • Quick Start: Full Stack — stand up the example app end-to-end
  • Pick a package from the sidebar to go deep