世界を動かす技術を、日本語で。

Cloudflare全体のためのCLIの構築

概要

  • Cloudflareは100以上の製品と約3,000のHTTP API操作を提供
  • エージェントによるAPI利用が増加し、CLIの需要が高まる現状
  • Wrangler CLIを全Cloudflare製品対応に向けて再構築中
  • TypeScriptベースの新スキーマ導入で一貫性と拡張性を確保
  • Local Explorerなどローカル開発を強化する新機能も提供開始

Cloudflare全製品対応Wrangler CLIの進化

  • Cloudflare は100以上の製品と約 3,000のHTTP API操作 を展開
  • 開発者やエージェントがAPIを利用し、アプリやプラットフォームをCloudflare上で構築・設定・分析
  • すべてのCloudflare製品をCLI・SDK・Terraform・APIドキュメント等、あらゆるインターフェースで利用可能にする目標
  • 特にCLI( Wrangler)未対応製品が多く、エージェントからのCLIニーズが高い現状
  • 次世代Wrangler CLIのテクニカルプレビューを公開、 npx cf または npm install -g cf で試用可能
  • 現時点では一部製品のみコマンド提供、今後全API対応予定
  • 様々なインターフェース生成を自動化する新システムを開発、製品開発の高速化に対応

TypeScriptスキーマによる一貫性と拡張性

  • 従来の OpenAPIスキーマ ではCLIやローカル開発、Agent Skills等の複雑な要件に対応困難
  • TypeScript ベースの新スキーマを導入し、CLIコマンド・引数・コンテキストを統一的に定義
  • 独自スキーマにより、将来的な新インターフェースやOpenAPIスキーマ生成にも柔軟対応
  • スキーマ層でコマンド命名規則やオプション(例: get のみ使用、 --force のみ採用等)を強制
  • CLI・SDK・REST API間での命名一貫性とユーザー体験向上

ローカル開発強化:Local Explorer

  • 新機能 Local Explorer をWrangler・Cloudflare Viteプラグインでベータ公開
  • KV、R2、D1、Durable Objects、Workflows等のローカルリソースを直感的に可視化・操作
  • Miniflare によるローカルエミュレーション環境で、本番と同等のAPI利用が可能
  • ローカルデータの確認やスキーマ検証、テストデータ投入、リセット操作が容易
  • /cdn-cgi/explorer/api でローカルAPIエンドポイント提供、OpenAPI仕様にも対応
  • CLIコマンドで --local フラグを付与すれば、ローカルAPIへ自動切替

今後への期待とフィードバック募集

  • Wrangler CLIの進化に向け、開発者・エージェントからのフィードバックを積極募集
  • ダッシュボードで数クリック必要な操作を一行CLI化する要望や、wrangler.jsoncで設定したい項目の意見も歓迎
  • Cloudflare Developers Discord で要望受付中、今後もアップデート予定
  • Cloudflareは企業ネットワーク保護、アプリ高速化、DDoS対策、Zero Trust推進など幅広い機能を提供
  • 詳細やキャリア情報は公式サイト・採用ページ参照

Hackerたちの意見

Cloudflare全体のCLIについての希望や夢を教えて! Wrangler CLIがローカル開発中に必要なAPIトークンの権限を事前に表示してくれるといいな。そうすれば、デプロイする前に何を準備すればいいかが分かるからね。さらに、cf permissions checkみたいなコマンドがあって、APIキーで何が足りないか、不要な権限は何かを教えてくれたら最高だね。

こういうドクターコマンドはいつもいいよね!もっとサービスにあればいいのに。

これには賛成だな。すごく役立つと思う。前に指が太くてミスしたことがあったから、これがあれば助かったのに。

今日はnpx cfを実行することで技術プレビューを試せるよ。もしくは、npm install -g cfでグローバルにインストールもできる。いくつか明らかな質問があるんだけど、オープンソースなの?(npmjsの方はリポジトリを指してないし)。それと、一般的に単一のバイナリとして提供されるのか、nodejsのツールが必要なくなるのかも気になる。もしそうなら、最近取得したBunや他の製品/アプローチを使うの?

私もリポジトリは見つからないけど、パッケージはMITライセンスでソースマップも含まれてるから、すぐに公開されると思うよ。

素晴らしい投稿で、インスピレーションをもらいます! TypeSpec https://typespec.io/が言及されてないのは驚きだな。これはTypeScriptに似たスキーマ言語で、「もしOpenAPIが良かったら」という感じで説明してるんだ。彼らはそれを考慮したけど、自分たちで作る方がシンプルで柔軟だと判断したのかな。BYOのコストはエージェントのおかげでかなり下がったしね。

TypeSpec大好き! OpenAPIを書くのが本当に楽になるのに同意するよ。でも、できるだけhttps://aep.devスタイルのAPIを使うようにしてる(時々TypeSpecで書かれてることもあるけど)。一貫性があるから、あらかじめ用意されたaepcliを使ったり、自分で簡単に書いたりできるんだ。すべてが一貫したパターンの「リソース」として振る舞うからね。それに、Terraformもそのままで使えるし、プロバイダーを書く必要もないんだ。

OpenAPIのどの部分を修正するの?

皮肉なことに、AIエージェントの登場で、GUIウェブページの「チェックボックスエンジニアリング」からCLIツールに戻ってる気がする。新しいバージョンのアセットをアップロードするたびに、Cloudflareでキャッシュをクリアするのにいろいろクリックしなきゃいけないんだ。オープンクローエージェントにメッセージを送ってやってもらえたらいいのに。

OpenClawなんて使う必要ある?CLIコマンドを直接呼び出せばいいじゃん。それがCLIの意味だし。

新しいTypeScriptスキーマを導入して、API、CLIコマンド、引数、インターフェースを生成するために必要なコンテキストの全範囲を定義できるようにしました。このスキーマ形式は、「ただの」TypeScriptの型のセットで、規約やリンティング、ガードレールを使って一貫性を確保しています。でも、なんでこのツール/フレームワークがここで紹介されてないのか混乱してる。これは何で、どうやって機能するの? 誰かが投稿したTypeSpecツールに似てるの?

最近、LLMにgcloud CLIを使ってGCPでサービスをデプロイしてもらったんだけど、GCPダッシュボードに一度も行かずに済んだ。まるで魔法みたいだったよ。

Hacker Newsで議論の続きを見る