バイブコーディング完全ガイド

コード1行も書けなかった私が
"アプリ開発できる人"になるまでの全手順

非エンジニア・文系・小学生でも誰でもできる。AirCleの15回講座で学んだすべてを、ひとつも漏らさず公開します。

15講義
4フェーズ
9ツール
0行のコードを自分で書く
この記事を読む前に知っておくべきこと
バイブコーディングが変えた常識

「プログラミング=コードを何千行も暗記、数学が得意じゃないとダメ」——それは2023年以前の話。

😰 昔のプログラミング
コードを暗記して自分で何千行も書く。エラーは自力で直す。数学的思考とタイピング速度が必要。
✨ バイブコーディング
AIに日本語で「こんな感じで作って」と伝える。出てきたものをジャッジして、気に入らなければ「ここ直して」と言う。
🎬 わたしたちの役割は映画監督

演技するのはAI。監督(わたしたち)に必要なのは、①企画する ②指示する ③ジャッジするの3つだけ。数学もタイピング速度も関係ない。

必要なスキルはこれだけ

日本語力(やりたいことを言葉にする力) パソコンの基本知識(ファイル/フォルダ) 情熱(何か作りたいという気持ち)
❌ 数学の知識 ❌ 英語力 ❌ タイピング速度
PHASE 01

フェーズ 1 — 超基礎

Lecture 1〜4:バイブコーディングの概念 → パソコン基礎 → AIとの初対面 → 最初のWebページ完成

1
バイブコーディングって何?
プログラミングの常識が根本から変わった

バイブコーディングとは、AIと一緒にノリ(バイブ)で開発するスタイルのこと。振り付けをガチガチに覚えるんじゃなく、音楽に乗って踊る感覚。

主要AIコーディングツール一覧

ChatGPT
コード生成が得意
Gemini
日本語◎ 無料枠大
Claude
長いコード理解
Cursor
AI特化エディタ $20/月
Antigravity
Gemini内蔵 無料
v0
言葉→UIデザイン
Manus
アプリ自動生成
Genspark
検索→サービス生成

プロンプトのテンプレート

あなたは〇〇(役割)です。 私は△△(自分の状況)です。 □□(目標・やりたいこと)をしたいです。 ☆☆(雰囲気・条件)でお願いします。
実例
あなたはプロのWebデザイナーです。 私はプログラミング初心者です。 猫好きのための自己紹介サイトを作りたいです。 可愛らしくて、でもシンプルなデザインでお願いします。

講座全体の4フェーズ構成

🌱
フェーズ1(Lecture 1〜4)超基礎 — バイブコーディングの概念、AIとの初対面
⚙️
フェーズ2(Lecture 5〜7)環境構築 — 開発環境、Git、Webの深掘り
🔨
フェーズ3(Lecture 8〜11)実践開発 — デザイン生成、DB、認証機能
🚀
フェーズ4(Lecture 12〜15)仕上げ&世界公開 — API統合、デプロイ
2
パソコンの超基礎を叩き込む
ファイル・フォルダ・パス — ここを飛ばすと後で詰む

「え、そこから?」と思うかもしれないけど、AIに「このファイルを修正して」と指示する時に、どのファイルかをパスで正確に伝える必要があるからここが大事。

📄 ファイル = デジタルの紙 📁 フォルダ = 引き出し 🏠 パス = デジタルの住所 🏢 階層 = マンションの構造

よく出る拡張子

  • .html Webページの骨組み
  • .css Webページの見た目
  • .js Webページの動き
  • .tsx Reactのコンポーネント
  • .md ドキュメント(Markdown)

パスの書き方

Mac
/Users/tanaka/Documents/仕事/報告書.docx
Windows
C:\Users\あなたの名前\Desktop\myapp\index.html
💡 宿題

デスクトップに test フォルダを作って、その中に memo.txt を作って、パスを確認する。地味だけどここを飛ばすと後で詰みます。

3
AIと出会う — Geminiを使ってみる
無料枠が広く・デザインが強い・日本語が上手

まず使うのは Google の Geminigemini.google.com にアクセスしてGoogleアカウントでログインするだけ。

⚠️ 重要な注意点

開発に使う場合は Canvasモードを必ず選択 すること!

プロンプトの3つのコツ

1
役割を与える
「あなたはプロのWebデザイナーです」→ AIがその人になりきって答えてくれる
2
ゴールを宣言する
「自己紹介サイトを作りたい」→ ゴールがないとふわっとした回答になる
3
バイブスを伝える
「カッコいい感じで」「可愛らしく」→ AIが雰囲気を汲み取ってくれる

大事な心構え

AIとの会話は一発で終わりじゃない。ラリーを続ける。「お、これいいじゃん」→「もっと詳しく」→「ここを変えて」。遠慮なく何回聞いてもOK。AIは怒らない。

4
AIに最初のコードを書かせる
HTML/CSS/JavaScript — でも自分では書かない
🏗️
HTML
骨組み
柱・壁・屋根
🎨
CSS
見た目
色・デザイン・内装
JavaScript
動き
電気・水道・エアコン

コピペワークフロー(Lecture 4の方法)

1️⃣
GeminiにコードをRequest「猫語翻訳機」を作って、など自然言語で依頼
2️⃣
コードをコピーGeminiの「コピー」ボタンを押す
3️⃣
テキストエディタに貼り付けて保存拡張子は .html であること(.txt はダメ)
4️⃣
ブラウザで開くファイルをダブルクリック → Webページが表示!
😩 コピペ地獄
コピー → 貼り付け → 保存 → リロード → コピー → 貼り付け……の無限ループ。「もっと楽な方法ないの?」→ 次の回へ続く
✨ Lecture 5以降
このめんどくさい体験をあえてやらせることで、次回の「革命」がより実感できる設計になっている
PHASE 02

フェーズ 2 — 環境構築

Lecture 5〜7:コピペ地獄からの解放 → バックアップシステム → Webの深掘り

5
開発環境を整える — Antigravityの登場
コピペ地獄から解放される革命

Antigravity = Google製、GeminiのAIが最初から入ったエディタ(VS Code ベース)。無料で使える。

エディタの4エリア

📚
左側(サイドバー)= 本棚ファイル一覧を見る場所
🖥️
真ん中(エディタ)= 机コードを編集する場所
📞
下側(ターミナル)= 電話コンピュータにコマンドを送る場所
💬
右側(AIチャット)= 会話スペースAIと話す場所。ここだけ見ればOK!
📋 Lecture 4の手順
Geminiでコード生成 → コピー → メモ帳に貼り付け → 保存 → ブラウザで開く → 修正 → 繰り返し…
✨ Lecture 5の手順
AIパネルに「これ作って」→ 完成。修正は「ここ変えて」→ 即反映。コピペゼロ。
🔥 革命ポイント

右側の「Agent」パネルがAIエージェント。「index.htmlを作って」と言うだけで、AIが勝手にファイルを作って、コードを書いて、保存してくれる。さらにプレビューがリアルタイムで右半分に表示され、コード変更で自動リロード。

6
バックアップの魔法 — Git と GitHub
ゲームのセーブポイントシステム
💾
Git
セーブポイントシステム。コードの状態を好きなタイミングで保存
☁️
GitHub
クラウド上のセーブデータ保管庫。PCが壊れても安心
🔑
.env
APIキー等の秘密情報。絶対GitHubに上げない!

Gitの3ステップ

1
作業場(Working Tree) ── 散らかった机。今いじってるファイルたち
2
ステージング(カゴに入れる) ── 買い物カゴ。セーブしたいファイルを選ぶ
3
コミット(レジ会計) ── セーブ確定。メッセージをつけて保存

良いコミットメッセージ

「ログイン機能を追加」 「デザインを変更」 「バグを修正」 ❌「あああ」 ❌「更新」(何の?)
🚨 セキュリティ — 絶対に守ること

APIキーは銀行の暗証番号と同じ。GitHubに上げたら全世界に公開するのと同じ。必ず .env ファイルに保存し、.gitignore に追加すること!

7
Webの仕組みを理解する
HTML/CSS/JavaScript + React/Next.js の基礎

「AIが書いてくれるんだから理解しなくていい?」——理解してるとAIへの指示の精度がめちゃくちゃ上がる

HTML = 家の骨組み(セマンティックタグ)

header = 玄関 nav = 廊下 main = リビング section = 部屋 footer = 地下室

CSS Flexbox — レイアウトの要

display: flex /* Flexbox有効化 */ flex-direction: row /* 横並び */ justify-content: center /* 横方向中央 */ align-items: center /* 縦方向中央 */ flex-wrap: wrap /* 折り返し */

React と Next.js の関係

⚛️ React
LEGOブロック。再利用できるUIパーツ(コンポーネント)を作って組み合わせてアプリを作る
▲ Next.js
エンジン(React)搭載の完成した車。ルーティング・サーバーサイドレンダリング・API機能つき
PHASE 03

フェーズ 3 — 実践開発

Lecture 8〜11:AIデザイン生成 → React/Next.js → データベース → ログイン認証

8
AIにデザインを作らせる — v0の神機能
言葉からUIデザイン(動くコード)を生成する
🎨 v0 とは何者か

画像生成のMidjourneyが「絵を描くAI」なら、v0は「コードを書くAI」。生成されたデザインはただの画像じゃなくて、実際に動くコード(React + Tailwind CSS)。ボタンを押せるし、フォームに入力もできる。

使い方

iPhoneの計算機アプリのような、モダンでミニマルな電卓を作って。 ボタンは丸く、配色は黒とオレンジで。

10秒でA/B/Cの3パターンが出てくる。わたしたちの仕事は「キュレーター」——作るんじゃなくて、選ぶ。

プロンプトのコツ:技術仕様より「バイブス」

「Appleの公式サイトみたいな清潔感」 「90年代のゲームみたいなレトロ感」 「高級ホテルのようなラグジュアリー感」

便利な機能

  • セレクションモード — 画面上の要素を直接クリックして「ここだけ変えて」と指定
  • バージョン履歴 — 「さっきの方が良かった」時に時計アイコンから戻れる
  • 手書き→コード — ワイヤーフレームの写真をアップして「この画像と同じようなデザインで」
9
本格開発ツール — React と Next.js
コンポーネント・Props・State — AIに正確な指示を出すために知っておく
コンポーネント = 再利用できるUIパーツ Props = 親から子へ渡すデータ State = 変わったら画面が自動で再描画される魔法の変数

State の例

const [count, setCount] = useState(0); // count = 現在の値 // setCount = 値を更新する関数(呼ぶと画面が自動で再描画) // useState(0) = 初期値は0

Server Component vs Client Component

🏭 Server Component(厨房)
サーバー側で動く。DBやAPIキーに安全アクセス可。クリックイベントは使えない。デフォルトはこっち
💺 Client Component(客席)
ブラウザで動く。onClick/useStateが使える。DBに直接アクセスは不可。ファイルの先頭に "use client" と書く。
🎯 判断基準

「DBやAPIキーにアクセスする?」→ YES → Server Component
「onClickやuseStateを使う?」→ YES → Client Component("use client"をつける)

10
データを保存する — Supabase の登場
リロードしても消えない!リアルタイムで同期するDB

データの保存場所 3段階

State(手のひら)リロードで消える。めちゃくちゃ一時的
👖
LocalStorage(ポケット)リロードしても残るけど、別デバイスから見えない
🏦
Cloud DB(銀行)← Supabaseどのデバイスからでもアクセス可。ずっと残る

Supabase = 「オンラインExcelスプレッドシート」みたいなクラウドデータベース。

AI SQL Editorで自然言語からテーブル作成

Todoアプリ用のテーブルを作って。 タスク名(text)と、完了フラグ(boolean)と、 作成日時(timestamp)が必要。
🎉 体験してみてほしいこと

PCでタスクを追加 → スマホで開くとリアルタイムで同期されている。ページリロードも不要。これが「クラウドDB」の醍醐味。

11
ログイン機能を作る — 認証の世界
マジックリンクとRLS(魔法のバリア)
🔒 従来のログイン
メール入力 → パスワード入力 → ログイン。パスワードを覚えなきゃいけない。
✨ マジックリンク
メール入力 → メールに届いたリンクをクリック → ログイン完了。パスワード不要で、実はより安全

RLS(Row Level Security)— 行レベルセキュリティ

❌ RLSなし
公開広場。誰でもデータにアクセスできる
✅ RLSあり
自分だけの部屋。user_idが一致する場合だけアクセス可
🧪 テスト方法

1. 通常ブラウザでユーザーAとしてログインしてタスク作成 → 2. シークレットモードを開く → 3. ユーザーBとして別メールでログイン → 4. ユーザーAのタスクが完全に見えないことを確認

PHASE 04

フェーズ 4 — 仕上げ&世界公開

Lecture 12〜15+:外部API → AI組込 → 全ワークフロー → 理論武装 → ブランチ → デプロイ

12
外部データを取り込む — APIの世界
レストランのウェイター比喩で理解する
🍽️
お客さん(アプリ)
「天気を知りたい」
🤵
ウェイター(API)
注文を受けて厨房に伝える
👨‍🍳
厨房(サーバー)
実際にデータを作って返す

ブラウザで直接テスト(Open-Meteo API — 登録不要)

https://api.open-meteo.com/v1/forecast?latitude=35.689&longitude=139.691¤t_weather=true

これをブラウザに打ち込むと東京の天気がJSONで返ってくる。

💡 応用例

天気が「雨」だったら自動的に「傘を持って」タスクをリスト上部に表示する。外部データを取り込んでアプリの動作を変える。レモン(外部データ)を絞ってレモネード(アプリの機能)を作る感じ。

13
AIをアプリに組み込む — Gemini API
自分のアプリにAIの「考える力」を埋め込む
📖 Open-Meteo API(辞書)
「天気は?」→ 決まった答えが返ってくる。事実の参照。
🧠 Gemini API(相談相手)
コンテキストを理解して考えて、その人に合ったアドバイスを生成。答えが事前に決まっていない。

プロンプトエンジニアリングのコツ

❌ ダメなプロンプト
「アドバイスちょうだい」(漠然としすぎ)
✅ 良いプロンプト
役割を指定 + 分析対象を明記 + 出力形式を指定

上級編 — JSONモード

// プロンプトの最後にこれを追加 「JSONフォーマットだけで返して。 例:[{"task": "野菜を切る"}, {"task": "肉を買う"}]」

AIの回答がアプリで直接使えるデータ形式で返ってくる。テキストを読むだけじゃなく、AIの回答をアプリの機能として使う最終形態。

14
バイブコーディングの全ワークフロー
勝利の8ステップ — いきなりコードを書き始めるのが一番ダメ
1
Start — エディタを開く
Antigravity / Cursor を起動
2
Base — Next.jsで土台作成
npx create-next-app@latest でUIとルーティングだけ先に作る。中身は空でOK。「動くハリボテ」を作る。
3
DB — Supabaseで認証・CRUD確保
後からDB繋ぐとバグる。最初に「データの置き場所」と「鍵」を確保するのが鉄則。
4
Plan — 要件定義
AIに壁打ち相手になってもらう。「誰の?」「何の課題を?」「どこまで解く?(MVP)」を明確に。ここがブレると後で全部作り直しに。
5
Research — 実現可能性の調査
「この機能の技術的なリスクと代替案を出して」と聞く。作り始めてから「これ無理だった」が最大のタイムロス。
6
⭐ Ticket — タスク分解プロンプト(最重要!)
下の保存版プロンプトを使う。AIが優秀なPMに変身。あとは「次」と言い続けるだけ。
7
Build — チケット消化
実装と確認の反復。エラーが出ても焦らない。「修理屋」モードで直してタスクリストに戻る。
8
Finish — テスト・デプロイ準備
AIに「Step 4の要件定義と照らし合わせて、未実装の機能やバグがないかチェックして」とセルフチェックさせる。

保存版 — タスク分解プロンプト

決定した要件を元に、実装ステップを「細かいタスクリスト」に分解してください。 1つのタスクは「1ファイル修正」または「1機能実装」レベルまで小さくすること。 【フォーマット】 - [ ] Task 1: 〇〇画面のUI作成 - [ ] Task 2: Supabaseへの接続設定 - [ ] Task 3: ... このリストを常に記憶し、私が「次」と言ったら、次のタスクを実行してください。
🔑 バイブコーディングの極意

速いのは「手を動かす速さ」じゃなく、「迷う時間」と「手戻りの時間」がゼロになるから。AIは「次に何をするか決まっている状態」で最大のパフォーマンスを発揮する。わたしたちはPM(要件・タスク管理)× QA(品質確認)として働く。

15
理論武装 — ブラックボックスを開ける
AIの嘘を見抜くために最低限知っておく理論

AIはたまに「嘘の呪文」を教える。基礎を知らないとその嘘に気づけず、永遠にバグが直らない。理論はAIの間違いを指摘するための武器

Hooksの主要2つ

useState — 記憶する道具 useEffect — タイミングを指定する道具(画面表示時に1回だけ実行など)

Next.js — App Router の革命

// app/about/page.tsx というファイルを作ると…… → yoursite.com/about というURLが自動で生成される! → 設定ファイルを書かなくてもフォルダを作るだけでページが増える

async / await

async function fetchData() { const data = await getFromDB(); // データが届くまで待つ return data; } // AIが書くコードに await が多いのは、焦らずデータを待っているから

エラーの読み方が変わる

😱 理論を知らない時
長い英語エラーメッセージ → 「わけわからん…」
✨ 理論を知った後
Event handlers cannot be passed to Client Component props
→「あ、"use client" 忘れですね。つけます。」
発展
GitHub完全攻略 — パラレルワールドで実験する
ブランチ = メイン世界を壊さずに実験できる次元
🌍 ブランチとは

動いている「メインのコード(main)」を直接いじってバグらせたら大変。だからメインから枝分かれした「コピー世界」を作る。コピー世界でいくら失敗してもメイン世界には影響しない。プロは「main」を直接触らない。

バイブコーディング的 運用ルール(これだけ守ればOK)

1
作業を始める前にブランチを作る
2
一区切りついたらこまめにコミットする(セーブ)
3
作業が終わったらプッシュする(倉庫へ)

コンフリクトが起きても慌てない。「コンフリクトしてる。現在の変更を優先して解消して」とAIに言えばOK。

🚀
世界に公開する — デプロイという最後の魔法
自分のPCの中にあるアプリに「URL」を与える
🏭
Local(Antigravity)= 工場ここで作る
🏪
GitHub = 倉庫ここに保管する
🏬
Vercel = 店舗「倉庫に入荷したら自動で店に並べる」仕組み
🚨 初心者が一番ハマる罠

Vercelの Import 画面でそのまま「Deploy」を押すとエラーになる。「鍵(.env)」がGitHubにないから。必ず先に「Environment Variables」に .env の中身をコピペする。「ローカルでは動いたのに!」の原因は99%これ。

CI/CD の仕組み

Antigravityで修正してコミット → GitHubにPushするだけ。Vercelが検知して自動で再デプロイが走る。数分後には本番サイトが更新される。寝ていても、Pushさえすれば世界中のサーバーが更新される。

✨ デプロイ後にできること
  • Vercel Analytics — 今日何人来たか、どの国から来たかが分かる
  • 実機テスト — URLをスマホに送ってWiFiを切って確認
  • カスタムドメイン — my-name.com みたいな自分だけのURLに

📋 全体振り返り — 15回で学んだこと

フェーズ1 超基礎
バイブコーディングの概念 ファイル/フォルダ/パス Gemini + プロンプト3コツ HTML/CSS/JS + コピペワークフロー
フェーズ2 環境構築
Antigravity(AIエージェント) Git = セーブポイント GitHub = クラウド保管庫 .env = 秘密の鍵 Flexbox / DOM / React
フェーズ3 実践開発
v0 = UIデザイン自動生成 コンポーネント/Props/State Server vs Client Component Supabase(テーブル/CRUD) マジックリンク認証 RLS(魔法のバリア)
フェーズ4 世界公開
外部API / JSON Gemini API + JSONモード 勝利の8ステップ タスク分解プロンプト Hooks / App Router / Server Actions ブランチ / マージ Vercel デプロイ CI/CD 自動更新
💌 バイブコーディングの本質

「やりたいこと(バイブ)をAIの翼を借りて最短距離で現実にする」こと。コードを書くことじゃない。

わたしに必要だったのは、日本語力と、パソコンの基本知識と、何か作りたいという情熱だけでした。

AIがいれば、技術の壁はもうありません。まずはGeminiを開いて「〇〇のアプリ作りたいんだけど」って聞いてみてください。そこから全部始まります。