全栈独立开发者起步栈
十个资产,把 SaaS 从「想了一年」推到「几周上线」 — Next.js + Tailwind + Drizzle/Supabase + Auth.js + Stripe MCP + Resend + Vercel CLI + Kamal。这是搭产品的栈,不是搞营销的栈。
这个 pack 包含什么(vs 副业起步套装)
这套是搭产品本身的栈。如果说 ai-side-hustle-kit 是把营销和调研委托给 agent(让上班族在午休里找客户),这个 pack 是把代码委托给 AI 工具,让产品在周日晚上真的能跑起来。
两个 pack 干两件事,所以选不同的工具。副业起步是 GPT Researcher + n8n + Apify + AgenticMail — 跑在产品外面的流水线。这个 pack 是 Next.js + Drizzle + Auth.js + Stripe MCP + Resend — 它就是产品。两套你早晚都要,但这套先来,因为没产品就没营销目标。
这里的每个选择都帮你从独立开发者的日程表上抠出一周。每个框架都是开箱即生产可用 — 没有那种「实验功能,生产慎用」的坑。整套栈被有意配成 Claude Code / Cursor / Codex 容易读懂的形状,AI agent 帮你写功能时不会编造 API。
推荐安装顺序(脚手架 → DB → 认证 → 支付 → 部署)
- Next.js — 主框架。从这里起,因为后面每一个选择都假设你已经有一个 Next.js 应用。App Router、Server Components、文件路由。
npx create-next-app@latest60 秒出一个能部署的仓库。 - Create T3 App — 有定见的 typesafe Next.js 启动器(Next + TypeScript + Tailwind + tRPC + Drizzle/Prisma + NextAuth)。替代 step 1 用,前提是你愿意接受一套打包好的 typesafe 接线。如果你想完全自己控制布局,跳过它。
- Tailwind CSS v4 — 样式层。2026 年这个别再纠结了。v4 砍掉了 PostCSS 配置,构建比你的缓存还快。和 Next.js 原生配合,也和你会考虑的每个组件库配。
- Supabase — DB + 认证 + 存储 + realtime 的快车道。托管 Postgres 带行级安全,自带认证服务和 JS SDK。如果你对 DB 层没强烈意见,从这里起步,#5 和 #6 可以完全跳过。免费额度撑过 MVP。
- Drizzle ORM — 当 Supabase 的 BaaS 形状不合身时的自定义道(你要裸 Postgres、复杂 schema、或自托管)。TypeScript 优先、无 codegen 步骤、它生成的 SQL 就是你写的 SQL。可以挂在任何 Postgres 上(Neon、Railway、你自己的机器)。
- Auth.js (NextAuth) — 配 Drizzle 走的自定义道认证。50+ OAuth provider、magic link、密码、各家 DB 的 session adapter。如果跳过 Supabase,这是你 20 分钟内拿到「用 Google 登录」的方法。
- Stripe MCP — 支付,以 MCP 工具方式暴露,让 Claude Code / Cursor / Codex 直接接 checkout / 订阅 / webhook / customer portal,你不用切到 Stripe 控制台对照文档。MCP 这层包装就是「Stripe 接一下午」和「Stripe 接一周末」的差别。
- Resend — 给开发者用的交易邮件 API。React Email 模板、极简 SDK,最接近「
npm install email然后能用」的东西。注册确认、密码重置、收据 — 一次接完。 - Vercel CLI — 托管部署。Next.js 仓库里跑一句
vercel,每次 push 都给你一个 preview URL。免费额度覆盖任何尚未盈利的 MVP。除非有特别原因要换,step 1-8 的默认终点站。 - Kamal — 长出 Vercel 时(成本、地域、合规)的自托管部署。任何 VPS 上的零宕机 Docker 部署。Vercel 账单咬到你那天,伸手去够的逃生通道。
它们怎么协同
npx create-next-app (或) Create T3 App
│
▼
Next.js 仓库
│
Tailwind CSS v4
(样式层)
│
┌─────────────┴─────────────┐
│ │
快车道 自定义道
│ │
Supabase Drizzle ORM
(DB + 认证 + 存储) (挂在 Neon /
│ Railway / 自己机器)
│ │
│ Auth.js
│ (OAuth + session)
│ │
└─────────────┬─────────────┘
▼
Stripe MCP
(checkout / 订阅 / webhook 走 MCP)
│
▼
Resend
(注册 / 重置 / 收据 / drip 邮件)
│
┌─────────────┴─────────────┐
▼ ▼
Vercel CLI Kamal
(托管,免费档) (自托管在 VPS 上)
中间两条平行车道是你这周最重要的一个决定。Supabase 车道 = 上线更快、交出部分控制、vendor lock-in 真存在但可以走出来。Drizzle + Auth.js 车道 = 多花几小时接线、你和 Postgres 之间没有 SDK、每个部件都可替换。两条道在 Stripe 处汇合 — 支付不在乎你走哪条道。
你会遇到的取舍
- Next.js vs Nuxt vs SvelteKit — Next.js 赢,因为 (a) AI 工具链对 Next 最熟(每个 Cursor rule、每个 Claude skill、每个 code agent 默认 React/Next),(b) Vercel 免费托管,(c) 你要找合伙人/雇人时人才池大 10 倍。Nuxt 是「你已经在用 Vue 思考」时的严格更优解。SvelteKit 心智模型最干净但生态最小。2026 年独立开发者快速发车,默认 Next.js。
- Supabase vs Drizzle + 自己的 Postgres — Supabase 上线更快、免费额度慷慨。代价是 row-level-security 策略复杂时的 debug 体验,加一个你不控制的托管依赖。Drizzle + Neon(或 Railway)形状一样但有完整 SQL 访问,迁移出来也容易。数据模型基本是 CRUD 选 Supabase;查询会复杂选 Drizzle。
- Auth.js vs Clerk vs Supabase Auth — Auth.js 免费、自托管,但 session 存储要你自己接。Clerk 是打磨好的 SaaS 选择(pack 内的自托管 Clerk-like 替代是 OpenAuth)。Supabase Auth 如果你走快车道就自带。别混用两个 — 选一个就死守。
- Vercel vs Kamal vs Fly — 账单跨过 ~$50/月或你需要 Vercel 没有的地域之前,Vercel 都是正确答案。之后 Hetzner 上一台 $5/月跑 Kamal,除了托管 DX 之外所有维度都赢。day one 别为这个优化;在 Vercel 上发车,数字逼你换的时候再换。
- Stripe MCP vs 原生 Stripe SDK — 如果你和 Claude Code / Cursor 一起开发,MCP 赢,因为 agent 能直接调用 Stripe API 而不是给你生成 SDK 代码再粘。如果你完全手写每个 checkout 流程,原生 SDK 也好。2026 年大多数独立开发者都在用 AI 工具,MCP 真能省几小时。
常见踩坑(不要为了周日发车而过度工程)
- 挑「完美」的栈而不是任何一个栈 — 花一小时对比 Drizzle vs Prisma vs Kysely,就是少了一小时做产品。这个 pack 替你选了:走自定义就 Drizzle,走快车道就 Supabase。往下走。
- 「不就是个登录表单」就自己写认证 — 不是。邮箱验证、密码重置、session 过期、OAuth state、CSRF — Auth.js 或 Supabase Auth 已经处理了你没想到的 23 个 edge case。挑一个用。
- 接 Stripe webhook 不用 ngrok 或 Stripe CLI — dev 环境 webhook 会静默失败,你会丢一下午。接支付时第一条命令就是
stripe listen --forward-to localhost:3000/api/webhooks/stripe。 - day one 就自托管 — Kamal 进这个 pack 是因为你早晚要它,不是因为你应该从那里开始。在 Vercel 上发车、收到钱、然后再担心基建成本。
- 邮件「以后再说」 — 「以后」就是用户注册付完款,等着没来的收据。接 Stripe 那天就把 Resend 一起接了。它们是配套的。
- 被 Next.js Server Actions 引诱跳过 API 层 — Server Actions 写表单很好;但你之后想从移动客户端或第三方调用的任何东西,它就是个陷阱。默认用 Route Handlers;只有页内 mutation 才伸手够 Server Actions。
10 个资产打包就绪
常见问题
这个 pack 和 AI 副业起步套装有啥区别?
副业套装是委托型栈 — GPT Researcher、n8n、Apify、AgenticMail — 给「白天上班、需要 agent 帮忙做营销/调研/外联」的人。这个 pack 是搭建型栈 — Next.js、Drizzle、Auth.js、Stripe、Vercel — 给真要写代码、把产品发出去的人。两套你早晚都要:先这套(先把东西做出来),再副业套装(给做出来的东西找客户)。
我应该走 Supabase 快车道还是 Drizzle + Auth.js 自定义道?
数据模型基本是 CRUD、想一个周末把认证 + DB + 存储全搞定,默认 Supabase。走 Drizzle + Auth.js 道,前提是 (a) 你已经知道查询会很复杂、(b) 有合规理由必须控制数据在哪、或 (c) 你用过 Supabase 撞过 row-level-security 的墙。别两个都用 — 选一条道,MVP 之前不要换。
用这套栈两周真能把 SaaS 发上线吗?
如果产品 scope 真划清楚了 — 一个核心功能、注册 → 付款 → 用 → 收据邮件 — 是,重复可达。第一个周末:脚手架 + 认证 + DB + 核心功能本地能跑。第二个周末:Stripe + Resend + Vercel 部署 + 落地页。整个 pack 按这个节奏校准。把时间表炸掉的是 scope 蔓延(「让我先加个 admin dashboard」),不是工具本身。
Kamal 都在 pack 里了,为啥默认部署还是 Vercel CLI?
摩擦。Next.js 仓库里 vercel 一句,每次 git push 给你一个 preview URL,免费、零配置。Kamal 是有付费用户、Vercel 账单开始扎眼,或者 Vercel 没有你要的地域、或者合规逼你自托管时的正确选项。day one 这些问题你一个都没有 — 先 Vercel 上线,Vercel 收你 $80 那个月再切 Kamal。
我不用 Claude Code,Stripe MCP 还合适吗?
依然合适 — Stripe MCP 把 Stripe API 暴露成 MCP server,任何懂 MCP 的 agent(Cursor、Codex、Claude Code、自建 agent)都能直接接 checkout / 订阅 / customer portal / webhook,你不用切到 Stripe 控制台对照文档。如果你完全不用 AI 助手、纯手写每个支付流程,Stripe Node SDK 也够。但 2026 年大多数独立开发者都用 AI 工具,MCP 真能省几小时。