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 viaCLOUDFLARE_API_TOKENfrom the environment (~/.zshrc) orwrangler login. Verify withnpx 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) andnodejs_compatis 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_URLupdate, 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.