Better Auth 最佳实践
提供 Better Auth 认证框架的集成指南和最佳实践
本项目集成了多个 Cursor Skills,帮助 AI 助手更好地理解项目结构和最佳实践。
Better Auth 最佳实践
提供 Better Auth 认证框架的集成指南和最佳实践
代码审查
对 Git 工作区中的代码修改进行全面审查
创建认证层
指导在 TypeScript/JavaScript 应用中添加认证功能
React 组合模式
React 组件组合模式,避免布尔属性泛滥,构建灵活的组件库
React 最佳实践
Vercel 的 React 和 Next.js 性能优化指南,包含 57 条规则
Web 设计指南
审查 UI 代码是否符合 Web 界面设计指南
Skill 名称: better-auth-best-practices
描述: 提供 Better Auth TypeScript 认证框架的集成指南和最佳实践。
当需要:
环境变量:
BETTER_AUTH_SECRET - 加密密钥(至少 32 字符)BETTER_AUTH_URL - 基础 URLCLI 命令:
# 应用数据库迁移npx @better-auth/cli@latest migrate
# 生成 Prisma/Drizzle schemanpx @better-auth/cli@latest generate
# 添加 MCP 到 AI 工具npx @better-auth/cli mcp --cursor重要提示: 添加或修改插件后需要重新运行 CLI 命令。
Skill 名称: code-review
描述: 对 Git 工作区中的代码修改进行全面审查,发现潜在问题并提供改进建议。
当需要:
/code-reviewSkill 名称: create-auth-skill
描述: 指导在 TypeScript/JavaScript 应用中添加认证功能。
当需要:
新项目?├─ 是 → 完整设置流程└─ 否 → 已有认证? ├─ 是 → 迁移/增强 └─ 否 → 添加到现有项目npm install better-authauth.ts 配置文件auth-client.ts 客户端配置Skill 名称: vercel-composition-patterns
描述: React 组合模式,用于构建灵活、可维护的 React 组件。避免布尔属性泛滥,使用组合组件、状态提升和内部组合。这些模式使代码库在扩展时更容易被人类和 AI 代理使用。
组件架构 (高优先级)
状态管理 (中优先级)
实现模式 (中优先级)
当需要:
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 组件架构 | HIGH | architecture- |
| 2 | 状态管理 | MEDIUM | state- |
| 3 | 实现模式 | MEDIUM | patterns- |
每个规则文件包含:
完整指南请参考:.agents/skills/vercel-composition-patterns/AGENTS.md
Skill 名称: vercel-react-best-practices
描述: Vercel Engineering 维护的 React 和 Next.js 性能优化综合指南。包含 57 条规则,涵盖 8 个类别,按影响优先级排序,指导自动化重构和代码生成。
async-defer-await - 将 await 移到实际使用的分支中async-parallel - 对独立操作使用 Promise.all()async-dependencies - 使用 better-all 处理部分依赖async-api-routes - 在 API 路由中尽早启动 promise,延迟 awaitasync-suspense-boundaries - 使用 Suspense 流式传输内容bundle-barrel-imports - 直接导入,避免 barrel 文件bundle-dynamic-imports - 对重型组件使用 next/dynamicbundle-defer-third-party - 在 hydration 后加载分析/日志bundle-conditional - 仅在功能激活时加载模块bundle-preload - 在悬停/聚焦时预加载以提高感知速度server-auth-actions - 像 API 路由一样验证服务器操作server-cache-react - 使用 React.cache() 进行每请求去重server-cache-lru - 使用 LRU 缓存进行跨请求缓存server-dedup-props - 避免 RSC props 中的重复序列化server-serialization - 最小化传递给客户端组件的数据server-parallel-fetching - 重构组件以并行化获取server-after-nonblocking - 对非阻塞操作使用 after()client-swr-dedup - 使用 SWR 进行自动请求去重client-event-listeners - 去重全局事件监听器client-passive-event-listeners - 对滚动使用被动监听器client-localstorage-schema - 版本化和最小化 localStorage 数据rerender-defer-reads - 不要订阅仅在回调中使用的状态rerender-memo - 将昂贵的工作提取到记忆化组件中rerender-memo-with-default-value - 提升默认非原始 propsrerender-dependencies - 在 effects 中使用原始依赖rerender-derived-state - 订阅派生的布尔值,而非原始值rerender-derived-state-no-effect - 在渲染期间派生状态,而非 effectsrerender-functional-setstate - 为稳定回调使用函数式 setStatererender-lazy-state-init - 为昂贵值向 useState 传递函数rerender-simple-expression-in-memo - 避免对简单原始值使用 memorerender-move-effect-to-event - 将交互逻辑放在事件处理程序中rerender-transitions - 对非紧急更新使用 startTransitionrerender-use-ref-transient-values - 对瞬态频繁值使用 refsrendering-animate-svg-wrapper - 动画化 div 包装器,而非 SVG 元素rendering-content-visibility - 对长列表使用 content-visibilityrendering-hoist-jsx - 在组件外部提取静态 JSXrendering-svg-precision - 降低 SVG 坐标精度rendering-hydration-no-flicker - 对仅客户端数据使用内联脚本rendering-hydration-suppress-warning - 抑制预期的失配rendering-activity - 对显示/隐藏使用 Activity 组件rendering-conditional-render - 对条件使用三元运算符,而非 &&rendering-usetransition-loading - 对加载状态优先使用 useTransitionjs-batch-dom-css - 通过类或 cssText 分组 CSS 更改js-index-maps - 为重复查找构建 Mapjs-cache-property-access - 在循环中缓存对象属性js-cache-function-results - 在模块级 Map 中缓存函数结果js-cache-storage - 缓存 localStorage/sessionStorage 读取js-combine-iterations - 将多个 filter/map 合并为一个循环js-length-check-first - 在昂贵比较之前检查数组长度js-early-exit - 从函数中提前返回js-hoist-regexp - 在循环外提升 RegExp 创建js-min-max-loop - 对 min/max 使用循环而非 sortjs-set-map-lookups - 对 O(1) 查找使用 Set/Mapjs-tosorted-immutable - 对不可变性使用 toSorted()advanced-event-handler-refs - 在 refs 中存储事件处理程序advanced-init-once - 每次应用加载初始化一次advanced-use-latest - 用于稳定回调 refs 的 useLatest当需要:
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 消除瀑布流 | CRITICAL | async- |
| 2 | 打包大小优化 | CRITICAL | bundle- |
| 3 | 服务端性能 | HIGH | server- |
| 4 | 客户端数据获取 | MEDIUM-HIGH | client- |
| 5 | 重渲染优化 | MEDIUM | rerender- |
| 6 | 渲染性能 | MEDIUM | rendering- |
| 7 | JavaScript 性能 | LOW-MEDIUM | js- |
| 8 | 高级模式 | LOW | advanced- |
每个规则文件包含:
完整指南请参考:.agents/skills/vercel-react-best-practices/AGENTS.md
Skill 名称: web-design-guidelines
描述: 审查 UI 代码是否符合 Web 界面设计指南。用于审查 UI、检查可访问性、审核设计、审查 UX 或检查网站是否符合最佳实践。
file:line 格式输出发现的问题当需要:
在每次审查前获取最新指南:
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md使用 WebFetch 检索最新规则。获取的内容包含所有规则和输出格式说明。
当用户提供文件或模式参数时:
如果未指定文件,将询问用户要审查哪些文件。
Skills 会自动加载,当你的问题或任务与某个 Skill 相关时,AI 助手会自动使用相应的 Skill。
你也可以在对话中明确提到:
Skills 位于两个位置:
.cursor/skills/ - Cursor Skills(用于 Cursor IDE):
.cursor/skills/├── better-auth-best-practices/│ └── SKILL.md├── code-review/│ └── SKILL.md└── create-auth-skill/ └── SKILL.md.agents/skills/ - Agent Skills(用于 AI 代理):
.agents/skills/├── vercel-composition-patterns/│ ├── SKILL.md│ ├── AGENTS.md│ └── rules/├── vercel-react-best-practices/│ ├── SKILL.md│ ├── AGENTS.md│ └── rules/└── web-design-guidelines/ └── SKILL.md