All skills
davila7 avatar

/cloudflare-deploy

@72b6736

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.

Use this Skill: https://skilld.dev/gh/davila7/claude-code-templates/cloudflare-deploy

This session only. Nothing lands on disk.

referencesminiflareconfiguration.md

≈882 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Configuration

Script Loading

// Inline
new Miniflare({ modules: true, script: `export default { ... }` });

// File-based
new Miniflare({ scriptPath: "worker.js" });

// Multi-module
new Miniflare({
  scriptPath: "src/index.js",
  modules: true,
  modulesRules: [
    { type: "ESModule", include: ["**/*.js"] },
    { type: "Text", include: ["**/*.txt"] },
  ],
});

Compatibility

new Miniflare({
  compatibilityDate: "2026-01-01", // Use recent date for latest features
  compatibilityFlags: [
    "nodejs_compat",        // Node.js APIs (process, Buffer, etc)
    "streams_enable_constructors", // Stream constructors
  ],
  upstream: "https://example.com", // Fallback for unhandled requests
});

Critical: Use compatibilityDate: "2026-01-01" or latest to match production runtime. Old dates limit available APIs.

HTTP Server & Request.cf

new Miniflare({
  port: 8787,              // Default: 8787
  host: "127.0.0.1",
  https: true,             // Self-signed cert
  liveReload: true,        // Auto-reload HTML
  
  cf: true,                // Fetch live Request.cf data (cached)
  // cf: "./cf.json",      // Or load from file
  // cf: { colo: "DFW" },  // Or inline mock
});

Note: For tests, use dispatchFetch() (no port conflicts).

Storage Bindings

new Miniflare({
  // KV
  kvNamespaces: ["TEST_NAMESPACE", "CACHE"],
  kvPersist: "./kv-data", // Optional: persist to disk
  
  // R2
  r2Buckets: ["BUCKET", "IMAGES"],
  r2Persist: "./r2-data",
  
  // Durable Objects
  modules: true,
  durableObjects: {
    COUNTER: "Counter", // className
    API_OBJECT: { className: "ApiObject", scriptName: "api-worker" },
  },
  durableObjectsPersist: "./do-data",
  
  // D1
  d1Databases: ["DB"],
  d1Persist: "./d1-data",
  
  // Cache
  cache: true, // Default
  cachePersist: "./cache-data",
});

Bindings

new Miniflare({
  // Environment variables
  bindings: {
    SECRET_KEY: "my-secret-value",
    API_URL: "https://api.example.com",
    DEBUG: true,
  },
  
  // Other bindings
  wasmBindings: { ADD_MODULE: "./add.wasm" },
  textBlobBindings: { TEXT: "./data.txt" },
  queueProducers: ["QUEUE"],
});

Multiple Workers

new Miniflare({
  workers: [
    {
      name: "main",
      kvNamespaces: { DATA: "shared" },
      serviceBindings: { API: "api-worker" },
      script: `export default { ... }`,
    },
    {
      name: "api-worker",
      kvNamespaces: { DATA: "shared" }, // Shared storage
      script: `export default { ... }`,
    },
  ],
});

With routing:

workers: [
  { name: "api", scriptPath: "./api.js", routes: ["api.example.com/*"] },
  { name: "web", scriptPath: "./web.js", routes: ["example.com/*"] },
],

Logging & Performance

import { Log, LogLevel } from "miniflare";

new Miniflare({
  log: new Log(LogLevel.DEBUG), // DEBUG | INFO | WARN | ERROR | NONE
  scriptTimeout: 30000,         // CPU limit (ms)
  workersConcurrencyLimit: 10,  // Max concurrent workers
});

Workers Sites

new Miniflare({
  sitePath: "./public",
  siteInclude: ["**/*.html", "**/*.css"],
  siteExclude: ["**/*.map"],
});

From wrangler.toml

Miniflare doesn't auto-read wrangler.toml:

# wrangler.toml
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2026-01-01"
[[kv_namespaces]]
binding = "KV"
// Miniflare equivalent
new Miniflare({
  scriptPath: "src/index.ts",
  compatibilityDate: "2026-01-01",
  kvNamespaces: ["KV"],
});

Source: SKILL.md on GitHub

2 warnings1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    The skill is a comprehensive documentation and reference suite for deploying applications and infrastructure to the Cloudflare platform. It provides detailed technical guidance, code snippets, and architectural patterns for various services including Workers, Pages, D1, R2, and AI Gateway. No malicious patterns, obfuscation, or unauthorized data access were detected.

  • Socket1d

    1 alert: gptAnomaly

  • Snyk1d

    Risk: LOW · No issues

  • Runlayer7mo

    304/310 files flagged

Signed by skilld at 72b6736. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 18 hours ago.

Activeupdated 8 months ago
author
openai

README badge

README badge for davila7/claude-code-templates/cloudflare-deploy