交给 agent,一小时上站。
登录、支付、积分、后台都已接好的 SaaS 模板,再配上一套规矩、技能和测试,让 Claude Code、Codex、Cursor 写代码不跑偏。
技术栈
- TanStack Start
- React
- TypeScript
- Tailwind CSS
- shadcn/ui
- Vite
- Bun
- Cloudflare
- Node.js
- Drizzle
- better-auth
- Stripe
- Creem
- Resend
和 agent 一起
说出你要什么,剩下的它来做。
- Claude Code
- Codex
- Cursor
- GitHub Copilot
- Windsurf
- opencode
- Zed
- Amp

第 1 步
一条命令跑起来
输入 /setup,初次运行的杂事都交给 agent:装依赖、写本地密钥、建数据库、启动站点,再把你的账号设成管理员。只有它自己拿不到的东西才会问你,比如 Google 登录的密钥。
看看 agent 实际做了什么
/setupbun installbun run db:migrate:localbun run devhttp://localhost:3000/
第 2 步
支付让 agent 来接
输入 /stripe,agent 会建好商品和价格,把 ID 写进套餐配置,再把 webhook 转发到你的电脑上。部署之前,一次测试付款就能从头走通。
看看 agent 实际做了什么
/stripestripe prices create …Wrote ids to plans.tsstripe listencheckout → 200
第 3 步
写歪了,测试会拦下
用大白话提需求就行。agent 按项目的结构来写;要是漏了规矩,比如后台页面没做权限检查,测试会直接失败并指出是哪一条,agent 改好之后才把活交回给你。
看看 agent 实际做了什么
加一个发票功能/add-feature invoices✗ no permission checkAdded requirePermission✓ all tests pass
整个应用,就是这些。
- 应用本体
带会话守卫的外壳:主页、账号设置、套餐与额度。
- 计费
结账、按差价升级、周期末降级、付款记录。
- 管理后台
收入和增长一眼看清,再往下是用户、订单、角色、审计与邮件日志。
- 营销站点
预渲染的落地页、定价、文档、博客与法务页,中英双语。








开箱内容
那些你反正都要写一遍的部分。

收款
订阅和一次性购买都能收,Stripe 和 Creem 都已接好。
- 升级立即生效,降级在周期末生效
- 全额退款自动撤销对应的升级
- 改一个环境变量就能换支付商

无密码登录
Google、GitHub 或邮箱验证码登录。没有密码,就不用存、不怕泄露,也不用做找回。
- Google 一键登录
- 会话存在你自己的数据库里
- 用户可以导出或注销自己的账号

按量计费的积分
每个套餐每月发放额度,还能卖加油包,按次扣费也不会扣重。
- 按套餐每月发放
- 永不过期的加油包
- 每一笔变动都有账可查

管理后台
收入、用户、订单集中在一处,不用在做产品之前先给自己写一套内部工具。
- 指标和趋势
- 给团队分配角色和权限
- 审计日志和邮件日志

博客、文档和双语
用 MDX 写内容,页面预渲染,对搜索引擎友好;从第一天起就是中英双语。
- 按标题自动生成目录
- 自动生成 sitemap 和多语言标注
- 语言体现在网址上,比如 /zh

每次部署前的检查
类型检查、代码规范、单元测试和端到端测试都在 CI 里跑;数据库迁移没执行,部署就会停下。
- Vitest 单元测试
- Playwright 端到端测试
- 持续验证每个模块都能干净删除
另外还有: R2 文件存储 · 事务邮件 · 应用内通知 · 应用内反馈 · 候补名单 · 推广返佣 · 数据分析 · API 密钥
用 ShipKit 做的
已经上线的产品。
跑在这个模板上的真实产品,用的就是你拿到的这套登录、支付、后台和部署。
定价
一次付款,之后的更新全包。
包含内容
- 完整源码,放在私有 GitHub 仓库里
- 后续所有更新——像普通 remote 一样 pull
- 你自己的项目不限数量
- 为 Claude Code、Codex、Cursor 准备的规矩、技能和测试
- 安装、支付、部署指南
shipkit.sh 本身就跑在 ShipKit 上:登录、结账和这份授权的交付,都来自这个模板。 关于 ShipKit
常见问题
克隆之前,大家通常会问这些。
我的 agent 不能直接写一个吗?
它能写出一个看起来差不多的。但登录、Webhook、按比例升级和退款,恰恰是生成的代码最容易悄悄出错、而且一出错就是钱的地方。agent 还会照搬代码库里已有的模式,包括错的那些。ShipKit 给它的是跑通过的模式:规则写在 CLAUDE.md 和 AGENTS.md 里,并由测试把关,你的 agent 的时间就能花在你自己的产品上。
怎么拿到代码?
我们会邀请你加入一个私有 GitHub 仓库。用 GitHub 登录的话,付款一到账邀请就发出;用其他方式登录,在控制台一键连接 GitHub 账号即可。之后的版本都发布在同一个仓库里——加成 remote 直接 pull。
该用 Stripe 还是 Creem?
都行,也可以同时用。Webhook 路由只做校验、去重,然后把载荷翻译成同一种内部事件;业务模块从不引入支付商的 SDK。PAYMENT_PROVIDER 决定新结账走谁,已有订阅则继续在它原来的通道上续费。
为什么选 Cloudflare Workers,而不是 Node 主机?
因为 D1 和 R2 是绑定,不是需要凭据的外部服务:没有连接串、没有连接池、没有 S3 密钥,而且本地开发跑的就是线上那个运行时。代价是 workerd 禁用了部分 Node 写法——模板已经绕开了真正要紧的那些,比如运行时 eval 的 MDX 方案。
「每个模块都可删除」具体是什么意思?
每个可选模块 = 一个目录 + 几行一句话的注册(schema 汇总里一行、处理器 import 一行、导航一行)。/delete-feature 技能知道每个模块的配方,而 CI 会在每个 PR 上把所有配方跑一遍,一旦配方过期就直接失败。
跑起来要多少钱?
小体量下几乎为零:Workers、D1 和 R2 的免费额度足以覆盖早期流量,唯一一直要付的是域名费。邮件和支付按用量计费。


