OpenAICloudflareApr 13, 2026, 2:29 PM

Building a CLI for all of Cloudflare

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

openaienmodel: gpt-5-mini-2025-08-07

Building a CLI for all of Cloudflare (Wrangler technical preview)

Key Points

  • Try the technical preview with `npx cf`
  • TypeScript schema powers generated CLI, bindings, and OpenAPI
  • Local Explorer exposes local API at /cdn-cgi/explorer/api

Summary

Cloudflare is shipping an early technical preview of a rebuilt Wrangler CLI — exposed today as the cf command — intended to provide consistent, agent-friendly CLI access across Cloudflare’s entire API surface. The redesign uses a new TypeScript schema and generation pipeline to produce commands, configuration, bindings, and OpenAPI artifacts, and includes a Local Explorer for full local development parity with remote APIs.

Key Points

  • Technical preview: try it now with npx cf or npm install -g cf. It currently covers a small subset of products but is being expanded.
  • New TypeScript schema: expresses CLI commands, arguments, context, bindings and can generate OpenAPI; enables linting and guardrails to enforce consistent verbs and flags (e.g. get not info, --force, --json).
  • Machine-generated interfaces: the pipeline will generate CLI commands, wrangler configuration, Workers RPC-style bindings, SDKs, and more to keep up with rapid product changes.
  • Local Explorer (open beta): inspect and manipulate local simulated resources (KV, R2, D1, Durable Objects, Workflows) via the same API shape as production; available at /cdn-cgi/explorer/api when running Wrangler or the Cloudflare Vite plugin.
  • Local parity: commands can target local resources with a --local flag; the local mirror uses Miniflare + SQLite so tests run fast and offline.
  • Feedback loop: this is early and public — Cloudflare requests developer and agent feedback (Cloudflare Developers Discord) to prioritize commands and UX.

How to try

  • Run in place: npx cf.
  • Install globally: npm install -g cf.
  • When running a Wrangler or Vite-powered app, press e to open Local Explorer.

Engineering notes

  • The TypeScript schema is intentionally extensible to cover interactive CLI flows (multi-step actions combining local dev and API calls) which OpenAPI alone cannot express.
  • Schema-driven rules standardize command naming and flags across products to make CLIs predictable for automated agents.
  • The generation pipeline replaces many manual update paths (CLI, bindings, docs, Terraform provider), reducing drift and review friction.

Why this matters

  • Makes every Cloudflare product more accessible to developer tooling and agents with consistent, scriptable commands and a local API mirror for reliable local testing.
  • Reduces cognitive load for agents and developers by standardizing CLI patterns, defaults, and output semantics.

Full Translation

Translations

A translation section that keeps the flow of the original article.

openaijamodel: gpt-5-mini-2025-08-07

Cloudflare 全体向け CLI の構築

公開日: 2026-04-13 — 著: Matt “TK” Taylor、Dimitri Mitropoulos、Dan Carter — 読了時間: 約6分

概要

Cloudflare は広大な API サーフェスを持っています。100 を超えるプロダクトと、ほぼ 3,000 の HTTP API 操作があります。近年、エージェントが私たちの API の主要な利用者になっています。開発者は自分のコーディングエージェントを使って、Cloudflare にアプリケーションやエージェント、プラットフォームを構築・デプロイし、アカウントを設定し、分析やログのために API を問い合わせます。

私たちはすべての Cloudflare プロダクトを、エージェントが必要とするあらゆる方法で利用できるようにしたいと考えています。たとえば、Cloudflare の全 API を単一の Code Mode MCP サーバーで利用可能にしており、そのサーバーは 1,000 トークン未満で動作します。ただしカバーすべき領域はまだ多くあります: CLI コマンド、Workers バインディング(ローカル開発とテストのための API を含む)、複数言語向け SDK、設定ファイル、Terraform、開発者向けドキュメント、API ドキュメントと OpenAPI スキーマ、Agent Skills などです。

今日、多くのプロダクトはこれらすべてのインターフェースで利用できるわけではありません。特に CLI(Wrangler)はそうです。多くの Cloudflare プロダクトは Wrangler に CLI コマンドを持っていません。そしてエージェントは CLI を好みます。そこで私たちは Wrangler CLI を再構築し、Cloudflare 全体の CLI にする作業を進めています。これにより、すべての Cloudflare プロダクト向けのコマンドを提供し、infrastructure-as-code を使ってまとめて設定できるようにします。

今日は次期 Wrangler の技術プレビューの早期バージョンを共有します。非常に初期段階ですが、私たちは公開の場で作業することで最良のフィードバックを得られると考えています。技術プレビューは今日から npx cf を実行するか、グローバルにインストールするには npm install -g cf を実行して試せます。

現時点で cf はごく一部の Cloudflare プロダクトに対するコマンドしか提供していません。私たちは既に Cloudflare API サーフェス全体をサポートする cf のバージョンをテストしており、各プロダクトについて出力がエージェントと人間の双方にとって使いやすいように意図的に見直しと調整を行っていきます。

この技術プレビューは次期 Wrangler CLI の一部に過ぎません。今後数か月で、皆さんが知っていて愛用している Wrangler の機能とこれらを統合していきます。


なぜ新しいシステムが必要だったか

製品開発の速度に同期しながらこれを構築するには、コマンド、設定、バインディング API などを生成できる新しいシステムが必要でした。

スキーマとコード生成パイプラインを根本から再考

私たちは既に OpenAPI スキーマに基づいて Cloudflare API SDK、Terraform プロバイダ、Code Mode MCP サーバーを生成しています。しかし CLI、Workers バインディング、wrangler.jsonc 設定、Agent Skills、ダッシュボードやドキュメントの更新は依然として手作業でした。これではエラーが起きやすく、やり取りが多く、次期 CLI で Cloudflare API 全体をサポートするにはスケールしません。

OpenAPI スキーマは REST API を記述しますが、私たちにはローカル開発と API リクエストを組み合わせる複数のアクションを含む対話的な CLI コマンドや、RPC API として表現される Workers バインディング、そしてこれらを結びつける Agent Skills やドキュメントが必要でした。OpenAPI だけでは表現できないことが多かったのです。

Cloudflare では TypeScript を多用しています。TypeScript はソフトウェア工学のリンガフランカであり、多くの場合 API を TypeScript で表現する方がうまくいきます(Cap n’ Web、Code Mode、Workers プラットフォームに組み込まれた RPC システムなどでの実例があります)。そこで、API、CLI コマンドと引数、任意のインターフェースを生成するために必要なコンテキストの全範囲を定義できる新しい TypeScript スキーマを導入しました。

このスキーマ形式は、慣習、リンティング、ガードレールを備えた一連の TypeScript 型に過ぎません。しかし自社フォーマットであるため、今日あるいは将来必要になるどんなインターフェースにも容易に適応でき、同時に OpenAPI スキーマを生成することもできます。

現在、私たちの注力点の多くはこのレイヤーの構築にあります——必要な機械を作ったことで、長年欲しかった CLI やその他のインターフェースの構築をいよいよ始められるようになりました。


エージェントと CLI — 一貫性とコンテキストエンジニアリング

エージェントは CLI の一貫性を期待します。たとえばあるコマンドがリソース情報取得の構文として <command> info を使い、別のコマンドが <command> get を使うと、エージェントは一方の形式を期待して存在しないコマンドを呼んでしまいます。

数百〜数千人規模の大きな組織で多数のプロダクトがあると、レビューだけで一貫性を手動で強制するのは不十分です。CLI レイヤーで強制すればよいかというと、CLI、REST API、SDK の命名が食い違ってしまい、問題がむしろ悪化することもあります。

そこで私たちは、スキーマ層でルールとガードレールを定義して強制することを始めました。

  • 常に getinfo ではない)
  • 常に --force--skip-confirmations ではない)
  • 常に --json--format ではない)、かつ全コマンドでサポート

Wrangler CLI はまた独特の点があります。ローカルでシミュレートしたリソースと、D1 データベース、R2 ストレージバケット、KV ネームスペースなどのリモートリソースの両方で機能するコマンドと設定を提供することです。つまり、一貫したデフォルトがさらに重要になります。

もしエージェントがリモートデータベースを操作していると思っているのに、実際はローカルデータベースにレコードを追加していた場合、開発者がリモートバインディングを使ってローカル開発していると、エージェントはなぜリクエスト時に新しいレコードが見つからないのか理解できません。デフォルトの一貫性と、コマンドがローカルかリモートかを明確に示す出力があれば、エージェントに明示的な指示を与えられます。


Local Explorer — リモートでできることはローカルでもできる

本日、Wrangler と Cloudflare Vite プラグインの両方でオープンベータとして利用できる新機能「Local Explorer」をリリースします。Local Explorer により、ローカル開発中に Worker が使用するシミュレートされたリソース(KV、R2、D1、Durable Objects、Workflows など)を検査できます。

これらは Cloudflare の API やダッシュボードで行える操作と同じことが、全てローカルで完結して実行できます。私たちは長年にわたって完全なローカル開発に賭けてきました——Cloudflare Workers に限らずプラットフォーム全体でです。

D1 のようなホスト型 serverless データベースでも、バインディングを使えば余計なセットアップやツールなしに完全にローカルでデータベースを起動してやり取りできます。Miniflare(ローカル開発プラットフォームのエミュレータ)を介して、Workers ランタイムは本番と同じ API をローカル開発でも提供し、ローカルの SQLite データベースで同等の機能を実現します。これにより、ネットワークに依存せず高速に動作するテストを簡単に書いて実行でき、オフラインでも作業できます。

しかしこれまではローカルにどんなデータが保存されているか確認するには .wrangler/state ディレクトリを逆解析したり、サードパーティのツールをインストールする必要がありました。これからは Wrangler CLI や Cloudflare Vite プラグインでアプリを実行するたびに、Local Explorer を開くように促されます(キーボードショートカット e)。Local Explorer は現在アタッチされているバインディングと、それらに対して保存されているデータを確認できるシンプルなローカルインターフェースを提供します。

Agents を使ってビルドする際、Local Explorer はエージェントがデータに対して何をしているのかを理解する良い手段で、ローカル開発サイクルをより対話的にします。スキーマを検証したり、テストレコードを投入したり、最初からやり直して DROP TABLE したりするためにいつでも Local Explorer を使えます。

私たちの目標は、ローカルデータのみを変更する Cloudflare API のミラーを提供することです。こうすることで、すべてのローカルリソースがリモートで使うのと同じ API を通じて利用可能になります。API 形状をローカルとリモートで一致させることで、今後の CLI で --local フラグを渡してコマンドを実行したときに、コマンドがそのまま動作します。違いは、コマンドが Cloudflare API のローカルミラーにリクエストすることだけです。

本日より、この API は Wrangler または Vite Plugin で動作する任意のアプリ上で /cdn-cgi/explorer/api にて利用可能です。このアドレスをエージェントに向けると、エージェントはローカルリソースを管理するための OpenAPI 仕様を見つけ、それだけでリソースを操作できます。


ぜひご意見を聞かせてください

機械を構築した今、Wrangler の優れた部分と今回可能になったことを組み合わせ、Cloudflare 全体を使うためのベストな CLI を作る段階に来ました。技術プレビューは npx cf で試すか、グローバルにインストールするなら npm install -g cf を実行してください。

この非常に初期のバージョンでは、技術プレビューが今日できることだけでなく、Cloudflare 全体のプラットフォーム向け CLI に何を望むかという点でフィードバックを求めています。

  • ダッシュボード上で数クリックかかることを、1 行の CLI コマンドで簡単にできるようにしてほしいことは何ですか?
  • wrangler.jsonc に簡単に設定できるようにしてほしい項目(例: DNS レコードや Cache Rules)は何ですか?
  • エージェントが詰まった箇所や、エージェント向けに CLI に追加してほしいコマンドは何ですか?

Cloudflare Developers Discord に参加して、CLI にまず追加してほしいものを教えてください。今後も多数のアップデートを予定しています。


特に Local Explorer プロジェクトの立ち上げに対する貢献について、Emily Shen に感謝します。

Cloudflare のコネクティビティクラウドは、企業ネットワーク全体を保護し、インターネット規模のアプリを効率的に構築する支援を行い、あらゆるウェブサイトやインターネットアプリを高速化し、DDoS 攻撃を防ぎ、ハッカーから守り、Zero Trust への取り組みを支援します。どのデバイスからでも 1.1.1.1 を訪れて、インターネットをより速くより安全にする無料アプリを始めてください。私たちのミッションや、より良いインターネット構築の支援について詳しく知りたい方はここから始めてください。新しいキャリアを探しているなら、オープンポジションもご確認ください。

タグ: server-island-start、Developers、Developer Platform、Cloudflare Workers、Product News、D1 API、Agents Week