К основному содержанию
скилл CX Codex

cloudflare-workers-dev-experience — скилл для Claude Code

Помогает настроить локальную разработку Cloudflare Workers через Wrangler и Miniflare. Пригодится при отладке биндингов KV, D1 или R2 и настройке HMR.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add secondsky/claude-skills --skill cloudflare-workers-dev-experience -a claude-code
Открыть на GitHub

Что делает cloudflare-workers-dev-experience

Скилл содержит правила и шаблоны для локального запуска воркеров на базе Bun или npm. Он даёт готовую структуру wrangler.jsonc с раздельными привязками для KV, баз D1 и хранилищ R2. Конфигурация tsconfig.json ориентирована на стандарт ES2022 с резолюцией bundler. В репозитории есть скрипт scripts/dev-setup.sh и вспомогательные шаблоны.

Без указания preview_id в настройках KV локальный эмулятор вернёт undefined. Миграции D1 применяются локально. Скилл разбирает типичные сбои: неработающий HMR из-за занятых портов, пропущенные типы и ошибки симуляции бакетов. Для пошаговой отладки предлагается готовый файл .vscode/launch.json с инспектором на порту 9229.

Безопасность поставок вынесена в отдельный блок. Автор советует блокировать post-install скрипты через параметр ignore-scripts и проверять пакеты утилитой Socket CLI перед запуском bunx create-cloudflare.

Какие задачи решает

  • настроить wrangler.jsonc с локальными привязками для KV, D1 и R2
  • устранить ошибку env.KV is undefined через preview_id
  • настроить отладку воркера в VS Code через инспектор на порту 9229
  • подготовить tsconfig.json с типами @cloudflare/workers-types

Примеры запросов агенту

  • Помоги настроить wrangler.jsonc для локальной базы D1 и бакета R2
  • Почему локально в воркере env.KV возвращает undefined?
  • Сгенерируй конфиг launch.json для отладки Cloudflare Worker через Bun

Как установить cloudflare-workers-dev-experience

1Через Skills CLI (Vercel)

npx skills add secondsky/claude-skills --skill cloudflare-workers-dev-experience -a claude-code

2Вручную: положить файлы

~/.claude/skills/cloudflare-workers-dev-experience/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cloudflare-workers-dev-experience/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cloudflare-workers-dev-experience

Как установить cloudflare-workers-dev-experience в Claude Code?

Выполните команду npx skills add secondsky/claude-skills --skill cloudflare-workers-dev-experience -a claude-code.

Что делает cloudflare-workers-dev-experience?

Скилл помогает развернуть локальное окружение Cloudflare Workers на Miniflare и Wrangler. Внутри собраны готовые шаблоны конфигураций, скрипты сборки и решения частых ошибок с типами и биндингами.

Зачем указывать preview_id в настройках KV?

Без preview_id Miniflare не сможет инициализировать локальное хранилище, и обращение к env.KV вернёт ошибку undefined. Этот параметр изолирует данные разработки от рабочей базы.

Исходный текст

SKILL.md · MIT
---
name: cloudflare-workers-dev-experience
description: Cloudflare Workers local development with Wrangler, Miniflare, hot reload, debugging. Use for project setup, wrangler.jsonc configuration, or encountering local dev, HMR, binding simulation errors.
license: MIT
---

# Cloudflare Workers Developer Experience

Local development setup with Wrangler, Miniflare, and modern tooling.

## Quick Start

```bash
# Create new project
bunx create-cloudflare@latest my-worker

# Or from scratch
mkdir my-worker && cd my-worker
bun init -y
bun add -d wrangler @cloudflare/workers-types

# Start local development
bunx wrangler dev
```

## Secure Installation

Scaffolding tools like `bunx create-cloudflare` download and execute remote code. Before running, follow supply chain security best practices:

- **Block post-install scripts** — `npm config set ignore-scripts true` (or Bun: disabled by default)
- **Cooldown period** — Wait 7 days for new package versions to be vetted by the community
- **Audit before installing** — Run `socket package score npm <pkg>` or use `socket npm install <pkg>` to check packages

Load the `dependency-upgrade` skill for full security configuration including Socket CLI integration, cooldown setup, lockfile validation, and CI enforcement.

## Essential wrangler.jsonc

```jsonc
{
  "$schema": "node_modules/wrangler/config-schema.json",
  "name": "my-worker",
  "main": "src/index.ts",
  "compatibility_date": "2024-12-01",

  // Development settings
  "dev": {
    "port": 8787,
    "local_protocol": "http"
  },

  // Environment variables (non-secret)
  "vars": {
    "ENVIRONMENT": "development"
  },

  // Bindings
  "kv_namespaces": [
    { "binding": "KV", "id": "abc123", "preview_id": "def456" }
  ],

  "d1_databases": [
    { "binding": "DB", "database_id": "xyz789", "database_name": "my-db" }
  ],

  "r2_buckets": [
    { "binding": "BUCKET", "bucket_name": "my-bucket" }
  ]
}
```

## Critical Rules

1. **Always use `wrangler dev` for local testing** - Simulates Cloudflare runtime accurately
2. **Set `compatibility_date`** - Controls runtime behavior, update quarterly
3. **Use preview IDs for local dev** - Separate from production bindings
4. **Configure TypeScript properly** - Use `@cloudflare/workers-types`
5. **Enable source maps** - Better error stacks in development

## Top 6 Errors Prevented

| Error | Symptom | Prevention |
|-------|---------|------------|
| Module not found | Import errors on deploy | Set `"moduleResolution": "bundler"` in tsconfig |
| Binding undefined | `env.KV is undefined` locally | Add `preview_id` to KV namespace config |
| HMR not working | Changes not reflecting | Check port conflicts, use `--local` flag |
| D1 schema mismatch | Queries fail locally | Run migrations on local DB |
| Type errors | Missing binding types | Generate types with `wrangler types` |
| CORS issues | Browser blocking requests | Add CORS headers in dev handler |

## Local Development Workflow

```bash
# Start dev server (recommended)
bunx wrangler dev

# With live reload
bunx wrangler dev --live-reload

# Remote mode (use actual Cloudflare services)
bunx wrangler dev --remote

# Specify environment
bunx wrangler dev --env staging

# Custom port
bunx wrangler dev --port 3000
```

## TypeScript Configuration

**tsconfig.json**:
```json
{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ES2022",
    "moduleResolution": "bundler",
    "lib": ["ES2022"],
    "types": ["@cloudflare/workers-types"],
    "strict": true,
    "noEmit": true,
    "skipLibCheck": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}
```

## Package.json Scripts

```json
{
  "scripts": {
    "dev": "wrangler dev",
    "deploy": "wrangler deploy",
    "deploy:staging": "wrangler deploy --env staging",
    "deploy:production": "wrangler deploy --env production",
    "test": "vitest",
    "test:watch": "vitest --watch",
    "type-check": "tsc --noEmit",
    "lint": "eslint src/",
    "types": "wrangler types",
    "tail": "wrangler tail",
    "db:migrate": "wrangler d1 migrations apply DB",
    "db:studio": "wrangler d1 execute DB --local --command 'SELECT 1'"
  }
}
```

## Debugging

### Console Logging

```typescript
// Development-only logging
export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    if (env.ENVIRONMENT === 'development') {
      console.log('Request:', request.method, request.url);
      console.log('Headers:', Object.fromEntries(request.headers));
    }

    // Handler logic...
  }
};
```

### Using wrangler tail

```bash
# Real-time logs from deployed worker
wrangler tail

# Filter by status
wrangler tail --status error

# Filter by method
wrangler tail --method POST

# JSON format for parsing
wrangler tail --format json
```

### VS Code Debugging

**.vscode/launch.json**:
```json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Wrangler Dev",
      "type": "node",
      "request": "launch",
      "runtimeExecutable": "bunx",
      "runtimeArgs": ["wrangler", "dev", "--inspector-port", "9229"],
      "skipFiles": ["<node_internals>/**"],
      "sourceMaps": true
    }
  ]
}
```

## When to Load References

Load specific references based on the task:

- **Setting up project?** → Load `references/local-development.md` for complete setup guide
- **Configuring wrangler?** → Load `references/wrangler-config.md` for all configuration options
- **Debugging issues?** → Load `references/debugging-tools.md` for debugging techniques

## Templates

| Template | Purpose | Use When |
|----------|---------|----------|
| `templates/wrangler-config.jsonc` | Complete wrangler config | Starting new project |
| `templates/dev-script.ts` | Development utilities | Adding dev helpers |

## Scripts

| Script | Purpose | Command |
|--------|---------|---------|
| `scripts/dev-setup.sh` | Initialize dev environment | `./dev-setup.sh` |

## Resources

- Wrangler CLI: https://developers.cloudflare.com/workers/wrangler/
- Configuration: https://developers.cloudflare.com/workers/wrangler/configuration/
- Local Development: https://developers.cloudflare.com/workers/testing/local-development/

© secondsky · MIT · secondsky/claude-skills

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →
cloudflare-workers devops-skills Скилл для работы с Cloudflare Workers: помогает писать и деплоить edge-функции через Wrangler. Пригодится, если делаете API, cron-задачи или middleware. CX Codex +1 314установок workers-best-practices cloudflare Скилл настраивает ИИ на проверку продакшен-кода Cloudflare Workers по актуальным правилам рантайма, типам Wrangler и антипаттернам. CX Codex +1 126 100установок hono-cloudflare bobmatnyc Настраивает Hono для работы на Cloudflare Workers. Помогает прописать типизированные привязки к KV, D1, R2 и очереди задач. CX Codex +1 620установок building-mcp-server-on-cloudflare официальный Cloudflare Скилл проводит агента через сборку удалённого MCP-сервера на Cloudflare Workers: инструменты, OAuth, деплой. Пригодится, когда нужно выставить свои функции наружу по MCP. CX Codex GP ChatGPT 2установок cloudflare-development Mindrally Скилл с правилами разработки на edge-платформе Cloudflare: Workers, Pages, KV, D1, R2 и Durable Objects. Пригодится, когда агент пишет код для воркеров или настраивает wrangler.toml. CX Codex +1 689установок cloudflare-workers-hono-angular-saas-cursorrules-prompt-file PatrickJS Правило для Cursor задаёт стек и соглашения для SaaS на Cloudflare Workers: Hono API, Angular, Drizzle, Clerk, Stripe. ★ 41 024звёзд репо

Из того же набора128

cloudflare-workers-security Шаблоны аутентификации, CORS, rate limiting и валидации ввода для Cloudflare Workers. Нужен, когда ставишь JWT или API-ключи, лечишь CORS-ошибки или защищаешь воркер от инъекций. CX Codex +1 343установок cloudflare-workers-testing Скилл для написания тестов Cloudflare Workers на Vitest с реальными биндингами D1, KV, R2 и Durable Objects. Пригодится, когда тесты падают на моках или не видят окружение. CX Codex +1 325установок nuxt-seo Скилл по восьми модулям Nuxt SEO v5: robots.txt, карты сайта, OG-картинки, Schema.org и метатеги. Пригодится, когда SEO надо настроить в Nuxt-проекте. CX Codex +1 324установок cloudflare-workers-performance Скилл для оптимизации Cloudflare Workers: CPU, память, кеш, размер бандла. Пригодится, когда воркер тормозит или упирается в лимиты. CX Codex +1 315установок cloudflare-workers-runtime-apis Скилл по рантайм-API Cloudflare Workers: Fetch, Streams, Crypto, Cache, WebSockets и кодирование текста. Пригодится, когда воркер ловит ошибки на запросах, потоках или кэше. CX Codex +1 311установок cloudflare-workers-frameworks Подсказывает агенту, как поднять Hono, Remix, Next.js, Astro, SvelteKit, Qwik или Nuxt на Cloudflare Workers, и разбирает типовые ошибки сборки. CX Codex +1 309установок cloudflare-workers-ci-cd Скилл, который помогает настроить автоматические тесты и деплой Cloudflare Workers через GitHub Actions или GitLab CI. Пригодится, когда пайплайн падает или нужно выкатывать превью на каждый PR. CX Codex +1 303установок cloudflare-workers-observability Скилл для наблюдаемости Cloudflare Workers: структурированные логи, Analytics Engine, Tail Workers, метрики и алерты. Пригодится, когда воркер падает в проде, а логов не видно. CX Codex +1 302установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой