AI 辅助开发
使用 AI 编码工具(Claude Code、Cursor、GitHub Copilot)开发 LaunchSaaS 的指南
LaunchSaaS 内置了分层的 Agent 文档结构,AI 编码工具会自动读取,大多数工具无需手动配置。
支持的 AI 工具
| 工具 | 配置文件 | 支持状态 |
|---|---|---|
| Claude Code | CLAUDE.md → AGENTS.md | 完全支持 |
| Cursor | AGENTS.md | 完全支持 |
| GitHub Copilot | AGENTS.md | 支持 |
| 其他 AI Agent | AGENTS.md | 支持 |
Agent 文档结构
AI 工具自动读取根目录的 AGENTS.md,再沿引用逐级深入:
| 文件 | 用途 |
|---|---|
AGENTS.md | 入口 — 项目概览、全局规则、子文档指针 |
apps/launchsaas/AGENTS.md | 应用专属关键规则、代码规范、核心文件说明 |
agent_docs/architecture.md | 包结构、Provider 接口模式、路径别名 |
agent_docs/workflows.md | 数据库变更、添加支付提供商、SDD 工作流 |
CLAUDE.md | Claude Code 入口 — 加载 AGENTS.md |
如果 AI 没有遵循项目模式,在提示词中明确引用
apps/launchsaas/AGENTS.md。
如何写好 CLAUDE.md
CLAUDE.md 会注入到每一个 Claude Code 会话中,影响力极高,但也容易被滥用。详细指南见 Writing a Good CLAUDE.md,核心原则:
| 原则 | 说明 |
|---|---|
| 少即是多 | 最多约 150–200 条指令。Claude Code 系统提示已占用约 50 条。 |
| 只写通用内容 | 每一行都会出现在所有会话中,只保留对所有任务都适用的内容。 |
| 渐进式披露 | 专项上下文放入 agent_docs/,在 CLAUDE.md 中引用,不要重复。 |
| 不要交给 AI 做 lint | 用 Biome/ESLint 通过 hooks 或 CI 执行,而非 Claude。 |
常见任务
创建 Server Action
创建一个更新用户资料的 server action,包含 email 和 name 字段。
使用 userActionClient,因为需要认证。
参考 apps/launchsaas/src/actions/user.ts 中的模式。创建受保护页面
在 /dashboard/settings 创建一个新的受保护页面,允许用户更新偏好设置。
参考 apps/launchsaas/src/app/[locale]/(protected)/ 中的模式。添加支付提供商
添加 Polar 作为新的支付提供商。
遵循 packages/payment/src/ 中的工厂模式。
参考现有的 Stripe 提供商实现。数据库迁移
在 users 表中添加一个新的 "preferences" 列。
使用 Drizzle 创建正确的迁移。
注意:不要手动编辑 auth.ts —— 它是自动生成的。最佳实践
- 引用文件路径 — 始终提供 AI 应参考的具体文件或目录
- 指向现有代码 — "参考
src/actions/user.ts中的模式" 比长篇描述更有效 - 验证输出 — 运行
pnpm run build检查类型错误,pnpm run format检查代码风格