TLDR

這篇文章深入探討如何利用 Claude Code 結合 GSD (Get Shit Done) 框架,將一個簡單的 n8n 自動化工作流(食物記錄應用)轉變為完整的 SaaS 產品。內容涵蓋從產品規劃 (PRD)、前端 Next.js 搭建、Supabase 資料庫與驗證整合、Stripe 金流串接,到最終透過 Vercel 部署的全過程。核心重點在於利用結構化的 AI 開發流程來解決大型語言模型 (LLM) 的「上下文腐爛 (Context Rot)」問題,實現穩定且可重複的軟體開發。


使用 Claude Code 與 GSD 框架構建 SaaS 的完整指南

在當今的 AI 開發領域,我們經常陷入「提示詞祈禱 (Prompt and Pray)」的困境,希望將一大段需求丟給 AI 就能得到完美的應用程式。然而,真正的軟體工程需要結構與控制。本文將詳細解說如何使用 Claude Code 配合 GSD (Get Shit Done) 框架,將一個 n8n 自動化工作流轉化為功能齊全的 SaaS 產品。我們將構建一個名為 "MacroVoice" 的食物記錄應用,並整合前端、後端、資料庫、支付與部署。

為什麼選擇 Claude Code 與 GSD 框架?

在使用 Claude Code 進行開發時,最大的挑戰之一是「上下文腐爛 (Context Rot)」。隨著對話變長,LLM 的準確度會下降。GSD 框架透過將專案拆解為獨立的階段 (Phase) 和任務 (Task),並為每個任務開啟新的子代理 (Sub-agent) 來解決這個問題,確保每次執行都擁有清新的上下文窗口 (Context Window)。

專案技術棧概覽

工具名稱 用途 連結
Claude Code AI 程式碼生成與專案管理 Anthropic Claude
n8n 後端工作流自動化 (AI 分析食物) n8n Automation
Supabase 資料庫 (PostgreSQL) 與使用者驗證 Supabase Database
Stripe SaaS 訂閱與金流支付 Stripe Payments
Next.js 前端框架 (React) Next.js Framework
ngrok 本地開發環境隧道 (Tunneling) ngrok
Vercel 應用程式部署與託管 Vercel Deployment

第一階段:規劃與基礎建設 (Planning & Foundation)

開發的第一步並非直接寫程式,而是透過 Claude Code 制定產品需求文檔 (PRD)。我們在 Claude 中進行對話,明確定義應用程式的功能:透過語音或文字記錄食物,利用 AI 估算營養成分,並將數據存入資料庫。

初始化 GSD 專案後,Claude Code 會生成詳細的路線圖 (Roadmap)。這不僅是規劃,更是 AI 的導航圖。

在基礎建設階段,我們指令 Claude Code 執行以下任務:

  1. 建立 Next.js 15 專案。
  2. 配置 Tailwind CSS 與 shadcn/ui 元件庫。
  3. 設定專案的基礎佈局 (Layout) 與設計系統。

這階段的關鍵在於讓 Claude Code 能夠一步步驗證每個小任務的完成,而不是一次生成所有代碼。

第二階段:資料庫與身份驗證 (Database & Auth)

對於 SaaS 產品,數據安全與用戶管理至關重要。我們選擇 Supabase 作為後端解決方案。透過 Claude Code,我們完成了以下配置:

  • 專案設置:獲取 Supabase URL 與 Anon Key,並安全地存儲在 .env.local 文件中。
  • Schema 部署:執行 SQL 遷移腳本,建立使用者資料表 (Profiles) 與行級安全性 (RLS) 策略,確保使用者只能存取自己的數據。
  • 身份驗證:整合電子郵件登入流程。

在測試階段,我們遇到本地端口 (localhost:3001) 與 Supabase 預設 (localhost:3000) 不匹配的問題,透過修改 Supabase 的重定向 URL 設定迅速解決了此問題。這顯示了在使用 Claude Code 時,開發者仍需具備基本的除錯能力。

第三與第四階段:核心邏輯與 n8n 整合

這是應用的核心——食物記錄功能。我們利用 n8n 的 webhook 接收前端傳來的食物描述(如「兩顆雞蛋」),並透過 AI 分析後返回營養數據。

解決本地開發的連接問題

由於我們的應用在本地運行,外部的 n8n 無法直接訪問。這時我們引入了 ngrok

  1. 啟動 ngrok 將本地端口暴露到網際網路。
  2. 將生成的 ngrok URL 配置到 Claude Code 與相關環境變數中。
  3. 利用 n8n 的 MCP Server 工具協助調試工作流。

這個過程展示了 Claude Code 如何協助處理複雜的系統整合問題,甚至能識別錯誤的工作流 ID。

第五與第六階段:儀表板與 Stripe 金流

SaaS 的商業化依賴於支付系統。我們選擇 Stripe 進行訂閱管理。

  • 儀表板 (Dashboard):建立可視化圖表,顯示卡路里攝取趨勢。利用 Claude Code 生成假數據 (Dummy Data) 來驗證圖表呈現效果。
  • Stripe 整合
  1. 在 Stripe Sandbox 建立產品與價格 (Price ID)。
  2. 設置 Webhooks 以監聽訂閱狀態變更(建立、更新、刪除)。
  3. 實作前端的升級按鈕與後端的權限邏輯(免費版限制記錄次數,Pro 版無限)。

Claude Code 在此階段表現出色,能夠自動處理繁瑣的 API 金鑰配置與 Webhook 簽名驗證。

第七階段與部署:UI 優化與上線

最初的 UI 通常較為簡陋。在最後階段,我們利用 Claude Code 的 "Front-end Design Skill",參考現代化設計風格(如 Linear 風格),將介面從沉悶的深色模式轉變為清爽的淺色模式,並保留了所有功能邏輯。

最後,透過以下步驟完成部署:

  1. GitHub:將代碼推送到私有倉庫。
  2. Vercel:連結 GitHub 倉庫,匯入環境變數(注意將 ngrok URL 更新為生產環境 URL),並執行部署。

信用與引用 (Credits & Citations)

為了確保資訊的準確性與可信度,本開發流程參考了以下權威資源:

  • n8n Workflow Automation: n8n.io (Source: Official Documentation)
  • Supabase Database: Supabase.com (Source: Official Documentation)
  • Stripe Payments: Stripe.com (Source: Official Documentation)
  • Anthropic Claude: Anthropic.com (Source: Official Company Site)
  • Vercel Platform: Vercel.com (Source: Official Documentation)

作者觀點 (Author's Opinion)

作為一名長期關注 AI 輔助開發的技術人員,這部影片展示的 GSD 框架 深深引起了我的共鳴。我們常遇到的痛點正是 Claude Code 或 ChatGPT 在長對話後的「失智」現象。將開發流程碎片化、模組化,不僅是軟體工程的最佳實踐,更是目前駕馭大型語言模型進行複雜任務的唯一解方。這不再只是關於「寫程式」,而是關於「架構設計」與「AI 調度」。未來的工程師,將更像是指揮家,而 Claude Code 則是我們最強大的樂團。

Share this post
Ewan Mak

I'm a Full Stack Developer with expertise in building modern web applications that fast, secure, and scalable. Crafting seamless user experiences with a passion for headless CMS, Vercel and Cloudflare

Loading...