{"content": "---\nname: cloudflare-deploy\ndescription: Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.\nauthor: openai\n---\n\n# Cloudflare Deploy\n\nConsolidated skill for building on the Cloudflare platform. Use decision trees below to find the right product, then load detailed references.\n\n## Prerequisites\n\n- When sandboxing blocks the deployment network calls, rerun with `sandbox_permissions=require_escalated`.\n- The deployment might take a few minutes. Use appropriate timeout values.\n\n## Authentication (Required Before Deploy)\n\nVerify auth before `wrangler deploy`, `wrangler pages deploy`, or `npm run deploy`:\n\n```bash\nnpx wrangler whoami # Shows account if authenticated\n```\n\nNot authenticated? → `references/wrangler/auth.md`\n- Interactive/local: `wrangler login` (one-time OAuth)\n- CI/CD: Set `CLOUDFLARE_API_TOKEN` env var\n\n## Quick Decision Trees\n\n### \"I need to run code\"\n\n```\nNeed to run code?\n├─ Serverless functions at the edge → workers/\n├─ Full-stack web app with Git deploys → pages/\n├─ Stateful coordination/real-time → durable-objects/\n├─ Long-running multi-step jobs → workflows/\n├─ Run containers → containers/\n├─ Multi-tenant (customers deploy code) → workers-for-platforms/\n├─ Scheduled tasks (cron) → cron-triggers/\n├─ Lightweight edge logic (modify HTTP) → snippets/\n├─ Process Worker execution events (logs/observability) → tail-workers/\n└─ Optimize latency to backend infrastructure → smart-placement/\n```\n\n### \"I need to store data\"\n\n```\nNeed storage?\n├─ Key-value (config, sessions, cache) → kv/\n├─ Relational SQL → d1/ (SQLite) or hyperdrive/ (existing Postgres/MySQL)\n├─ Object/file storage (S3-compatible) → r2/\n├─ Message queue (async processing) → queues/\n├─ Vector embeddings (AI/semantic search) → vectorize/\n├─ Strongly-consistent per-entity state → durable-objects/ (DO storage)\n├─ Secrets management → secrets-store/\n├─ Streaming ETL to R2 → pipelines/\n└─ Persistent cache (long-term retention) → cache-reserve/\n```\n\n### \"I need AI/ML\"\n\n```\nNeed AI?\n├─ Run inference (LLMs, embeddings, images) → workers-ai/\n├─ Vector database for RAG/search → vectorize/\n├─ Build stateful AI agents → agents-sdk/\n├─ Gateway for any AI provider (caching, routing) → ai-gateway/\n└─ AI-powered search widget → ai-search/\n```\n\n### \"I need networking/connectivity\"\n\n```\nNeed networking?\n├─ Expose local service to internet → tunnel/\n├─ TCP/UDP proxy (non-HTTP) → spectrum/\n├─ WebRTC TURN server → turn/\n├─ Private network connectivity → network-interconnect/\n├─ Optimize routing → argo-smart-routing/\n├─ Optimize latency to backend (not user) → smart-placement/\n└─ Real-time video/audio → realtimekit/ or realtime-sfu/\n```\n\n### \"I need security\"\n\n```\nNeed security?\n├─ Web Application Firewall → waf/\n├─ DDoS protection → ddos/\n├─ Bot detection/management → bot-management/\n├─ API protection → api-shield/\n├─ CAPTCHA alternative → turnstile/\n└─ Credential leak detection → waf/ (managed ruleset)\n```\n\n### \"I need media/content\"\n\n```\nNeed media?\n├─ Image optimization/transformation → images/\n├─ Video streaming/encoding → stream/\n├─ Browser automation/screenshots → browser-rendering/\n└─ Third-party script management → zaraz/\n```\n\n### \"I need infrastructure-as-code\"\n\n```\nNeed IaC? → pulumi/ (Pulumi), terraform/ (Terraform), or api/ (REST API)\n```\n\n## Product Index\n\n### Compute & Runtime\n| Product | Reference |\n|---------|-----------|\n| Workers | `references/workers/` |\n| Pages | `references/pages/` |\n| Pages Functions | `references/pages-functions/` |\n| Durable Objects | `references/durable-objects/` |\n| Workflows | `references/workflows/` |\n| Containers | `references/containers/` |\n| Workers for Platforms | `references/workers-for-platforms/` |\n| Cron Triggers | `references/cron-triggers/` |\n| Tail Workers | `references/tail-workers/` |\n| Snippets | `references/snippets/` |\n| Smart Placement | `references/smart-placement/` |\n\n### Storage & Data\n| Product | Reference |\n|---------|-----------|\n| KV | `references/kv/` |\n| D1 | `references/d1/` |\n| R2 | `references/r2/` |\n| Queues | `references/queues/` |\n| Hyperdrive | `references/hyperdrive/` |\n| DO Storage | `references/do-storage/` |\n| Secrets Store | `references/secrets-store/` |\n| Pipelines | `references/pipelines/` |\n| R2 Data Catalog | `references/r2-data-catalog/` |\n| R2 SQL | `references/r2-sql/` |\n\n### AI & Machine Learning\n| Product | Reference |\n|---------|-----------|\n| Workers AI | `references/workers-ai/` |\n| Vectorize | `references/vectorize/` |\n| Agents SDK | `references/agents-sdk/` |\n| AI Gateway | `references/ai-gateway/` |\n| AI Search | `references/ai-search/` |\n\n### Networking & Connectivity\n| Product | Reference |\n|---------|-----------|\n| Tunnel | `references/tunnel/` |\n| Spectrum | `references/spectrum/` |\n| TURN | `references/turn/` |\n| Network Interconnect | `references/network-interconnect/` |\n| Argo Smart Routing | `references/argo-smart-routing/` |\n| Workers VPC | `references/workers-vpc/` |\n\n### Security\n| Product | Reference |\n|---------|-----------|\n| WAF | `references/waf/` |\n| DDoS Protection | `references/ddos/` |\n| Bot Management | `references/bot-management/` |\n| API Shield | `references/api-shield/` |\n| Turnstile | `references/turnstile/` |\n\n### Media & Content\n| Product | Reference |\n|---------|-----------|\n| Images | `references/images/` |\n| Stream | `references/stream/` |\n| Browser Rendering | `references/browser-rendering/` |\n| Zaraz | `references/zaraz/` |\n\n### Real-Time Communication\n| Product | Reference |\n|---------|-----------|\n| RealtimeKit | `references/realtimekit/` |\n| Realtime SFU | `references/realtime-sfu/` |\n\n### Developer Tools\n| Product | Reference |\n|---------|-----------|\n| Wrangler | `references/wrangler/` |\n| Miniflare | `references/miniflare/` |\n| C3 | `references/c3/` |\n| Observability | `references/observability/` |\n| Analytics Engine | `references/analytics-engine/` |\n| Web Analytics | `references/web-analytics/` |\n| Sandbox | `references/sandbox/` |\n| Workerd | `references/workerd/` |\n| Workers Playground | `references/workers-playground/` |\n\n### Infrastructure as Code\n| Product | Reference |\n|---------|-----------|\n| Pulumi | `references/pulumi/` |\n| Terraform | `references/terraform/` |\n| API | `references/api/` |\n\n### Other Services\n| Product | Reference |\n|---------|-----------|\n| Email Routing | `references/email-routing/` |\n| Email Workers | `references/email-workers/` |\n| Static Assets | `references/static-assets/` |\n| Bindings | `references/bindings/` |\n| Cache Reserve | `references/cache-reserve/` |\n\n## Troubleshooting\n\n### Escalated Network Access\n\nIf deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the deploy with escalated permissions (use `sandbox_permissions=require_escalated`). The deploy requires escalated network access when sandbox networking blocks outbound requests.\n\nExample guidance to the user:\n\n```\nThe deploy needs escalated network access to deploy to Cloudflare. I can rerun the command with escalated permissions—want me to proceed?\n```\n"}