Cloudflareの新CLI「cf」を手元に入れた日:wranglerとの役割分担とOAuthデバイス認可でのログイン

開発claude-code-tools

Cloudflareの新CLI「cf」を手元に入れた日:wranglerとの役割分担とOAuthデバイス認可でのログイン

10時47分、Cloudflare 公式の告知ポストを Claude Code に貼った。 頼んだのは「これ何かちょっと調べてもらえませんかね。私の環境に取り入れてほしいんですけど」ということだった。 続けて「取り入れてますかね。どういうメリットありますかね」とも聞いた。

→ Cloudflare 公式の告知ポスト

もう入っているのかどうかも、自分では把握していなかった。

告知の中身は新しい CLI「cf」だった

Claude Code にはポストだけでなくブログ本文まで読んでもらい、手元の環境と突き合わせてもらった。 返ってきた報告の要点は3つある。

  • Cloudflare が 9/28 に出した、新しい CLI「cf」の発表だった。wrangler の後継にあたり、今はオープンベータ
  • 手元にはまだ入っていない。入っているのは wrangler 4.92.0 だけで、wrangler.toml を持つリポジトリは約25ある
  • Cloudflare 公式のスキル集(cloudflare/skills)も入っていない

「取り入れてますかね」への答えは、CLI もスキルも未導入だった。 一方、置き換えられる側の wrangler の設定ファイルは、約25のリポジトリに置かれている。 cf を入れたあと wrangler をどう扱うかは、この時点ではまだ決まっていなかった。

スキルは丸ごとではなく2本だけ入れた

スキルの入れ方については、プラグインとして入れるのが一番きれいなので1点だけ決めてほしい、と Claude Code から聞かれた。 こちらから返事を貼ると、先に cf CLI のインストールが済んだ。 入ったのは cf v1.0.0-beta.5 である。

スキルのほうは、丸ごとではなく2本だけ入れる案が出てきた。 「OK、それでいきましょうか」と返した。

入れたのは web-perf と workers-best-practices の2本で、~/.claude/skills/ に置いた。 説明文は Claude Code に日本語へ書き直させ、出典のメモも付けてもらった。 そのセッションのスキル一覧に、日本語の説明付きで2本が並んだことも確認できた。 ただし、Mac 側にはまだ届いていない。

ログインだけは自分の手でやった

cf CLI は入ったものの、ログインしないと Cloudflare は操作できない。 ログインはブラウザで行う必要があり、ここだけは Claude Code から「お願いします」と頼まれた。

自分がターミナルで打ったのは、この1行だけだった。

cf auth login

出力には Starting OAuth login flow... に続いて、OAuth のデバイス認可(Device Authorization Grant)でログインを試みる旨が出た。 ブラウザが開き、そこで認可が通った。

3つの用途のうちアクセス解析だけが取れなかった

ログインが通ってから、Claude Code に3つの用途を順に試してもらった。 ゾーンと DNS の読み取りを確かめ、次にキャッシュ削除を dry-run(実際には消さない予行)で流し、最後にゾーンのアクセス解析まで届くかを見た。

結果は次のとおりだった。

用途結果
ゾーンと DNS の取得取得できた
キャッシュ削除dry-run で準備までは確認できた
アクセス解析cf では取れなかった

認可コードを貼ったら、もう要らなかった

ひとつ、自分の手順が空振りした場面がある。 ログインが済んだあとで、デバイス認可のコードをチャットにそのまま貼った。

Claude Code の返事は「そのコードはもう入力しなくて大丈夫です」だった。 cf auth login でブラウザが開いたときにコードは受け付けられていて、ログインは完了していた。 念のため cf auth whoami の結果を見てもらうと、「ログイン済み、トークン有効」と出た。

wrangler はデプロイ、cf は DNS とキャッシュ削除

確認が済んだところで、Claude Code に cf の手順書を書かせた。 置き場所は ~/.claude/references/cloudflare-cf-cli.md で、あわせて CLAUDE.md からの導線も足してもらった。

グローバルの CLAUDE.md には、状況別に読むリファレンスの表がある。 その表の cf の行には、次の分担が書いてある。

  • Cloudflare のキャッシュ削除、DNS、ゾーン設定を触るときは cf CLI を使う
  • デプロイは wrangler と /deploy コマンドのまま

後継と紹介された CLI を入れても、デプロイの経路は動かしていない。 約25のリポジトリの wrangler.toml はそのままで、cf が引き受けるのは、キャッシュ削除や DNS のようなゾーンまわりの作業である。

プッシュが古いマージ衝突で止まった

最後に「じゃあコミットプッシュしておきましょうか」と頼んだ。 今回入れた背景を公開記事にすることも口にしかけたが、それは明日やるからと取り下げた。

プッシュは一度止まった。 Claude Code の報告によると、自動同期に古いマージ衝突が残っていた。 その朝に出ていたバックアップ遅延の警告も、これが原因だった。

衝突を解く前に、Mac 側で何が変わったかを Claude Code に確かめてもらった。 マージを通すと、キャッシュしていたスキル群がディスクから消えた。 これは想定どおりの動きで、スキル群はいまは git の管理外になっている。 消えた分はバックアップから戻してもらい、428件中428件の復元を確認した。

そのうえで Cloudflare まわりの変更をコミットしてもらった。 ~/.claude(dotclaude リポジトリ)へのコミットは2件で、プッシュまで済み、origin との差はゼロになった。 朝から警告が出ていたバックアップ同期の詰まりも、この途中で解消した。

振り返り

冒頭の「取り入れてますかね」への答えは、未導入だった。 入れ終えたあとに手元に残ったのは、作業ごとにどちらの CLI を使うかという分担である。

  • 後継と紹介された CLI でも、入れた日にデプロイの経路までは移さなかった。用途を3つ試し、通った DNS とキャッシュ削除を cf に任せ、デプロイは wrangler に残した
  • ブラウザでのログインは自分、用途の確認と手順書づくりは Claude Code という分担で、導入は1セッションに収まった

導入の背景を公開記事にまとめるのは、翌日の作業に回した。

#Cloudflare#cf CLI#wrangler#Claude Code#OAuth#開発環境