CLI 创建项目
用一条命令初始化你的 EasyStarter 项目
购买 EasyStarter 并接受 GitHub collaborator 邀请后,用这条命令创建你自己的项目。不用再手动 clone 模板仓库。
模板仓库是私有的。请先接受 collaborator 邀请。如果命令下载模板失败,通常是邀请还没接受。
创建项目
在任意空目录执行:
pnpm create easystarter my-app或:
npx create-easystarter my-app把 my-app 换成你的项目名,必须是小写 kebab-case(例如 acme-app,不要写成 Acme App)。
这条命令会下载 EasyStarter、按你的名称初始化项目、写入本地环境变量、安装依赖,并可以启动开发服务。
按你的产品选择集成
向导问的是你的产品要用哪些能力。现在先选需要的即可,之后还可以在 packages/app-config 里改。
| 问题 | 怎么选 |
|---|---|
| 应用显示名称 | 用户看到的名字,例如 Acme |
| 登录方式 | 至少选一种:email-password、email-otp、github、google、apple、sms |
| Web 支付 | none、stripe、creem 或 waffo |
| 移动端支付 | none 或 revenuecat |
| 邮件服务 | cloudflare 或 resend |
| 是否启用积分 | 只有要卖积分时才选是 |
| 是否安装依赖 | 选是 |
| 是否初始化 git | 选是 |
默认是邮箱密码登录、不开支付、邮件用 Cloudflare、不开积分。选完后会迁移本地数据库并启动 Web + Server。
不想逐项回答、直接用默认值:
pnpm create easystarter my-app -y已经确定技术选型时,也可以直接带参数,例如:
pnpm create easystarter my-app \
--app-name "Acme" \
--auth email-password github \
--payments stripe \
--native-payments revenuecat \
--email resend \
--no-dev--no-dev 只创建项目、不启动开发服务。--auth 可以传多种登录方式。
打开本地应用
创建完成后(没有传 --no-dev 时):
| 应用 | 地址 |
|---|---|
| Web | http://localhost:3000 |
| Server | http://localhost:3001 |
| Extension | http://localhost:3002 |
如果服务没有自动起来:
cd my-app
pnpm dev:web+server环境变量文件已经生成好了。不要再把 .example 文件覆盖上去,否则会冲掉 BETTER_AUTH_SECRET。
如果你选了 GitHub、Google、Apple、短信、Resend、Stripe、Creem、Waffo 或 RevenueCat,命令结束时会列出这些功能还要补的密钥。用对应功能前先填上。
连接 Cloudflare
create 只初始化本地项目,不会在 Cloudflare 上创建 D1 / R2,也不会部署。
准备绑定你的 Cloudflare 账号时再执行(远程数据库、对象存储、部署都需要这一步):
cd my-app
pnpm exec create-easystarter init或:
npx create-easystarter init如果还没登录 Cloudflare,会打开浏览器登录,然后创建或复用 {project}-db 和 {project}-bucket,并把 ID 写回项目。本地开发可以先跑,不必马上执行这一步。
如果要同时做远程 D1 迁移:
pnpm exec create-easystarter init --migrate远程迁移需要带 D1 编辑权限的 Cloudflare API Token,在 API Tokens 创建。init 时可以先跳过 Token,之后把 CLOUDFLARE_API_TOKEN 写进环境变量,再执行 pnpm db:migrate。
也可以一并写入生产环境地址:
pnpm exec create-easystarter init \
--website-url https://example.com \
--server-url https://api.example.com