SecondMe 一站式项目创建
将 secondme-init → secondme-prd → secondme-nextjs 三个步骤合并为一个完整流程。
工具使用: 收集用户输入时使用 AskUserQuestion 工具。
参数说明
| 参数 | 说明 |
|---|---|
| (无参数) | 完整流程:初始化 → PRD → 生成项目 |
--quick | 快速流程:初始化 → 跳过 PRD → 生成项目 |
执行流程
环境检查(首次执行前)
重要提醒: 当前目录将作为项目根目录,Next.js 项目会直接在此目录中初始化。
-
显示当前工作目录路径,让用户确认:
📂 当前工作目录: /path/to/current/dir ⚠️ Next.js 项目将直接在此目录中初始化,请确保你已在一个新建的空文件夹中运行。 -
检查当前目录内容(除
.secondme/、.git/、CLAUDE.md、.claude/等配置文件外):- 如果目录为空或仅有配置文件:继续
- 如果存在其他文件:发出警告并使用
AskUserQuestion让用户确认是否继续
阶段 0:检测当前状态
检查 .secondme/state.json 是否存在:
如果存在,读取 stage 字段判断进度:
| stage | 说明 | 操作 |
|---|---|---|
init | 已完成初始化 | 询问:从 PRD 阶段继续,还是重新开始? |
prd | 已完成 PRD | 询问:直接生成项目,还是重新定义 PRD? |
ready | 项目已生成 | 询问:重新生成项目,还是全部重新开始? |
如果不存在,从阶段 1 开始。
阶段 1:项目初始化
执行 secondme-init 的完整流程:
- 收集 App Info 或手动输入凭证(如果用户没有凭证,引导前往 https://develop.second.me 注册并创建 App)
- 解析 Scopes,推断功能模块
- 收集数据库连接串
- 确认模块选择
- 生成
.secondme/state.json(包含api、docs配置) - 生成
CLAUDE.md
完成标志: stage 设为 "init"
阶段 2:产品需求定义
如果使用 --quick 参数:跳过此阶段,直接进入阶段 3。
否则,执行 secondme-prd 的完整流程:
- 展示已选模块的 API 能力
- 收集应用目标和目标用户
- 根据模块针对性提问(chat/profile/note)
- 收集设计偏好
- 确认需求摘要
- 更新
state.json的prd字段
完成标志: stage 设为 "prd"
阶段 3:生成 Next.js 项目
执行 secondme-nextjs 的完整流程:
- 读取
state.json中的配置和 PRD - 在当前目录初始化 Next.js 项目
- 安装依赖(Prisma)
- 生成
.env.local(从state.api读取端点) - 生成 Prisma Schema(User 表必含 Token 字段)
- 根据模块生成代码
- 使用
frontend-design:frontend-designskill 生成 UI
完成标志: stage 设为 "ready"
快速模式 vs 完整模式
完整模式 (/secondme)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 阶段 1 │ → │ 阶段 2 │ → │ 阶段 3 │
│ 初始化 │ │ PRD 定义 │ │ 生成项目 │
└─────────────┘ └─────────────┘ └─────────────┘
快速模式 (/secondme --quick)
┌─────────────┐ ┌─────────────┐
│ 阶段 1 │ → │ 阶段 3 │
│ 初始化 │ │ 生成项目 │
└─────────────┘ └─────────────┘
输出结果
流程完成后显示:
🎉 SecondMe 项目创建完成!
项目信息:
- 应用名称: [app_name]
- 已选模块: auth, chat, profile
- 数据库: PostgreSQL
启动步骤:
1. npm install
2. npx prisma db push
3. npm run dev
项目将在 http://localhost:3000 启动
提示:
- .secondme/ 目录包含敏感配置,请添加到 .gitignore
- 如需修改配置,可单独运行 /secondme-init
- 如需重新定义需求,可单独运行 /secondme-prd
单独使用子命令
如果只需要执行某个阶段,可以单独使用:
| 命令 | 说明 |
|---|---|
/secondme-init | 仅执行初始化 |
/secondme-prd | 仅执行 PRD 定义 |
/secondme-nextjs | 仅执行项目生成 |
/secondme-nextjs --quick | 跳过 PRD 检查,直接生成 |
错误恢复
如果流程中断:
- 已完成的阶段数据会保存在
state.json - 重新运行
/secondme会检测进度并询问是否继续 - 可以选择从中断点继续,或重新开始某个阶段
设计原则提醒
生成的项目遵循以下设计原则:
- 亮色主题:仅使用浅色主题
- 简约优雅:极简设计,减少视觉噪音
- 中文界面:所有用户可见文字使用中文
- 稳定优先:避免复杂动画,仅用简单过渡效果