Cursorを使ったワークフロー:アイデアからデプロイまで
English · 繁中 · Español · 日本語 · Português (BR)
著者: Danko Peng(@dankopeng)
更新: 2026年3月
読了時間: 約8分
理論より実践
これまでの記事でVibe Codingの概念、ツール、セキュリティ、相談の仕方を説明してきた。この記事では、実際に1つの機能を開発するフローを最初から最後まで追ってみる。
使う例:在庫不足警告機能——在庫が設定した閾値を下回ったときに管理者にメール通知する機能。
ステップ1:要件を整理する(5分)
コードを一行も書く前に、何を作るかを言葉にする。
在庫不足警告機能を実装したいです。先にコードは書かないでください。
要件:
- 商品の在庫が10個以下になったら管理者にメール通知
- 通知は1商品につき1日1回まで(頻繁すぎる通知を防ぐ)
- 管理者のメールアドレスは環境変数で設定
- メール送信はResendを使用(vibefast.appに統合済み)
現在のデータベース:
- products テーブルに stock カラムがある
- orders テーブルが存在する
この要件で理解した点と、実装前に確認すべき点を教えてください。AIの返答から学ぶ
AIがいくつかの質問を返してくるだろう:
- 「在庫が10個以下になったとき、という判定はいつ行いますか?注文完了時?定期チェック?」
- 「同じ商品で在庫が10→9→8と毎回減っていくとき、毎回通知しますか?」
- 「管理者が複数いる場合は全員に送りますか?」
これらの質問が重要だ。答えることで要件が明確になる。
回答例:
良い質問です。整理します:
- 判定タイミング:注文完了時(Stripe Webhookの payment_intent.succeeded 処理後)
- 同じ商品の連続通知:在庫が閾値を下回った最初の1回だけ通知(その後は在庫が回復して再度下がったときのみ)
- 管理者:単一のメールアドレス(環境変数 ADMIN_EMAIL)
この仕様でD1のテーブル設計と実装方針を提案してください。ステップ2:設計を確認する(10分)
AIが設計案を出す:
提案された設計:
テーブル:stock_alerts
- id
- product_id
- alerted_at(最後に通知した日時)
APIの変更:
- Webhook処理の中で在庫チェックロジックを追加
- stock_alertsテーブルで「今日すでに通知済みか」を確認
- 未通知 or 前回通知から24時間以上経過している場合にメール送信
この設計を確認してください。
問題があれば指摘してください。問題なければ実装を進めます。設計を確認し、納得できたら実装の承認を出す:
設計でOKです。実装を進めてください。
まず stock_alerts テーブルのマイグレーションSQLから始めてください。ステップ3:段階的に実装する(30-60分)
一度に全部実装させるのではなく、段階的に進める:
段階1:データベース
stock_alerts テーブルのマイグレーションSQLを生成してください。→ SQLを確認して実行
段階2:在庫チェックのロジック
在庫チェックとアラート判定のロジックを実装してください。
関数として独立させてください(テストしやすいように)。
Webhook処理本体はまだ変更しないでください。→ コードを確認、ロジックが正しいか確認
段階3:Webhook処理に組み込む
前に作った在庫チェック関数を、Stripe Webhookの処理に組み込んでください。
payment_intent.succeeded の処理が完了した後に呼び出してください。→ 変更されたファイルを確認
段階4:メール送信
在庫不足のメール通知を Resend で送る実装を追加してください。
メールのテンプレートは:
件名:[在庫警告] {商品名} の在庫が残り {在庫数} 個になりました
本文:商品名、現在の在庫数、管理画面へのリンクステップ4:ローカルでテストする(15分)
実装が完了したら、必ずローカルでテストする:
npm run devテスト手順をAIに聞く:
実装した在庫不足警告機能をローカルでテストする方法を教えてください。
Stripe Webhookのローカルテストと、
実際に在庫が減った場合のシミュレーション方法も含めてください。テストが通れば次のステップへ。通らなければデバッグ(次の記事で詳しく説明する)。
ステップ5:コミットしてデプロイする
テストが通ったら:
git add .
git commit -m "在庫不足警告機能を実装:閾値10個以下で管理者メール通知"
npm run deployデプロイ後、本番環境でも確認する。
このワークフローで大切な習慣
1. 一度に1つの変更
「在庫通知 + メール履歴 + 通知設定画面を全部実装して」という依頼は避ける。一度に多くの変更を加えると、何かが壊れたときにどこが原因かわからなくなる。
2. 各ステップでコードを確認する
AIが生成したコードを全く見ずに次のステップに進まない。コードが何をしているかを理解してから承認する。理解できない部分があれば「このコードが何をしているか説明してください」と聞く。
3. ローカルで確認してからデプロイ
「とりあえずデプロイしてみて確認」は避ける。ローカルで動かないものはデプロイしても動かない。ローカルのテストを省かない。
4. こまめにコミット
各ステップが完了したらコミットする。問題が起きたときに前の状態に戻れる。
実際の時間配分
この機能(在庫不足警告)の実際の開発時間:
要件整理(AIと相談):5分
設計確認:10分
実装(段階的):45分
ローカルテスト:20分
バグ修正:15分(あれば)
コミット・デプロイ:5分
本番確認:10分
合計:約2時間「全部一気に実装して」とやった場合、最初は速く見えるが、後でバグを追うのに2-3時間余分にかかることが多い。段階的にやる方が結果として速い。
Danko Peng
X · YouTube · Threads
完全なCloudflareフルスタックテンプレートを今すぐ使い始めたい方へ:
👉 vibefast.app — アーリーバード $99、2026年8月1日より $199 に値上がり。