LogoLaunchSaaS

AI 辅助开发

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

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

支持的 AI 工具

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

Agent 文档结构

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

文件用途
AGENTS.md入口 — 项目概览、全局规则、子文档指针
apps/launchsaas/AGENTS.md应用专属关键规则、代码规范、核心文件说明
agent_docs/architecture.md包结构、Provider 接口模式、路径别名
agent_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 条。
只写通用内容每一行都会出现在所有会话中,只保留对所有任务都适用的内容。
渐进式披露专项上下文放入 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 检查代码风格

资源