LEVEL 2 ハンズオン
前回ブラウザで作ったpages.devプロジェクトを、Claude Code経由のコマンド操作で更新できるようにする
前回のハンズオンで作ったフォルダをそのまま作業フォルダとして使う
~/Desktop/claude/sup
~/Desktop/claude/profile
public/
新しいフォルダで始める
~/Desktop/claude/my-site
Wrangler は Cloudflare 公式の CLI ツール。Node.js 上で動くが npx でインストール不要で実行できる
npx
Claude Codeで実行:
node -v
.pkg
npm
Cloudflareにログインする(一回だけ)
ターミナルから実行する流れにする
npx wrangler login
Claude Code の !npx wrangler login でも実行はできるが…
!npx wrangler login
ブラウザが開いて OAuth 認証画面が表示される(すでにログイン済みなら何も起きない)
Claude Codeに入力:
npx wrangler whoami
アカウント名やメールアドレスが表示されればOK
public/ に前回作ったファイルが入っている状態でClaude Codeに伝える:
public/ の中身は前回のハンズオンで作ったサイトです。これに手を入れていきます。
その後、見た目の変更を依頼するとデプロイ後に変化が確認しやすい:
ダークモード風にして
パステルカラーにして
時計Webアプリを作るプロンプト例:
このフォルダに public フォルダを作ってください。 公開するファイルは public の中だけに置きます。 public/index.html を作って、簡単なWebページ(Hello Worldと現在時刻を表示)を作成してください。 派手な感じにしてください。
途中でファイル操作の許可を求められたら、その都度許可する。完成したらFinderで public/index.html をダブルクリックしてブラウザで表示確認
public/index.html
ブラウザで作ったpages.devプロジェクトを、そのままWrangler管理に切り替えて更新する流れがメイン
既存のpages.devプロジェクト一覧を表示:
npx wrangler pages project list
thisisapen
既存プロジェクト名 を実際の名前(例: thisisapen)に置き換えて実行:
既存プロジェクト名
npx wrangler pages deploy ./public --project-name=既存プロジェクト名 --branch=main
./public
https://既存プロジェクト名.pages.dev
前回のハンズオンを通っていない、または別の新しいプロジェクトを作りたい場合
プロジェクト名のコツ:
*.pages.dev
https://候補名.pages.dev
プロジェクト作成(初回のみ):
npx wrangler pages project create プロジェクト名 --production-branch=main
続けてデプロイ:
npx wrangler pages deploy ./public --project-name=プロジェクト名 --branch=main
--production-branch=main で本番ブランチ名を統一しておく
--production-branch=main
返ってきたURLに意図せぬサフィックス(-abc など)が付いていた場合:
-abc
npx wrangler pages project delete プロジェクト名
pages.dev
ファイル修正をClaude Codeに依頼:
index.html はダークな感じにして
修正を確認したら同じコマンドで再デプロイ:
URLをブラウザで開いて変更反映を確認
Cloudflare Pages の Git連携機能で、ダッシュボードからリポジトリを選ぶだけで自動デプロイを設定する
Cloudflareには Pages (*.pages.dev) のほかに Workers という同等のプラットフォームがあり、静的サイトをデプロイできる
<プロジェクト名>.<アカウントサブドメイン>.workers.dev
https://my-site.tatsuo-xxx.workers.dev
作業フォルダに wrangler.jsonc を作成:
wrangler.jsonc
以下のテンプレートで wrangler.jsonc を作成してください。 プロジェクト名は「my-site」、 YYYY-MM-DD は昨日の日付にしてください。 --- { "name": "プロジェクト名", "compatibility_date": "YYYY-MM-DD", "assets": { "directory": "./public" } }
name
compatibility_date
assets.directory
npx wrangler deploy
https://my-site.<アカウントサブドメイン>.workers.dev
Claudeの設定画面からCloudflare連携機能を追加できるが、試した範囲ではデプロイには対応していない
参考: Cloudflare MCPでできること・できないこと
ハンズオン中につまずきやすいポイントと小ネタ
Cloudflareの認証で詰まったら順に試す
Wranglerのログイン情報はローカルに保存されるので、npx wrangler login の再実行は通常不要
--branch=main
ブラウザのドラッグ&ドロップで作ったプロジェクトの本番ブランチは main がデフォルト
main
--branch=production
production.既存プロジェクト名.pages.dev
既存プロジェクト名.pages.dev
※ Cloudflare側の仕様で将来変わる可能性あり
Claude Code から Wrangler コマンドを実行すると、同じセッション内では「デプロイして」と依頼するだけで実行されるようになる
セッションをまたいでも同じようにしたい場合は、作業フォルダに CLAUDE.md を作って書いておく:
CLAUDE.md
デプロイ: npx wrangler pages deploy ./public --project-name=プロジェクト名 --branch=main
タツヲ (@yto)
vibecodingnotes.com