Skip to main content

fate

fate is a modern data client for the web inspired by Relay and GraphQL. It combines view composition, normalized caching, data masking, Async React features, and type-safe data fetching.

Deploy fate directly to your own Cloudflare account with Void. The Void template includes the app, D1 database, Drizzle migrations, Better Auth, and live updates through void-fate and void/live.

Prerequisites

You need Node.js 24+ and Vite+.

Deploy a new fate application on Workers

  1. Create a new fate app with Vite+.

    vp create fate -- my-app --template void
    cd my-app

    Add --framework vue to the create command to use Vue instead of React.

  2. Set up Void local files, seed the local database, and prepare fate client support.

    vp run dev:setup
  3. Start the app.

    vp run dev

    The app runs at http://localhost:6001.

  4. Deploy directly to your own Cloudflare account.

    From the project root:

    vp exec void deploy --platform cloudflare

    Void signs you into Cloudflare when needed, lets you select your account, provisions resources, applies checked-in database migrations, and deploys the app. It saves resource IDs in the root wrangler.jsonc; commit that updated config for subsequent deployments. A Void platform account is not required.

Live updates

The template includes the VOID_LIVE Durable Object binding and its class migration. Keep them in wrangler.jsonc so live subscriptions can receive updates across requests. RPC requests use /fate, and live updates use /fate-live.

Database migrations

After changing your database schema or auth configuration, run vp run db:generate, review and commit the generated migrations, then deploy. The migrations must include the Better Auth schema used in production.

See Void's Cloudflare deployment guide for custom domains, secrets, and CI configuration.

Next steps