Guild

Ops — Deploying (Cloudflare Pages)

Current mechanism (verified 2026-08-06): the Cloudflare Pages project `guild` exists and serves guild.pages.dev. Production deploys are manual `wrangler` dep…

Current mechanism (verified 2026-08-06): the Cloudflare Pages project guild exists and serves guild.pages.dev. Production deploys are manual wrangler deploys from a local build — git-source auto-deploy is not connected (the repo is private), so nothing deploys by itself.

Deploy status as of this writing: one live manual deploy of main (~05:20 PT), with /login and /dashboard returning 200. The root path / returns 404 "Not Found" on the edge — a known pass-12 code fix (the root page falls through on the edge runtime). The custom-domain step (pass 13) is still open and human-gated.

Prerequisites

  • wrangler (v4.x) — authenticated via CLOUDFLARE_API_TOKEN from the environment (~/.zshrc) or wrangler login. Verify with npx wrangler whoami.
  • The Cloudflare Pages project env vars are set in the dashboard (all eight: DATABASE_URL, both Clerk keys, RESEND_API_KEY, NEXT_PUBLIC_APP_URL, NEXT_PUBLIC_APP_NAME, both feature flags) and nodejs_compat is on.

Deploy steps

# 1. Build the Pages artifact (output: .vercel/output/static)
npx @cloudflare/next-on-pages@1        # must exit 0 (pass 9 gate)
 
# 2. Deploy that directory to the project
npx wrangler pages deploy .vercel/output/static \
  --project-name guild --branch main

Then verify the live URL loads and run the pass-10 smoke checklist on it — a claimed deploy without a live-URL check fails the deploy gate (pass 12 gate rule: visual verification mandatory).

Env-var changes (e.g. key rotation)

Update the variables in the Cloudflare Pages dashboard (Workers & Pages → guild → Settings → Environment variables), then re-deploy with the steps above. New variables take effect on the next deployment.

Why manual deploys?

Git auto-deploy is not connected because the repository is private and the dashboard connect step is a human action (plan §D row 4). Until Amantu connects the repo, the deploy mechanism is exactly the manual wrangler command above.

Open items

  • / 404 on edge — real code fix (root page falls through); slated for pass 12 once unblocked.
  • Custom domain — pass 13 (optional, human-gated): CF Pages custom domain, then NEXT_PUBLIC_APP_URL update, then Clerk production keys and Resend domain verification.
  • npm audit criticals — to be resolved at the pass 12 deploy gate.

Coming in pass 12/13 once the human blockers clear: the deploy runbook above becomes the automated/verified path with live smoke screenshots.

On this page