Skip to content
cccskills
FreePublished on GitHub

wrangler

Cloudflare Workers CLIでWorkers、KV、R2、D1、Vectorize、Hyperdrive、Workers AI、Containers、Queues、Workflows、Pipelines、Secrets Storeを開発・デプロイ・管理する。

Wranglerコマンドを実行する前に使用し、最新の公式ドキュメントに基づく構文と安全規則を確認する。

The English summary is being prepared. Showing the original description.

Works withCloudflare
See how to install

Files included (13)

  • SKILL.md12.0 KB
  • references/ai-vectorize-hyperdrive.md2.2 KB
  • references/config.md3.4 KB
  • references/containers.md1.4 KB
  • references/d1.md1.8 KB
  • references/deploy.md1.7 KB
  • references/dev-local.md2.5 KB
  • references/kv-r2.md2.5 KB
  • references/mcp-vs-cli-routing.md9.0 KB
  • references/observability-troubleshooting.md1.4 KB
  • references/queues-workflows-pipelines.md2.0 KB
  • references/README.md2.4 KB
  • references/secrets.md3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Wrangler CLI

本ファイルは cloudflare/skills(Apache-2.0)を基に改変しています。詳細は リポジトリルートの ATTRIBUTION.md を参照。

原則: 仕様の確認と調査は MCP、deploy / secret put / d1 migrations apply は監査性・可逆性・秘密保護のため wrangler CLI を既定にする(MCP に能力が無いからではない)。操作別の既定表と MCP 不通時の復旧は references/mcp-vs-cli-routing.md が唯一の正本。

Wrangler の CLI フラグ・設定フィールド・サブコマンドに関する知識は古くなっている可能性がある。事前学習した知識より取得 (retrieval) を優先すること。

最初に: package managerとWranglerを確認する

既存projectではlockfileを正本にし、package managerを勝手に移行しない。

検出したlockfileWrangler command
pnpm-lock.yaml / pnpm-workspace.yamlpnpm exec wrangler
package-lock.json / npm-shrinkwrap.jsonnpx --no-install wrangler
yarn.lockyarn exec wrangler

新規AIDD projectでlockfileがまだない場合だけpnpmを既定にする。以下の例は、このrepositoryの既定であるpnpm exec wranglerで表記する。npm/yarn projectでは上表のprefixへ置き換え、subcommandとflagsは同じに保つ。

pnpm exec wrangler --version   # v4.x 以上が必要

未インストールなら:

pnpm add -D wrangler@latest

既存lockfileがない新規AIDD projectはpnpmへ統一する。既存npm/yarn projectへpnpm lockfileを追加しない。可能な限りAPI requestを手で組み立てず、project-localなWranglerを使う。

You installed workerd on another platform、workerd-darwin-64、workerd-darwin-arm64が出た場合、別PCのnode_modulesやlockfile削除で回避しない。pnpm-workspace.yamlのsupportedArchitecturesを確認してから次を実行する。

pnpm install --force --frozen-lockfile
pnpm exec wrangler --version

複数Accountの安全規則

Cloudflareへ変更を加えるコマンドの前に、選択したpackage managerのwrangler whoamiで対象Accountを確認する。このrepositoryではpnpm exec wrangler whoamiを使う。チーム用共有Accountと個人Accountの両方があり、新しく自社アプリを作る場合はチーム用Accountを既定選択する。個人Accountは利用者の明示指定時だけ。

既存wrangler.jsoncやWorker/D1/R2が特定Accountにある場合は、その所有先を優先して照合する。チームへ移したい場合も別Accountへ同名リソースを勝手に作らず、移行タスクとして止める。Account不一致時はcreate / secret put / migrations apply / deployを実行しない。

最新情報の取得先

コマンドや設定を書く・レビューする前に最新の情報を取得する。CLI フラグ、設定フィールド、バインディング形状を記憶に頼って書かない。

ソース取得方法用途
Wrangler docshttps://developers.cloudflare.com/workers/wrangler/CLI コマンド、フラグ、設定リファレンス
Wrangler 設定スキーマnode_modules/wrangler/config-schema.json設定フィールド、バインディング形状、許可値
Cloudflare docs検索ツール または https://developers.cloudflare.com/workers/API リファレンス、compatibility date/flag

主要原則

  • wrangler.jsonc を使う: TOML より JSON を優先。新機能は JSON 専用のものがある。バージョン管理し、Worker 設定の唯一の情報源として扱う。
  • compatibility_date を設定する: 直近 30 日以内の日付を使い、四半期ごとに更新する。
  • 設定変更後は pnpm exec wrangler types: TypeScript バインディングを再生成する。CI のビルドステップにも入れてバインディング不一致を検出する。
  • ローカル開発はデフォルトでローカルストレージ: バインディングは remote: true を指定しない限りローカルシミュレーション。
  • 環境で staging/production を分ける: env.staging / env.production を設定に定義する。
  • ローカルで先にテストする: デプロイ前に pnpm exec wrangler dev で確認し、大きな変更前は pnpm exec wrangler deploy --dry-run で検証する。
  • 自動プロビジョニングを使う: リソース ID を省略するとデプロイ時に自動作成される。

落とし穴 (gotchas)

  • シークレットをコマンドに埋め込まない: 値を CLI 引数で渡す、echo でパイプする、ログ出力する、ハードコードする — いずれも禁止。対話プロンプト (pnpm exec wrangler secret put)、ファイル入力 (< key.pem、secret bulk)、CI の安全な環境変数を使う。ローカル用シークレットは .dev.vars に置き、設定ファイルにはコミットしない。
  • secret putの前にsecret list: 同名があれば新規設定ではなくローテーション。既存ログインの無効化や全セッション失効を説明し、明示承認なしに上書きしない。
  • D1 の --remote / --local を明示する: 取り違えると本番データを操作する事故になる。
  • Workers AI は常にリモート実行: ローカル開発中でも利用料金が発生する。バインディングには remote: true が必要。
  • リモート推奨のバインディング: AI (必須)、Vectorize、Browser Rendering、mTLS、Images。
  • バインディングが undefined: バインディング名が設定と完全一致しているか確認する。
  • 起動時間の上限超過: pnpm exec wrangler check startup でプロファイルを取る。
  • レジストリ認証情報をハードコードしない: 環境変数経由で渡す (Containers)。
  • Hyperdrive のパスワード・接続文字列も環境変数経由にする。

頻出コマンド早見表

やりたいことコマンド
ローカル開発サーバー起動pnpm exec wrangler dev
デプロイpnpm exec wrangler deploy
デプロイのドライランpnpm exec wrangler deploy --dry-run
TypeScript 型を生成pnpm exec wrangler types
起動時間をプロファイルpnpm exec wrangler check startup
ライブログを見るpnpm exec wrangler tail
直前バージョンへロールバックpnpm exec wrangler rollback
シークレットを設定pnpm exec wrangler secret put API_KEY
D1 マイグレーション適用 (本番)pnpm exec wrangler d1 migrations apply my-db --remote
Worker を削除pnpm exec wrangler delete
認証状態の確認pnpm exec wrangler whoami
新規プロジェクト作成pnpm exec wrangler init my-worker / pnpm create cloudflare@latest my-app

サービス別の頻出コマンド

# D1
pnpm exec wrangler d1 create my-db
pnpm exec wrangler d1 execute my-db --local  --command "SELECT * FROM users"
pnpm exec wrangler d1 execute my-db --remote --file ./schema.sql
pnpm exec wrangler d1 migrations create my-db create_users_table
pnpm exec wrangler d1 migrations apply my-db --local

# KV
pnpm exec wrangler kv namespace create MY_KV
pnpm exec wrangler kv key put --namespace-id <ID> "key" "value" --expiration-ttl 3600
pnpm exec wrangler kv key get --namespace-id <ID> "key"

# R2
pnpm exec wrangler r2 bucket create my-bucket
pnpm exec wrangler r2 object put my-bucket/path/file.txt --file ./local-file.txt

# シークレット (値は対話プロンプトかファイルで渡す)
pnpm exec wrangler secret put API_KEY
pnpm exec wrangler secret put PRIVATE_KEY < path/to/private-key.pem
pnpm exec wrangler secret list

# ログ
pnpm exec wrangler tail --status error
pnpm exec wrangler tail --search "error" --format json

# 環境を指定した実行/デプロイ
pnpm exec wrangler dev    --env staging
pnpm exec wrangler deploy --env staging

# cron ハンドラのローカルテスト
pnpm exec wrangler dev --test-scheduled   # → http://localhost:8787/__scheduled

よく使うバインディング設定

{
  "vars": { "ENVIRONMENT": "production" },
  "kv_namespaces": [{ "binding": "KV", "id": "<KV_NAMESPACE_ID>" }],
  "r2_buckets":    [{ "binding": "BUCKET", "bucket_name": "my-bucket" }],
  "d1_databases":  [
    { "binding": "DB", "database_name": "my-db", "database_id": "<DB_ID>",
      "migrations_dir": "./migrations" }
  ],
  "ai": { "binding": "AI" },
  "vectorize":  [{ "binding": "VECTOR_INDEX", "index_name": "my-index" }],
  "hyperdrive": [{ "binding": "HYPERDRIVE", "id": "<HYPERDRIVE_ID>" }],
  "durable_objects": {
    "bindings": [{ "name": "COUNTER", "class_name": "Counter" }]
  },
  "queues": {
    "producers": [{ "binding": "MY_QUEUE", "queue": "my-queue" }],
    "consumers": [{ "queue": "my-queue", "max_batch_size": 10 }]
  },
  "workflows": [
    { "binding": "MY_WORKFLOW", "name": "my-workflow", "class_name": "MyWorkflow" }
  ],
  "triggers": { "crons": ["0 * * * *"] },
  "observability": { "enabled": true, "head_sampling_rate": 1 },
  "env": {
    "staging": { "name": "my-worker-staging", "vars": { "ENVIRONMENT": "staging" } }
  }
}

Pipelines / Secrets Store / Containers のバインディング形状は各リファレンスを参照。

トラブルシュート早見表

問題対処
command not found: wranglerpnpm add -D wrangler@latest
認証エラーpnpm exec wrangler login
workerdのplatform/CPU不一致supportedArchitectures確認後にpnpm install --force --frozen-lockfile
複数Accountで対象が不明既存リソース所有先を照合。新規ならチーム用Account、個人は明示指定時だけ
起動時間の上限超過pnpm exec wrangler check startup でプロファイル
設定変更後の型エラーpnpm exec wrangler types
ローカル状態が消える.wrangler/state を確認
バインディングが undefined設定のバインディング名と完全一致しているか確認

詳細リファレンス

必要になったときに該当ファイルを読むこと。

状況読むファイル
wrangler.jsonc を書く・バインディングを追加する・型生成をするreferences/config.md
ローカル開発、リモートバインディング、.dev.vars、Vitest / scheduled のテストreferences/dev-local.md
デプロイ、バージョン管理とロールバック、Pages、認証references/deploy.md
Worker シークレット、Secrets Store の操作references/secrets.md
D1 のデータベース作成、SQL 実行、マイグレーション、エクスポートreferences/d1.md
KV Namespace / キー操作、R2 バケット / オブジェクト操作references/kv-r2.md
Workers AI のモデル一覧、Vectorize のインデックス、Hyperdrive の設定references/ai-vectorize-hyperdrive.md
Queues、Workflows とそのインスタンス、Pipelinesreferences/queues-workflows-pipelines.md
コンテナイメージのビルド/プッシュ、外部レジストリ設定references/containers.md
ログの tail、observability 設定、エラーの切り分けreferences/observability-troubleshooting.md

最小構成のスターター

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "name": "my-worker",
  "main": "src/index.ts",
  "compatibility_date": "2026-01-01"
}

バインディングを含むフル構成の例は references/config.md にある。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

アプリ・Webサービス・業務ツールの制作を、証拠分析→確定的な初稿→要件定義→体験設計→機能分解→実装→品質ゲート→リリース判定の手順ゲート制で進めるスキル。質問で要件を埋めるのではなく、依頼文・既存コード・資料・ログから最有力案を選び、動く成果物を先に出して差分で改善する。ユーザーが「アプリを作りたい」「ツールを作って」「〜を自動化したい」「システム化したい」「要件定義」「仕様を決めたい」「UI/UXを設計して」「体験を良くしたい」「機能を洗い出して」「MVPを決めたい」「品質チェック」「リリースしていいか判断して」などと言ったら必ず使用する。外部データの取込・マスタ・締め処理を伴う業務システムでは references/data-lifecycle.md も併用する。新規・既存を問わずアプリの制作・改善・リニューアルで使用する。

The English summary is being prepared. Showing the original description.

daishiman/harness-dev10Updated Oct 19, 2026

Webアプリの準備→要件定義→設計→実装→公開→品質ゲートを実行する内部オーケストレーター。Claude Codeの /build-app /improve-app、Codexの $build-app / $improve-app から明示的に委譲された場合、custom agent起動時、または利用者が $app-orchestrator を明示した場合だけ使用する。一般のアプリ相談から暗黙起動しない。

The English summary is being prepared. Showing the original description.

daishiman/harness-dev10Updated Oct 19, 2026

run-extract-blueprint が生成した章別ブループリントの忠実性を独立 context で評価したいとき、事実/推測区別と粒度と被覆を検証し draft_hash に束縛した PASS/FAIL verdict をローカル品質ゲート (C01 の周回内の受入判定・差し戻し) へ渡したいときに使う。

The English summary is being prepared. Showing the original description.

daishiman/harness-dev10Updated Oct 19, 2026

確認点で利用者が見る深さを選んだあと打ち合わせ資料を作り手とは別の目で確かめたいとき、正確さ・言葉・見た目・シンプルさの指摘を資料の編集なしで受け取りたいときに使う。

The English summary is being prepared. Showing the original description.

daishiman/harness-dev10Updated Oct 19, 2026

生成した handout 資料が初心者に伝わるか読みやすさレビューを依頼したいとき、独立 context のレビュアーから指摘と根拠つきの verdict を回収したいときに使う。

The English summary is being prepared. Showing the original description.

daishiman/harness-dev10Updated Oct 19, 2026

Notion ページを描画する直前に粒度を検証したいとき、info-collector-agent ページと同等の section 充足度を section_canonical_map 基準で機械検証したいときに使う。

The English summary is being prepared. Showing the original description.

daishiman/harness-dev10Updated Oct 19, 2026

See all skills by daishiman

Report a problem with this skill