LogoLaunchSaaS

AI 辅助开发

使用 AI 编码工具(Claude Code、Cursor、GitHub Copilot)开发 LaunchSaaS 的指南

LaunchSaaS 内置了分层的 Agent 文档结构,AI 编码工具会自动读取,大多数工具无需手动配置。

支持的 AI 工具

工具配置文件支持状态
Claude CodeCLAUDE.md → AGENTS.md完全支持
CursorAGENTS.md完全支持
GitHub CopilotAGENTS.md支持
其他 AI AgentAGENTS.md支持

Agent 文档结构

AI 工具自动读取根目录的 AGENTS.md,再沿引用逐级深入:

文件用途
AGENTS.md入口 — 项目概览、全局规则、子文档指针
apps/launchsaas/AGENTS.md应用专属关键规则、代码规范、核心文件说明
docs/architecture.md包结构、Provider 接口模式、路径别名
docs/workflows.md数据库变更、添加支付提供商、SDD 工作流
CLAUDE.mdClaude Code 入口 — 加载 AGENTS.md

如果 AI 没有遵循项目模式,在提示词中明确引用 apps/launchsaas/AGENTS.md。

如何写好 CLAUDE.md

CLAUDE.md 会注入到每一个 Claude Code 会话中,影响力极高,但也容易被滥用。详细指南见 Writing a Good CLAUDE.md,核心原则:

原则说明
少即是多最多约 150–200 条指令。Claude Code 系统提示已占用约 50 条。
只写通用内容每一行都会出现在所有会话中,只保留对所有任务都适用的内容。
渐进式披露专项上下文放入 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/capabilities/payment/src/ 中的工厂模式。
参考现有的 Stripe 提供商实现。

数据库迁移

在 users 表中添加一个新的 "preferences" 列。
使用 Drizzle 创建正确的迁移。
注意:不要手动编辑 auth.ts —— 它是自动生成的。

最佳实践

  • 引用文件路径 — 始终提供 AI 应参考的具体文件或目录
  • 指向现有代码 — "参考 src/actions/user.ts 中的模式" 比长篇描述更有效
  • 验证输出 — 运行 pnpm run build 检查类型错误,pnpm run format 检查代码风格

资源