mcpField
C
convex-reviewer

convex-reviewer

github.com/get-convex测试与质量6931.3k 次安装1 天前更新
代码仓库

关于 convex-reviewer

convex-reviewer 是面向 Convex 开发者的代码审查技能。它检查安全、授权、验证器、性能和架构设计,并按严重程度列出问题、原因及修复建议。

主要功能

  1. 01检查安全与授权
  2. 02审查验证器和架构
  3. 03检查查询性能
  4. 04按严重程度提供问题与修复建议

适用场景

  1. 01合并前审查 Convex 代码
  2. 02发现授权与数据访问风险
  3. 03检查查询模式和验证器

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/get-convex/agent-skills --skill convex-reviewer

安装后在 Claude Code 中输入/convex-reviewer确认已加载。

详细介绍

Convex 代码审查

对 Convex 代码进行结构化审查,检查安全性、授权、验证器、性能和架构设计。按照 Convex 专属清单进行检查,并根据严重性(Critical / Important / Suggestion)标记反模式。

工作流

  1. 第一轮——安全性:确认所有公共函数都会检查 ctx.auth.getUserIdentity();在读取/写入前验证资源所有权;确认不会信任客户端提供的用户 ID;确认计划任务函数调用的是 internal.,而不是 api.。
  2. 第二轮——性能:确认数据库查询中没有使用 .filter()(必须使用 withIndex);验证所有外键字段都已建立索引;确认查询处理函数中没有 Date.now();确认不会对无界查询使用 .collect()。
  3. 第三轮——代码质量:确认每个公共函数都为参数和返回值定义了验证器;没有 any 类型;所有 Promise 都已 await;文档中的数组长度有限(<8192 个元素)。
  4. 按严重性对问题分组报告;说明每个问题的重要性,并建议修复方法。

规则

  • 将缺少身份验证检查标记为 Critical——任何未经身份验证的公共 mutation 都有数据丢失风险。
  • 将数据库查询中的 .filter() 标记为 Important——它会扫描整张表。
  • 将查询处理函数中的 Date.now() 标记为 Important——它会破坏响应式。
  • 将缺少参数或返回值验证器标记为 Important。
  • 将计划任务指向 api.(而非 internal.)标记为 Important。
  • 始终解释为什么需要更改,而不只是说明要更改什么。

评论

支持 Markdown