name: 模式发现 description: 用于模式优先开发的模式库发现。在实现任何新功能、创建组件、编写API路由或添加数据库操作之前使用。确保在编写新代码之前首先检查现有模式。
模式发现技能
目的
通过检查模式库来强制执行模式优先开发,以减少代码重复,确保一致性,并利用经过实战检验的解决方案。
何时使用
在以下情况调用此技能:
- 即将创建新的API路由
- 即将创建新的UI组件
- 即将添加数据库操作
- 即将编写集成测试
- 用户询问“如何实现…”或“如何构建…”
- 开始任何功能实现的工作
模式发现协议
在编写新代码之前,始终遵循此序列:
步骤1:检查模式库
搜索 docs/patterns/ 以查找现有模式:
# 按类别查找模式
ls docs/patterns/api/ # API路由模式
ls docs/patterns/ui/ # UI组件模式
ls docs/patterns/database/ # 数据库操作模式
ls docs/patterns/testing/ # 测试模式
步骤2:查看模式索引
检查 docs/patterns/README.md 获取完整的模式索引:
| 类别 | 可用模式 |
|---|---|
| API | 用户上下文, 管理员上下文, Webhook处理器, Zod验证, 奖励内容 |
| UI | 认证页面, 带验证的表单, 数据表, 营销页面 |
| 数据库 | RLS迁移, Prisma事务, 服务器组件访问 |
| 测试 | API集成测试, E2E用户流程 |
步骤3:应用或上报
如果模式存在:
- 读取模式文件
- 复制代码模式
- 遵循定制指南
- 运行验证命令
如果模式缺失:
- 在代码库中搜索类似实现
- 如果找到,考虑提取为新模式(仅限BSA/ARCHitect)
- 如果没有找到,按照现有约定从零开始实现
- 向BSA报告模式差距以便未来提取
模式库结构
docs/patterns/
├── README.md # 模式索引和使用指南
├── api/
│ ├── user-context-api.md
│ ├── admin-context-api.md
│ ├── webhook-handler.md
│ ├── zod-validation-api.md
│ └── bonus-content-delivery.md
├── ui/
│ ├── authenticated-page.md
│ ├── form-with-validation.md
│ ├── data-table.md
│ └── marketing-page.md
├── database/
│ ├── rls-migration.md
│ ├── prisma-transaction.md
│ └── server-component-direct-access.md
├── testing/
│ ├── api-integration-test.md
│ └── e2e-user-flow.md
└── ci/
├── service-configuration-pattern.md
└── database-setup-pattern.md
模式匹配指南
| 如果您需要… | 使用此模式 |
|---|---|
| 创建认证API端点 | api/user-context-api.md |
| 创建仅管理员API端点 | api/admin-context-api.md |
| 处理外部webhook | api/webhook-handler.md |
| 用Zod验证API输入 | api/zod-validation-api.md |
| 提供私人可下载内容 | api/bonus-content-delivery.md |
| 创建受保护页面 | ui/authenticated-page.md |
| 构建带验证的表单 | ui/form-with-validation.md |
| 显示分页数据 | ui/data-table.md |
| 创建营销/着陆页 | ui/marketing-page.md |
| 添加带有RLS的新表 | database/rls-migration.md |
| 运行多步数据库操作 | database/prisma-transaction.md |
| 测试API端点 | testing/api-integration-test.md |
| 编写E2E用户流测试 | testing/e2e-user-flow.md |
安全要求
所有模式强制执行:
- RLS上下文 - 数据库操作使用
withUserContext,withAdminContext, 或withSystemContext - 认证 - 受保护路由在处理前验证认证
- 输入验证 - 所有输入用Zod模式验证
- 错误处理 - 全面的错误处理,带有适当的状态码
验证命令
应用模式后,运行:
yarn lint && yarn type-check # 所有模式
yarn test:integration # API模式
yarn test:e2e # UI模式
权威参考
- 模式索引:
docs/patterns/README.md - RLS模式: 参见
rls-patterns技能以获取数据库安全 - 前端模式: 参见
frontend-patterns技能以获取UI约定