
2026/04/14 0:44
Cloudflare のすべての製品を扱うための CLI の構築について
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Cloudflare から次世代の Wrangler CLI(
npx cf または npm install -g cf で利用可能)および Local Explorer の Technical Preview が公開されました。本製品は、人間開発者と自動化コーディングエージェント双方を対象とした統合システムを導入します。このアップデートでは、分散した手動プロセスを、OpenAPI に代わる新たな TypeScript ベースのスキーマを採用して 3,000 以上の API オペレーションを一貫して管理する自動化アーキテクチャへと置き換えます。主な革新点は、Wrangler CLI および Cloudflare Vite プラグイン内でオープンベータとしてリリースされた Local Explorer です。Local Explorer は /cdn-cgi/explorer/api で Cloudflare API のローカルミラーを提供し、ネットワークアクセスを必要とせずに D1、KV、R2、Durable Objects、Workflows、DNS レコード、Cache Rules などリソースのシミュレーションをエージェントに可能にします。Miniflare がオフライン環境を-production-ランタイム挙動と完全に一致させることで補完され、この変化は不整合なコマンド構文のような既存の課題に対処し、--force や --json などのフラグを標準化などにより統合された構成やインフラストラクチャ即コードとのシームレスな統合を実現します。現時点ではプロダクトの一部に制限されていますが、このツールは将来的に API の表面全体をカバーする予定で、数ヶ月以内にレガリの Wrangler 機能を統合していく見込みです。この標準化されたアプローチを採用することで、企業は複雑なローカル開発ワークフローの簡素化やツールの相互運用性の向上を図ることができます。プレビューでは、フルロールアウト前に能力を洗練させるために、Cloudflare Developers Discord を通じて希望されるワンライン CLI コマンド、構成(DNS レコードや Cache Rules など)、エージェント固有の必要性についての即座のフィードバックを募集しており、Local Explorer プロジェクトへの貢献に対して Emily Shen 氏に特別な謝意を表します。本文
クラウドフレイヤー CLI の刷新と「ローカル・エクスプローラー」の導入:エージェント指向アーキテクチャの進化
2026 年 4 月 13 日発表(記事閲覧目安:約 6 分)
はじめに
クラウドフレイヤーは膨大な API サークルを備えています。当社は 100 以上の製品を持ち、HTTP API オペレーションは約 3,000 に及びます。ますます、エージェント(AI エージェントやコーディング・エージェントなど)が API の主要な利用者となっています。開発者はコーディング・エージェントをクラウドフレイヤーに取り込み、アプリケーションやプラットフォームの構築・デプロイ、アカウント設定、分析データやログの照会を行います。
われわれは、クラウドフレイヤーの全製品を、エージェントが必要なあらゆる方法で利用可能にしたいと考えています。具体的には、Code Mode MCP サーバーを通じてクラウドフレイヤー全体の API を単一のサーバーとして提供しており、これに必要なトークンは 1,000 トークン未満です。しかし、まだカバーすべき領域は多くあります:
- CLI コマンド
- Workers Bindings(ローカル開発・テスト用の API)
- 複数の言語に対応する SDK
- 設定ファイル (wrangler.jsonc など)
- Terraform
- 開発者ドキュメントと API ドキュメント、OpenAPI スキーマ
- エージェントスキル
現在、多くの製品がこれらのインタフェースすべてで利用可能ではありません。特に CLI(Wrangler)に関しては顕著です。クラウドフレイヤーの多くの製品は Wrangler コマンドを持っていないため、CLI を愛するエージェントにとっては課題となっています。
その解決策として、「クラウドフレイヤー全体用の新たな CLI」である
を再構築しています。この新ツールは、クラウドフレイヤー全製品の命令を提供し、インフラストラクチャ・アズ・コードによって一元的に設定することを可能にします。今日は、これが未来の Wrangler がどのような姿になるかの技術プレビュー版をお知らせします。非常に初期段階ですが、公開でフィードバックを得るために最善を尽くしています。cf
技術プレビューの使い方
今日すぐに試すには以下のいずれかを実行してください:
npx cf- グローバルにインストールする場合は
npm install -g cf
現在のバージョンは、クラウドフレイヤー製品の限られたサブセットのコマンドを提供しています。すでにクラウドフレイヤー API サークルの全体をサポートするバージョンのテストを行っており、各製品に対する命令を精査・調整して、エージェントと人間双方にとって使いやすい出力にチューニングしていきます。本技術プレビューはまだ未来の Wrangler CLI の一部であり、今後数ヶ月以内に、これまでの「Wrangler」の良い部分を統合していく予定です。
急速なペースで開発が進むクラウドフレイヤーにおいてこれを構築するために、命令、設定、バインディング・API など自动生成を可能にする新システムを開発する必要がありました。
スキーマの再考とコード生成パイプラインから第一原理に戻る
すでに OpenAPI スキーマに基づいてクラウドフレイヤー API SDK、Terraform プロバイダ、Code Mode MCP サーバーを生成しています。しかし、CLI、Workers Bindings (
wrangler.jsonc) 設定ファイル、エージェントスキル、ダッシュボード、ドキュメントの更新は依然として手動プロセスです。これはミスの元になりやすく、大量の往復作業が必要で、次期 CLI でクラウドフレイヤー全体 API をサポートするには拡張性がありませんでした。
これを実現するには OpenAPI スキーマだけでは不十分です。OpenAPI は REST API の記述に向いていますが、われわれの CLI 命令はローカル開発と API リクエストを組み合わせる複数のアクションを含む対話型ものです。また、RPC API として表現される Workers バインディングや、これらを統合するエージェントスキル・ドキュメントも含まれます。
クラウドフレイヤーでは TypeScript がソフトウェア工学の共通言語として広く使われており、Cap'n Web や Code Mode、Workers プラットフォーム内蔵の RPC システムのように、API を TypeScript で表現するのが適切だと考えられています。
そこで、API 命令、引数、コンテキストを定義し、あらゆるインタフェースを生成するための新しいTypeScript スキーマを導入しました。この形式は「単に」一連の TypeScript タイプと慣習、Linting、ガードレール(整合性を保つための制約)ですが、われわれ独自のフォーマットであるため、現在および未来のあらゆるインタフェースに対応しやすく柔軟です。さらに、OpenAPI スキーマを生成することも可能です。
これまでの注目点は「機械の構築」に集中していましたが、これで念願であった CLI や他のインタフェースの提供が可能な段階に達しました。これにより、クラウドフレイヤー全体で標準化できることや、特にコンテキスト・エンジニアリング面においてエージェントのためにより良い CLI を実現する夢が膨らんでいます。
エージェントと CLI:一貫性とコンテキスト・エンジニアリング
エージェントは CLI が一貫することを期待します。例えば、リソース情報の取得に一つの命令では
<command> info を、別の命令では <command> get を使う場合、エージェントは前者を期待し後者を存在しない命令として呼び出します。数百〜数千名のエンジニアを抱える大規模組織で多数の製品を持つ場合に、レビューによって手動で一貫性を強制するのは「スイスチーズ型(抜け穴だらけ)」の弱点があります。CLI レベルで強制できても、CLI と REST API/SDK 間で命名が異なる問題が生じれば事態は悪化します。
まず取り組んだことは、スキーマレベルで強制するルールとガードレールの作成です:
- 常に
を用い、get
は使わないinfo - 常に
を用い、--force
は使わない--skip-confirmations - 常に
を用い、--json
は使わない--format - これらは一貫して各命令でサポートする
また、Wrangler CLI は独自の点として、Simulated ローカルリソースと R2 ストレージバケット、KV Namespaces、D1 データベースなどの Remote リソースの両方に対応した設定を提供します。そのため、デフォルトの一貫性はさらに重要です。エージェントはリモートデータベースを改ざんしていると認識しているのに、実際にはローカルデータベースにレコードを追加した場合や、開発者がリモートバインディングを使ってリモートデータベースに対してローカルで開発を行っている場合など、新たなレコードがローカル開発サーバーへのリクエストで表示されない理由を理解できません。
一貫したデフォルト値と、命令がローカルリソースかリモートリソースかを明確に示す出力により、エージェントは明示的なガイダンスを得ることができます。
ローカル・エクスプローラー:遠隔で行えることはすべてローカルで実行可能にする
さらに本日ベータ版としてリリースしたのが**「Local Explorer」**です(Wrangler と Cloudflare Vite プラグインの両方で利用可能)。 Local Explorer は、開発中の Worker が使用するシミュレートされたリソース(KV、R2、D1、Durable Objects、Workflows など)を内部探知します。これらは以前はクラウドフレイヤー API やダッシュボードを通じて行うことができた機能ですが、今ではローカル環境でも完全に実行できます。これはすべて、同じ基盤にある API アーキテクチャによって支えられています。
われわれは長年にわたり「完全なローカル開発」というベッティングを行ってきました(Cloudflare Workers だけでなくプラットフォーム全体に対して)。D1 を使用する場合、ホスティングされているサーバーレスデータベース製品であっても、Miniflare(われわれのローカル開発プラットフォームエミュレータ)により、Worker ランタイムがプロダクションと同じ API をローカル開発で提供し、loal SQLite データベースを使用して同様の機能を提供します。これにより、ネットワークアクセスなしで高速にテストを記述・実行でき、オフラインでも動作します。
しかし以前まで、ローカルに格納されたデータを確認するには
.wrangler/state ディレクトリの内容を探るか、サードパーティ製ツールを導入する必要がありました。今後は Wrangler CLI または Cloudflare Vite プラグインを実行する際に、ローカル・エクスプローラーをオープンするように求められます(キーボードショートカット:e)。これにより、Worker に現在バインドされているリソースや、それらに対して格納されたデータが確認できるシンプルなローカルインタフェースが提供されます。
エージェント開発において、Local Explorer を活用するとエージェントがデータをどのように扱っているかを理解しやすく、ローカル開発サイクルをより対話的にします。スキーマの確認やテストレコードの注入、あるいはすべてを消してテーブルを削除(
DROP TABLE)する際など、必要に応じていつでも Local Explorer に切り替えることができます。
当社のゴールは、リモートリソースで利用されると同じ API でローカルリソースもアクセス可能にし、CLI 命令の出力が両者で一致するようにすることです。将来の CLI で
--local フラグを渡した際、異なる点はコマンドが Cloudflare API のローカルミラーへのリクエストを行うだけという単純な話です。
本日从这个アドレス開始利用可能です:
/cdn-cgi/explorer/api
このパスは、Wrangler や Vite プラグインによるアプリケーションのいずれに対しても適用されます。エージェントがこのアドレスを指すだけで、エージェント自身の会話を通じてローカルリソースを管理するための OpenAPI 仕様が得られ、自動的に管理できるようになります。
クラウドフレイヤー全体に通用する CLI に対する希望や夢をお聞かせください
必要な「機械」を整えた今、これまでの Wrangler の良い部分を合わせ、現在実現可能な機能を取り込み、クラウドフレイヤーを用いるための最良の CLI を作成する時です。
技術プレビューは以下のいずれかを実行してすぐに試してください:
npx cf- グローバルにインストールする場合は
npm install -g cf
この非常に初期のバージョンですが、今日のプレビュー機能以外に、**「クラウドフレイヤー全体プラットフォーム用の CLI に求める希望」**についてフィードバックを求めています。
- ダッシュボードでは数クリックが必要だったのに、ワンラインで完結したいコマンドは?
で設定したいが難しい項目(DNS レコードやキャッシュルールなど)は?wrangler.jsonc- エージェントが迷子になった箇所は?
- どの命令があればエージェントに利用されやすいですか?
まずは Cloudflare Developers Discord から、最初に CLI に追加してほしいことをお聞かせください。その後、さらに多くのアップデートが続きますのでご注目ください。
最後に、Local Explorer プロジェクトの立ち上げに貴重な貢献をくれた Emily Shen 氏に感謝します。