LEVEL 3 ハンズオン
Cloudflare Pages の Git連携で GitHub リポジトリとつなぎ、GitHubに変更を反映するだけで自動デプロイされる仕組みを作る
詳細は GitHubとGitのセットアップ を参照
次章以降は以下の状態から進める前提:
my-first-site
~/Desktop/claude/my-first-site
~/Desktop/claude/my-first-site/index.html
Claudeデスクトップ → Code → New session → ~/Desktop/claude/my-first-site を指定
公開ファイルは ./public 配下に置く構成にする:
./public
public フォルダを作って。公開ファイルは public 配下だけに置く構成にする。 リポジトリのルートにある index.html は不要なので削除して。
HTML+JavaScriptでポモドーロタイマーを作って! public/index.html 1ファイルで作って。
複利計算機をHTML+JavaScriptで作って! 構成はHTMLファイル(public/index.html)が1つ。
最大60秒のカウントダウンタイマーをHTML+JavaScriptで作って! 秒数を入力してスタート・リセットできるようにしたい。 HTMLファイル1つ(public/index.html)にまとめて。
TODOリストをHTML+JavaScriptで作って! 項目の追加・削除ができて、ページを閉じても消えないようにしたい。 public/index.html に書いて。ファイルは1つで。
右上の プレビュー を選ぶと表示される(自動表示されることも)
GitHubリポジトリを連携すると、pushのたびに自動でビルド・デプロイされる
Cloudflareアカウントがなければ作る
詳細はSUPハンズオンの1-1を参照
Cloudflare側がリポジトリの中身を読み取るため、先にpushされている必要がある
変更をgitでコミットしてpushして(git push -u origin main で)
途中で操作の許可を求められたら対応する
ダッシュボード左メニュー Compute → Workers & Pages → 右上 Create application
Import an existing Git repository の Get started をクリック
初回はGitHubとの連携認可を求められる。Cloudflare GitHub App をインストールしてリポジトリへのアクセスを許可(全て、または my-first-site のみでもOK)
リポジトリ一覧から my-first-site を選び、Begin setup をクリック
Set up builds and deployments のページで設定するのは2項目:
thisisapen
public
Build command、Build output directory などは空欄でOK。./public 配下の静的ファイルがそのまま配信される
入力欄の直下に割り当てられるURLが表示される thisisapen.pages.dev のように入力した名前がそのまま → 競合なし thisisapen-abc.pages.dev のように末尾に文字が付く → すでに使われている、別名を検討
入力欄の直下に割り当てられるURLが表示される
thisisapen.pages.dev
thisisapen-abc.pages.dev
Save and Deploy をクリックするとビルドが始まる
完了すると公開URL(https://プロジェクト名.pages.dev)が表示される。アクセスして確認
https://プロジェクト名.pages.dev
以降は Claude Codeで修正 → push → 自動デプロイ の繰り返し
背景をもっと明るくしてください
数値入力をスライダーにしてください
ボタンの間隔をもっと広げて
参考: AIへの指示に使えるUI用語集 — 動く実例つき
変更をgitでコミットしてpushして
しばらく(1〜2分)待ってから公開URLにアクセスして確認
このサイクルを繰り返してWebアプリを仕上げる
一人完結型Webアプリ — データが自分の端末に保存される、シンプルな構成
静的なWebサイト・Webアプリの運用だけならここまでで十分
ここから先はデータベースを使うような、もう一歩進んだ応用編
チャットやランキングのように複数人でデータを共有するアプリ
その準備としてデプロイ仕組みを Git連携から GitHub Actions に切り替えておく
Git連携を GitHub Actions に切り替え、データ共有型に進む下地を作る
タツヲ (@yto)
vibecodingnotes.com