Cloudflare worker builder
Skill ulpi-io/plugin-marketplace/plugins/jezweb/skills/cloudflare-worker-builder
Scaffold and deploy Cloudflare Workers with Hono routing, Vite plugin, and Static Assets. Workflow: describe project, scaffold structure, configure bindings, deploy. Use when creating Workers projects, setting up Hono/Vite, configuring D1/R2/KV bindings, or troubleshooting export syntax errors, API route conflicts, HMR issues, or deployment failures.From its SKILL.md
npx -y skills add ulpi-io/plugin-marketplace --skill cloudflare-worker-builderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.7 KB, 863 tokens by cl100k_base, as published. Nobody here has run it
Cloudflare Worker Builder
Scaffold a working Cloudflare Worker project from a brief description. Produces a deployable project with Hono routing, Vite dev server, and Static Assets.
Workflow
Step 1: Understand the Project
Ask about the project to choose the right bindings and structure:
- What does the app do? (API only, SPA + API, landing page)
- What data storage? (D1 database, R2 files, KV cache, none)
- Auth needed? (Clerk, better-auth, none)
- Custom domain or workers.dev subdomain?
A brief like "todo app with database" is enough to proceed.
Step 2: Scaffold the Project
npm create cloudflare@latest my-worker -- --type hello-world --ts --git --deploy false --framework none
cd my-worker
npm install hono
npm install -D @cloudflare/vite-plugin vite
Copy and customise the asset files from this skill's assets/ directory:
wrangler.jsonc— Worker configurationvite.config.ts— Vite + Cloudflare pluginsrc/index.ts— Hono app with Static Assets fallbackpackage.json— Scripts and dependenciestsconfig.json— TypeScript configpublic/index.html— SPA entry point
Step 3: Configure Bindings
Add bindings to wrangler.jsonc based on project needs. Wrangler 4.45+ auto-provisions resources on first deploy — always specify explicit names:
{
"name": "my-worker",
"main": "src/index.ts",
"compatibility_date": "2025-11-11",
"assets": {
"directory": "./public/",
"binding": "ASSETS",
"not_found_handling": "single-page-application",
"run_worker_first": ["/api/*"]
},
// Add as needed:
"d1_databases": [{ "binding": "DB", "database_name": "my-app-db" }],
"r2_buckets": [{ "binding": "STORAGE", "bucket_name": "my-app-files" }],
"kv_namespaces": [{ "binding": "CACHE", "title": "my-app-cache" }]
}
Step 4: Deploy
npm run dev # Local dev at http://localhost:8787
wrangler deploy # Production deploy
Critical Patterns
Export Syntax
// CORRECT — use this pattern
export default app
// WRONG — causes "Cannot read properties of undefined"
export default { fetch: app.fetch }
Source: honojs/hono #3955
Static Assets + API Routes
Without run_worker_first, SPA fallback intercepts API routes and returns index.html instead of JSON:
"assets": {
"not_found_handling": "single-page-application",
"run_worker_first": ["/api/*"] // CRITICAL
}
Source: workers-sdk #8879
Vite Config
import { defineConfig } from 'vite'
import { cloudflare } from '@cloudflare/vite-plugin'
export default defineConfig({ plugins: [cloudflare()] })
Always set the main field in wrangler.jsonc — the Vite plugin needs it.
Scheduled/Cron Handlers
When adding cron triggers, switch to explicit export:
export default {
fetch: app.fetch,
scheduled: async (event, env, ctx) => { /* ... */ }
}
Reference Files
Read these for detailed troubleshooting:
references/common-issues.md— 10 documented issues with sources and fixesreferences/architecture.md— Route priority, caching, Workers RPCreferences/deployment.md— CI/CD, auto-provisioning, gradual rollouts
What ships with it: 11 files
51.2 KB alongside SKILL.md, 3 of them executable
assets/
- package.json485 B
- public/index.html1.9 KB
- public/script.jsruns2.0 KB
- public/styles.css2.5 KB
- src/index.tsruns1.9 KB
- tsconfig.json1.5 KB
- vite.config.tsruns273 B
- wrangler.jsonc1.7 KB
references/
- architecture.md10.7 KB
- common-issues.md13.7 KB
- deployment.md14.5 KB