Skip to content

fate

Last updated View as MarkdownAgent setup

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

Was this helpful?