Cloudflare cf CLI Open Beta: 全API対応のエージェント向けコマンドラインインターフェース

cf CLIにより、エージェントがCloudflareの3,000以上のAPI操作すべてにフルアクセス可能に

Cloudflareの新しい cf コマンドラインインターフェースは、Wranglerの約280個のコマンドからCloudflareの全API領域へとカバレッジを拡大しました。これにより、エージェントは単一のツールからWorkerの作成、コードのデプロイ、DNS管理、ドメイン購入、セキュリティ設定などを行えるようになります。これは、エージェントが一貫したJSONファーストのインターフェースを持つことで、トークン消費量を削減し、場当たり的な --json フラグやテーブル解析の必要性を排除できるため、非常に重要です。


JSONファースト設計がLLM駆動型自動化のトークンコストを削減

これまでWranglerを使用していたエージェントは、対応している少数のコマンドに --json を付与し、その後 jq で出力をフィルタリングする必要がありました。Wranglerのコマンドのほとんどは人間向けのテーブル形式で出力されるため、エージェントは無関係なフォーマットの解析に余分なトークンを消費させられていました。cf はJSONをデフォルトの出力とし、人間には読みやすく、エージェントにはコンパクトな形式で提供することで、API呼び出しコストを直接的に下げ、推論を高速化します。

"エージェントにはJSONが必要であり、もしエージェントがこのツールの主要な将来のユーザーであるならば、それがデフォルトであるべきだ。" – Cloudflare blog


cf cli search によるエージェント中心のコマンド検索

3,000以上のルートが存在するため、エージェントはコンテキストを肥大化させることなく適切な操作を見つける方法を必要としています。cf cli search コマンドは自然言語クエリを受け付け、APIの説明とパラメータに基づいて一致するコマンドのランキングリストを返します。初回実行時の --help で、エージェントはこの機能について自動的に通知されます。


TypeScriptベースの cloudflare.config.ts による型チェックされた設定

新しい設定ファイルはTypeScriptで記述されており、LSP対応のエージェント(Claude Code、Codexなど)が理解し、オートコンプリートできるスキーマを提供します。型定義された設定により、エージェントは環境、バインディング、トリガーを安全に編集でき、WranglerのTOMLやJSONCフォーマットと比較してエラーを削減できます。

import { bindings, defineConfig } from "cf/config";
import * as entrypoint from "./index.js" with { type: "cf-worker" };

export default defineConfig(({ mode }) => ({
  worker: {
    name: "example-worker",
    entrypoint,
    compatibilityDate: "2026-09-27",
    env: {
      Environment: bindings.text(`This is ${mode} environment`),
    },
  },
}));

この設定には、KV、D1、R2、Queues、AIなどのヘルパー関数も含まれており、すべてエディタでオートコンプリートされます。


Viteのデフォルト採用によるモダンな開発体験

esbuildとカスタム開発サーバーに依存していたWranglerとは異なり、cf はViteをデフォルトのバンドラーおよび開発サーバーとして使用します。Viteはホットモジュールリプレースメント(HMR)、豊富なプラグインエコシステム、そしてRolldownによるRustベースのツリーシェイキングをもたらします。Cloudflare Vite PluginとVitestの統合により、Workersランタイムを反映した一貫性のあるワークフローが提供されます。


Wranglerからのシームレスな移行

既存のプロジェクトは単一のコマンドで移行可能です:

cf migrate

すでにViteを使用しているWorkersは自動的に cloudflare.config.ts に変換されます。Wranglerのesbuildに依存しているプロジェクトは、引き続きビルドをWranglerに委譲することで後方互換性を維持します。新規プロジェクトは cf init でブートストラップするか、静的サイトであれば cf deploy で直接デプロイできます。


Hacker Newsでのコミュニティの反応

  • ポジティブな興奮 – ユーザーからは「最近の最高の製品ローンチのいくつかはCLIである」という声や、Wranglerの代替としての歓迎の声が上がりました。
  • エージェントファーストへの称賛 – コメンテーターは、JSONファーストのインターフェースと cf cli search 機能がトークン消費量を削減する利点を強調しました。
  • 批判と提案 – 一部のユーザーはTypeScriptの選択に疑問を呈し、CLIにはコンパイル言語を推奨したり、発見性を高めるためのOpenCLI仕様のサポートを求めたりしました。
  • 運用上の懸念 – トークン生成には依然として手動のWeb操作が必要であるという指摘や、プレリリース版でのCI失敗を報告するユーザーもいました。

"最近の最高の製品ローンチのいくつかはCLIであるというのは驚きだ。" – @emadabdulrahim

"なぜこれがTypeScriptで書かれているのか理解できない…CLIの依存関係をユーザーに管理させるべきではない。" – @slowin


今後の展望:Cloudflareの主要なオペレーターとしてエージェントを

Cloudflareは cf を、台頭するエージェント型開発ワークフローのための基盤ツールとして位置づけています。コマンド命名の標準化、検索可能なインデックスの提供、型チェックされた設定の提供により、このCLIはAIエージェントと人間の開発者の両方にとってのデフォルトインターフェースを目指しています。将来のロードマップには、ネイティブなTerraformエクスポートや cloudflare.config.ts を介したより広範なポリシー設定などが示唆されています。


はじめ方

オープンベータ版をグローバルにインストールします:

npm i -g cf

cf --help を実行して検索のヒントを確認し、cf workers deploy、cf dns create、または cf cli search "buy a domain" などのコマンドを試してみてください。


cf CLIはオープンソースです。問題は GitHub repository で報告できます。

Sources

関連

  • プロジェクト
  • Dispatch
  • Dispatch
  • プロジェクト
  • Dispatch