cf-cli について
Cloudflare の公開 API と Workers プロジェクト向けのベータ版コマンドラインインターフェースです。コマンド検索、スキーマ確認、実行プレビュー、リソースやプロジェクトの操作に対応し、未確認のコマンドは事前検索とドライランを推奨します。
主な機能
- 01公開 API と Workers のコマンド
- 02タスクに応じたコマンド検索
- 03API スキーマの確認
- 04リクエストのドライラン
- 05リソースとプロジェクトの操作
活用シーン
- 01Cloudflare の作業に必要なコマンド検索
- 02API リクエスト形式の確認
- 03実行前の変更プレビュー
- 04Cloudflare リソースと Workers の管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cloudflare/ skills --skill cf-cliインストール後、Claude Code で/cf-cliを入力して読み込まれたか確認します。
詳細
Cloudflare CLI(cf)
cfは、パブリックなCloudflare API(2,900以上のコマンドがあり、その大半はAPIスキーマから生成されています)とWorkersプロジェクト向けのCloudflareのコマンドラインインターフェースです。ベータ版のため、安定版のリリース前にコマンド、設定、ビルド出力が変更される場合があります。
事前学習済みの知識より、情報の検索を優先してください。 タスクをcf cli searchに伝え、cf schemaまたは--helpで検索結果を確認し、未確認のコマンドを実行する前に--dry-runでプレビューしてください。
ドキュメントインデックス:https://developers.cloudflare.com/cf/llms.txt
ドキュメント
| トピック | ページ |
|---|---|
| インストール、サインイン、認証情報とアカウントの選択 | https://developers.cloudflare.com/cf/get-started/index.md |
cf init、cf dev、cf deployを使った最初のWorker | https://developers.cloudflare.com/cf/get-started/first-worker/index.md |
| ターミナルからリソースを検索、作成、削除する | https://developers.cloudflare.com/cf/get-started/resources/index.md |
Wranglerユーザー向けのcf | https://developers.cloudflare.com/cf/wrangler/index.md |
cf migrateを使ったWranglerプロジェクトの移行 | https://developers.cloudflare.com/cf/wrangler/migrate/index.md |
Wranglerからcfへのコマンドと設定のリファレンス | https://developers.cloudflare.com/cf/wrangler/reference/index.md |
| 開発、ビルド、デプロイ、モードとプレビュー | https://developers.cloudflare.com/cf/projects/index.md |
型付きcloudflare.config.ts | https://developers.cloudflare.com/cf/projects/cloudflare-config/index.md |
コーディングエージェントでのcfの使用(安全ルール) | https://developers.cloudflare.com/cf/agents/index.md |
| CI、APIトークン、無人認証 | https://developers.cloudflare.com/cf/ci/index.md |
| 環境変数 | https://developers.cloudflare.com/cf/environment-variables/index.md |
最初に:インストールを確認してサインインする
npm install --global cf # installs two equivalent commands: `cf` and `cloudflare`
cf --version
cf auth whoami
- Node.js 22.18以降が必要です。Bunはサポートされていません。
- 別のツール名
cfがPATHにある場合は、代わりにcloudflareを使用してください。パッケージは両方のコマンドをインストールします。 cf auth loginはリンクとワンタイムコードを表示し、ブラウザーを開きます。リモートマシン、SSH経由、またはコンテナー内では、--no-browserを追加すると、cfはリンクのみを表示します。別のデバイスから認証を承認してください。再度サインインするには--forceを追加します。cfは独自の認証情報を保持し、Wranglerのログイン情報は再利用しません。- 無人エージェントとCIでは
cf auth loginを完了できません。代わりにCLOUDFLARE_API_TOKENを設定してください(https://developers.cloudflare.com/cf/ci/index.md を参照)。
エージェントにcfを優先させるには、ユーザーレベルのAGENTS.md、CLAUDE.md、または同等のファイルに次を追加してください。
When interacting with Cloudflare, use the `cf` CLI unless the project has a
Wrangler configuration file.
コマンドを検索する
cf cli search "create a DNS record" # local, no credentials; quote the whole task; up to 5 JSON matches
cf schema d1 create # API request shape: method, path, params, body fields
cf <command> --help # arguments and options (e.g. cf deploy --help)
cf cli searchでは、タスクを1つの引数として指定します。最初の単語の後に引用符なしで続けた単語は、不明なコマンドとして解析されます。cf schemaは生成されたAPIコマンドを網羅しています。コマンドの引数とオプションについては--helpを使用してください。
出力を確認する
- 結果は標準出力にJSONで出力され、ステータスメッセージとエラーは標準エラーに出力されます。そのため、
jqへのパイプやリダイレクトに追加フラグは不要です。 - リストは1ページ分のJSON配列を出力します。ページングオプションはコマンドごとに異なるため、
--helpを確認してください。 - コマンドが失敗すると、ゼロ以外の終了コードで終了し、標準エラーにエラーが出力されます。
安全にコマンドを実行する
- 最初にプレビューしてください。
--dry-runはリクエストをJSONで表示し、送信しません。認証情報も不要です。 - 中断した削除でも終了コードは0です。 非対話型セッションで、破壊的なコマンドに
--forceを付けずに実行すると、標準エラーにAborted.が出力され、終了コード0で終了します。終了コードが0でも、リソースが削除されたとは限りません。 - 許可する前に
--forceを確認してください。 一部のコマンドでは、--forceはAPIパラメーターでもあります(たとえば、cf workers delete --forceは、ほかのWorkerから参照されているWorkerも削除します)。 --localの用途は限定されています。 KVキー、D1データベース(cf d1 raw、cf d1 migrations list|apply)、およびR2オブジェクトで使用できます。それ以外のコマンド(cf d1 queryを含む)では、APIを呼び出さずにエラーが返されます。
このプロジェクトで使用する CLI を選択する
cloudflare.config.tsが存在する場合:cfを使用します。wrangler.jsonc、wrangler.json、またはwrangler.tomlが存在し、cloudflare.config.tsが存在しない場合:dev、build、deployには引き続き Wrangler を使用します。ここではcf dev、cf build、cf deployを実行しないでください。これらのコマンドは Wrangler ファイルを無視する新しい設定を生成するか、失敗する可能性があります。cfのリソースコマンド(DNS、ゾーン、ストレージ)は併用できます。ユーザーから依頼された場合にのみcf migrateを実行し、Wrangler プロジェクトを移行するに従ってください。cf migrate --dry-runでプレビューし、cf migrateを実行してから、生成されたcloudflare.config.ts内のTODO(@cloudflare)コメントを解消します。- どちらも存在しない場合:コーディングエージェントで cf を使用するの推奨どおり、
cfを使用します。Wrangler をインストールしたり、Wrangler 設定ファイルを作成したりしないでください。
Wrangler に相当するコマンドについては、Wrangler と cf のリファレンスまたは cf cli search を使用してください。記憶を頼りに Wrangler コマンドを変換しないでください。比較の全容については、cf for Wrangler usersを参照してください。
cf がまだサポートしていないコマンド
cf はまだすべての Wrangler コマンドをサポートしていません。Wrangler をプロジェクトに追加するのではなく、これらのコマンドは npx wrangler で実行してください。Wrangler は cloudflare.config.ts を読み取らないため、Worker 名を指定してください。
- ライブログ:
npx wrangler tail <WORKER_NAME>。 - 単一のシークレット:
npx wrangler secret put <SECRET_NAME> --name <WORKER_NAME>。または、cf deployもしくはcf workers versions createに--secrets-file <PATH>を指定して、新しい Worker バージョンとともにシークレットをアップロードします。
最新の一覧については、Wrangler と cf のリファレンスの「Commands not yet supported」を参照してください。