Context
Deploying {{project_name}} ({{project_type}}) to Cloudflare (Pages or Workers). You will follow a strict 6-phase Deployment Lifecycle Contract.
Instructions
Execute the following phases in order:
Phase 1: Authentication
- Ensure the
CLOUDFLARE_API_TOKENenvironment variable is set to a valid Cloudflare API Token. - If running locally, you may authenticate interactively with
npx wrangler login. However, for automated agents, ensure the token is provided. - Validate by running
npx wrangler whoami.
Phase 2: Build
- Prepare the artifacts for deployment.
- If Cloudflare Pages (Frontend): Run your framework's build command (e.g.,
npm run buildoryarn build) to generate the output directory (e.g.,dist/orout/). - If Cloudflare Workers (Backend/Edge API): Run
npm run buildif your project requires transpilation (e.g., TypeScript). Wrangler may handle this automatically if configured.
Phase 3: Install / Provisioning
- Ensure the target Cloudflare resources exist.
- Check for
wrangler.toml(for Workers) orwrangler.json(for modern Workers). Ensure thenamefield matches the intended project name. - If it's a new project, ensure the necessary Cloudflare resources (KV namespaces, D1 databases, R2 buckets) are declared and provisioned if required.
Phase 4: Deploy
- Ship the artifact to Cloudflare.
- Cloudflare Pages: Run
npx wrangler pages deploy <output-directory> --project-name <PROJECT_NAME>. - Cloudflare Workers: Run
npx wrangler deploy.
Phase 5: Checking
- Verify the deployment was successful.
- After a successful deploy, Wrangler outputs a URL (e.g.,
https://<PROJECT_NAME>.pages.devorhttps://<WORKER_NAME>.<SUBDOMAIN>.workers.dev). - Use
curl -sSf <URL>to ensure the application returns a 200 OK status code. If it fails, usenpx wrangler tailto inspect logs.
Phase 6: Update / Rollback
- If Phase 5 fails, immediately initiate a rollback.
- Cloudflare Workers: Rollback using
npx wrangler rollback <VERSION_ID>. You can find versions usingnpx wrangler deployments list. - Cloudflare Pages: Re-deploy the previous commit hash by finding the deployment ID in the Cloudflare dashboard or checking git history and re-running the deploy command on that commit.
- Note the failure in the progress log.
Validation
- Cloudflare authentication (
wrangler whoami) succeeds. - Build succeeds.
- Artifacts are deployed.
- Health check (curl) returns 200 OK.