💡 はじめに:3つの言葉だけ覚えてください
ターミナル =PCに文字で命令する黒い画面。コマンドを貼って Enter するだけです。
Claude Code =あなたの代わりにファイルを作ってくれるAI。「呪文」 を貼ると作業してくれます。
Cloudflare =作ったアプリをインターネットに置いてくれる場所。
この3つを行ったり来たりするだけです。むずかしく考えなくて大丈夫👌
⚠️ 始める前に用意するもの
Claudeのデスクトップアプリ(Code機能つき)が入っていること
Wrangler(ラングラー)が使えてCloudflareにログイン済みであること
GitHub(ギットハブ)のアカウント
まだの場合は、各サービスのインストール手順を先にすませてください。準備ができたら下へ進みましょう。
0
まずは全体像をつかむ(1-2・1-3)
手を動かす前に、これから何をするのかを1分だけイメージします。
これから作るもの
「ひとことを書き込むと、みんなに表示される掲示板」を作ります。複数の人が使う=データを保存する場所(データベース) が必要なアプリです。
作業は大きく3ステップ
準備 … フォルダを作り、AIとデータベースを用意する
実装 … AIに中身(設計・ウラ側・画面)を作ってもらう
公開 … インターネットに出して、みんなが使えるようにする
💡 ひとつだけ大事なルール
データベースの「設計の変更」は、自動では本番に反映されません。
あとで出てくる npx wrangler d1 migrations apply ... --remote という命令を、自分で1回実行する必要があります。今は「へぇ」でOKです。
2
事前準備
作業する「箱(フォルダ)」を作って、道具(Claude Code)を開きます。
2-1. 作業フォルダを作る
デスクトップに claude というフォルダを作り、その中に my-bbs というフォルダを作ります。最終的にこうなればOKです👇
デスクトップ / claude / my-bbs
🍎 Macの方
🪟 Windowsの方
デスクトップで右クリック →「新規フォルダ」で claude を作る
claude をダブルクリックで開き、中で同じように my-bbs を作る
デスクトップで右クリック →「新規作成」→「フォルダー」で claude を作る
claude をダブルクリックで開き、中で同じように my-bbs を作る
2-2. Claude Code を起動する
Claudeのデスクトップアプリを開く
メニューから Code を選ぶ
New session(新しいセッション) をクリック
作業フォルダに、さっき作った my-bbs フォルダを指定する
💡 これで準備完了 このあとは、青い枠の「呪文」を Claude Code に貼り付け、黒い枠の「コマンド」をターミナルに貼り付けていきます。
2-3. ログイン状態の確認
ターミナル(Claude Codeの画面下や「ターミナル」アプリ)で、次のコマンドを貼って Enter 。
📺 こう表示されます(例)
⛅️ wrangler 4.x.x
────────────────────
Getting User settings...
👋 You are logged in with an OAuth Token, associated with
the email you@example.com ← ① メールアドレス
┌──────────────────────┬──────────────────────────────┐
│ Account Name │ Account ID │
├──────────────────────┼──────────────────────────────┤
│ You's Account │ a1b2c3d4e5f6... │
└──────────────────────┴──────────────────────────────┘
↑ ② アカウント名
✅ こうなればOK 上の例のように ① メールアドレス か ② アカウント名 が表示されれば、ログインできています(中身はあなた自身の情報になります)。このまま次へ進んでOKです。表示されない・エラーだけ出るとき は、まだログインできていないので、先にWranglerのログインをすませてください。
3
データベースを作る(初回だけ)
投稿を保存する「入れ物」をCloudflare上に1つ作ります。
⌨️ ターミナルに貼る
コピー npx wrangler d1 create my-bbs-db
⚠️ 表示される「database_id」を必ず控える
実行すると
database_id = "xxxx-xxxx-..." という文字列が表示されます。
このIDは、5番の手順で使います。 メモ帳などにコピーしておきましょう。
「すでに存在します」と出たら、名前を変えて(例:my-bbs-db2 )もう一度。
このID自体は、見られても(パスワードがなければ)悪用できない値なので安心してください。
4
設計図(テーブル)を作ってもらう
「どんなデータをどう保存するか」をAIに設計してもらいます。
① まず仕様を伝えて、設計を提案してもらう
💬 Claude Code に貼る呪文
コピー 匿名一行掲示板を作ります。仕様は以下のとおりです。
- 名前登録なし、初めて投稿したときに会員番号が払い出される(1, 2, 3...の連番)
- 同じブラウザから投稿した人には毎回同じ会員番号が使われるようにする
- 画面には「会員1号」「会員2号」と表示する
- 投稿内容は1行のテキスト
このアプリに必要なデータベースのテーブル設計を提案してください。
提案された設計を読んで、納得できたら次へ。わからない言葉は「これ何?」と聞いてOKです。
② 設計をファイルにしてもらう
💬 Claude Code に貼る呪文
コピー このスキーマでマイグレーションファイルを作成してください。ファイルは migrations/0001_init.sql に保存してください。
💡 ちょこっと用語 「マイグレーションファイル」=データベースの設計図を書いた紙のこと。migrations/0001_init.sql という名前で作られます。あとで設計を変えたいときは、この紙を書き換えず新しい紙(0002…)を足す のがルールです。
5
設定ファイルを作る
「データベース」と「アプリ」を結びつける設定ファイル wrangler.jsonc を作ります。
次の呪文を貼ります。3番で控えた database_id を、呪文の中の「(3番のID)」と差し替えてから貼ってください(Claude Codeに「IDはこれです」と伝えてもOK)。
💬 Claude Code に貼る呪文
コピー 以下のテンプレートで wrangler.jsonc を作成してください。
プロジェクト名は「my-bbs」、データベース名は「my-bbs-db」、
compatibility_date は昨日の日付、
database_id には先ほど d1 create で表示されたIDを入れてください。
{
"name": "my-bbs",
"compatibility_date": "YYYY-MM-DD",
"pages_build_output_dir": "./public",
"d1_databases": [
{
"binding": "DB",
"database_name": "my-bbs-db",
"database_id": "(3番のID)",
"migrations_dir": "migrations"
}
]
}
💡 ここだけ豆知識(読み飛ばしOK)
日付は「昨日」 にします。時差の関係で「今日」だと未来扱いになることがあるためです。
binding: "DB" は、アプリからデータベースを呼ぶときの「あだ名」です。
public フォルダだけが公開されます(他のファイルが誤って公開されない安全設計)。
6
ウラ側(API)を作ってもらう
投稿を「保存する」「読み出す」ための裏方プログラムを作ってもらいます。
💬 Claude Code に貼る呪文
コピー 匿名一行掲示板のAPIを functions/api/posts.js に作成してください。
投稿の一覧取得と新規投稿ができるようにしてください。
D1 の binding 名は DB、スキーマは先ほど設計したものを使ってください。
💡 余裕があれば 「APIの動きを説明して」と聞くと、投稿が空のとき や長すぎるとき にどうなるかを教えてくれます。中身を知っておくと安心です。
7
画面(見た目)を作ってもらう
人が見て操作する画面 public/index.html を作ってもらいます。
💬 Claude Code に貼る呪文
コピー これまでのDB定義、API定義を参考に匿名一行掲示板のフロントエンドを public/index.html として作成してください。
シンプルで読みやすいデザインにしてください。
スマートフォンでも使いやすいようにしてください。
💡 デザインは自由に注文OK 「背景をやさしい色に」「文字を大きく」など、好みを足して頼んで大丈夫です。
8
自分のPCで動かして確認する
公開する前に、まず手元(あなたのPCの中だけ)で動かしてみます。
① 手元のデータベースに設計を反映
⌨️ ターミナルに貼る
コピー npx wrangler d1 migrations apply my-bbs-db --local
末尾の --local は「手元だけ」という意味。まだ本番には触りません。
② ローカルサーバーを起動してもらう
💬 Claude Code に貼る呪文
コピー wrangler のローカルサーバー(wrangler pages dev)を起動して
表示された http://localhost:8788 のようなURLをブラウザで開き、実際に投稿して動くか確かめます。
⚠️ よくあるつまずき
ふつうの簡易サーバー(python の http.server など)では
動きません 。必ず
wrangler pages dev を使ってください。
「①と②をまとめてお願いしたい」ときは、次の呪文が便利です👇
💬 まとめて頼む呪文
コピー 本番DBではなくローカルのD1で動作確認したい。
ローカルのD1にマイグレーションを適用してから、ローカルサーバーを起動して
9
GitHubに保存する(初回)
作ったコードを GitHub(コードの保管庫)に、非公開 で保存します。
① 余計なファイルを除外する
💬 Claude Code に貼る呪文
コピー .gitignore を作って .wrangler/ を除外してください
.wrangler/ は手元用の一時データなので、保存しなくてOKです。
② GitHubに保存(プッシュ)する
いちばんラクなのは、Claude Codeにまとめて頼む方法です。
💬 Claude Code に貼る呪文(おすすめ)
コピー GitHubに非公開のリポジトリ my-bbs を作って、今のフォルダの内容をpushして
自分でターミナルに打ちたい場合はこちら👇
⌨️ ターミナルに貼る
コピー git init -b main
git add -A
git commit -m "initial"
gh repo create my-bbs --private --source=. --remote=origin --push
⚠️ 大事な2つのポイント
必ず --private(非公開) で作ること。個人情報や未公開の内容を世界に出さないためです。
作業フォルダ(my-bbs)の中だけ で実行すること。関係ないファイルが入った場所で行うと、余計なものまで保存されてしまいます。
10
Cloudflareにつないで公開する
いよいよ公開です。GitHubとCloudflareをつなぐと、以後はプッシュするだけで自動公開 になります。
① 本番のデータベースに設計を反映(必須)
⌨️ ターミナルに貼る
コピー npx wrangler d1 migrations apply my-bbs-db --remote
⚠️ これを忘れると… 画面は出るのに「データベースエラー」になります。公開設定の前に 必ず実行してください(末尾が --remote =本番、なのに注意)。
② Cloudflareの画面でGitHubとつなぐ
Cloudflareダッシュボード を開く
左メニュー Compute → Workers & Pages
右上 Create application をクリック
「Looking to deploy Pages?」の Get started をクリック
Import an existing Git repository の Get started をクリック
(初回だけ)GitHubとの連携を「許可(Authorize)」する
リポジトリ一覧から my-bbs を選び、Begin setup
③ 公開の設定を入力する
次のとおり入力します。空欄のところは何も入れない でOKです。
📛 Project name :my-bbs
🌿 Production branch :main
📂 Build output directory :public
🔧 Build command :(空欄)
📁 Root directory :(空欄)
Save and Deploy をクリック
Deployments の画面で進み具合を見守る(数分待つことも)
完了したら、表示された ○○.pages.dev のURLを開いて動作確認!🎉
💡 公開URLについて 原則 my-bbs.pages.dev になります(同じ名前が使われている場合は、自動で文字が足されます)。
11
あとから直して反映する
公開後の修正はとてもかんたん。直す → プッシュ するだけで自動的に本番が更新されます。
① Claude Codeに修正をお願いする
例:「投稿の背景色を会員ごとに変えて」など、ふつうの言葉で頼めばOK。心配なら8番の方法で手元確認してから進めます。
② プッシュして反映する
自分で打つ場合👇
⌨️ ターミナルに貼る
コピー git add -A
git commit -m "修正内容"
git push
⚠️ 「設計(テーブル)」を変えたときだけ追加で1手間
列を増やすなど
データベースの設計を変えた ときは、プッシュだけでは本番のデータベースは変わりません。次も実行してください👇
⌨️ ターミナルに貼る
コピー npx wrangler d1 migrations apply my-bbs-db --remote
見た目や文章だけの修正なら、これは不要です。
― おつかれさまでした!―
?
困ったときのQ&A
「呪文」と「コマンド」って何がちがうの?
呪文(青い枠) は、Claude Code に貼り付けてお願いするふつうの文章 です。コマンド(黒い枠) は、ターミナルに貼って Enter する機械への命令 です。どちらも右上の「コピー」を押すと丸ごとコピーできます。
ターミナルってどこにあるの?
Claude Codeの画面の中にある場合が多いです。見当たらなければ、 🍎 Mac:command +space で「ターミナル」と検索。 🪟 Windows:スタートメニューで「ターミナル」または「PowerShell」と検索して開きます。
コマンドを実行したらエラーが出た…
あわてなくて大丈夫。そのエラー文をそのままコピーして Claude Code に貼り 、「これどうしたらいい?」と聞いてください。原因と直し方を教えてくれます。1人で抱え込まず、すぐ聞くのがいちばんラクです😊
database_id をメモし忘れた!
ターミナルで npx wrangler d1 list を実行すると、作ったデータベースの一覧とIDが確認できます。
公開したのにページが「データベースエラー」になる
10番①の --remote のマイグレーション適用を忘れていることが多いです。もう一度実行してから、ページを再読み込みしてみてください。
あとから「やっぱり非公開にしたい」
Cloudflareの画面でそのプロジェクトを削除すれば、公開を止められます。Claude Code に「このアプリを公開停止して」と頼んでもOKです。
🍱 はじめてのデータ共有アプリ作り・再現レシピ
わからなくなったら、いつでも Claude Code に聞いてくださいね。