Cloudflare CLIで公式ドキュメントを検索し、Markdownで取得する

Cloudflare CLIで公式ドキュメントを検索し、Markdownで取得する

Cloudflare CLIのcf docs searchで公式ドキュメントを検索し、結果のURLからMarkdown本文を取得します。ログイン不要の検索をbeta.18で試し、jqとcurlを使う手順、JSONの読み方、検索語を扱う際の注意点をまとめました。
2026.10.19

どうも!オペ部の西村祐二です!

Cloudflareの設定方法を調べるとき、ターミナルから公式ドキュメントを探し、そのままテキストで読みたいことがあります。Cloudflare CLIのcf docs searchなら、検索結果のURLを使ってMarkdown本文まで取得できます。

まずは検索結果をJSONで受け取る

cfが導入済みなら、検索語を引用符で囲んで実行します。Cloudflareへのログインは不要で、インターネット接続は必要です。

cf docs search "proxy a DNS record"

返るのはページ本文ではなく、title、description、urlを含む検索結果の配列です。公式の説明によると、検索結果は順位付きで最大5件返されます。

検証時に返った5件のうち、先頭1件を抜粋します。

dns-results.json(先頭1件の抜粋)
[
  {
    "title": "Proxy DNS records",
    "description": "Proxy DNS records through Cloudflare.",
    "url": "https://developers.cloudflare.com/learning-paths/prevent-ddos-attacks/baseline/proxy-dns-records/"
  }
]

検索結果のURLからMarkdown本文を保存する

次のコマンドではjqとcurlも使います。検索結果のタイトルと説明を読み、先頭のページが目的に合っていれば、そのURLから本文を取得できます。

cf docs search "proxy a DNS record" > dns-results.json &&
url=$(jq -er '.[0].url' dns-results.json) &&
curl -fsSL -H 'Accept: text/markdown' "$url" -o cloudflare-doc.md &&
head -n 6 cloudflare-doc.md

取得したファイルの冒頭には、次のようにタイトルと説明を含むfrontmatterがありました。HTTPレスポンスのContent-Typeもtext/markdown; charset=utf-8でした。

cloudflare-doc.md(冒頭の抜粋)
---
description: Proxy DNS records through Cloudflare.
title: Proxy DNS records

次の画像は、検索結果のタイトル・URLと、取得したMarkdownのタイトルを表示した実行画面です。

cf docs searchの検索結果と、取得したMarkdownのタイトル

このようにファイルへ保存すると、取得した公式ページの内容を手元で読んだり、コーディングエージェントへ渡したりできます。&&でつないでいるため、検索・URL抽出・取得が成功した場合だけ次へ進みます。検索結果が空ならjq -erが非ゼロで終了し、curlは実行されません。

試した環境と、検索結果を読む際の注意点

今回の環境はUbuntu 24.04.5 LTS(ARM64)、Node.js 24.21.0、cf 1.0.0-beta.18です。本文取得にはjqとcurlも使っています。cfの導入条件・手順ではNode.js 22.18以降が必要です。認証情報のない専用環境でも、検索とMarkdown取得は完了しました。

cf docs searchはbeta.16の告知で紹介された機能です。cf自体がまだベータ版で、オプションや出力が変わる可能性があります。試す前にcf --versionで手元のバージョンを確認しておくと、記事の結果と比べやすくなります。

検索結果には、同じページの見出しへのURLも含まれました。今回のDNS検索でも、先頭ページと、そのページ内の別見出しが並んでいます。5件返っても、5つの独立したページとは限りません。

日本語の「Workerを定期実行する」でも結果は返りましたが、今回の先頭はConfigure Worker Loaderで、Scheduled Handlerは3件目でした。先頭の結果をそのまま採用せず、タイトルと説明を読んでから選ぶのが確実です。順位や内容は、実行時点の検索結果によって変わります。

まとめ

cf docs searchで公式ページの候補をJSONで受け取り、選んだURLをAccept: text/markdown付きで取得すると、ターミナルからMarkdown本文まで読めます。ログインなしで試せますが、検索結果とページ本文は別なので、タイトル・説明を見て取得するページを選ぶと使いやすいです。

参考リンク:

この記事をシェアする

関連記事