用途:对代码库进行反模式、代码异味与质量问题的系统化检测,覆盖 JavaScript、TypeScript、Python、Vue、React 等语言与框架。核心方法是使用 ast-grep 进行结构化模式匹配,并强调通过并行代理委派,让多个专用代理同时检查不同类别,最后合并结果。
主要能力:按类别提供 ast-grep 查询目录,包括 JS/TS 的回调地狱、魔法值、空 catch、console 残留、var 声明;Vue 3 的 props 直接修改、v-for 缺少 key、Options API 混用、响应式状态解构;TypeScript 的 any 滥用、非空断言、类型断言;异步/Promise 的未处理 Promise、嵌套回调、Promise 构造器反模式;复杂度方面的长函数、深层嵌套、大参数列表;React/Pinia 的状态直接修改、useEffect 依赖缺失、JSX 内联函数;内存与性能的事件监听未清理、setInterval 未清理;安全方面的 eval、innerHTML 赋值、硬编码密钥、SQL 字符串拼接;以及 Python 的裸 except、可变默认参数、global 使用等。还给出 YAML 规则示例(如 no-empty-catch、no-props-mutation)和严重级别划分(critical、high、medium、low)。
使用方式:在需要编写扫描或扩展 anti-pattern 检测时使用本技能;配合 /code:antipatterns 命令,先检测语言栈,再并行启动专用代理,最后汇总为按优先级排序的报告,并给出可能的自动修复建议。直接运行用户可调用的扫描器应改用 code-antipatterns;查询 ast-grep 语法应改用 ast-grep-search;专门审计吞错、完整代码审查分别使用 code-error-swallowing 和 code-review。
适用场景:代码质量审查、安全审计前置筛查、框架迁移或重构前的基线检查,以及为团队建立可复用的反模式查询目录。
限制:部分模式(如缺失返回类型、函数过长、Promise 结果是否被使用)需结合上下文或额外处理判断,不能仅凭单一匹配确定;测试文件可能需要单独标准;某些反模式在特定上下文中可接受。资料未提供安装命令、收费与平台信息。