SuperAPI AI 工具集

stack-review

编程与开发

查看项目

更新于 10-16 07:45

技能介绍

用途

Stack Review 用于审计代码是否符合 @outfitter/* 模式规范,主要面向提交前审查(pre-commit reviews)和代码质量检查场景。

主要能力

该技能提供一套 6 步审计流程:

  1. 扫描反模式:通过搜索识别问题,包括抛出的异常(Critical)、try/catch 控制流(Critical)、console 使用(High)、硬编码路径(High)、自定义错误类(Medium)。
  2. 审查处理器签名:检查每个处理器是否返回 Result<T, E> 而非 Promise<T>、是否将 context 参数作为第二个参数、错误类型是否在联合类型中显式列出、是否使用 Handler<TInput, TOutput, TError> 类型。
  3. 检查错误用法:验证错误是否使用 @outfitter/contracts 类、是否具有适合用例的正确类别、是否包含适当细节、是否通过 Result.err() 返回而非抛出。
  4. 验证日志:检查是否使用 ctx.logger 而非 console、元数据是否为对象而非字符串拼接、敏感字段是否会被脱敏、是否使用子日志记录器处理请求上下文。
  5. 检查路径安全:验证用户路径是否使用 securePath() 校验、是否使用 XDG 辅助函数(如 getConfigDir)、文件修改是否使用原子写入、是否存在硬编码的 home 路径。
  6. 审查上下文:检查入口点是否调用 createContext()、上下文是否贯穿处理器链传递、是否使用 requestId 进行追踪。

使用方式

该技能通过 ripgrep(rg)命令进行代码扫描,例如:

# 查找抛出的异常
rg "throw new" --type ts

# 查找 console 使用
rg "console\.(log|error|warn)" --type ts

# 查找硬编码路径
rg "(homedir|~\/\.)" --type ts

# 查找自定义错误
rg "class \w+Error extends Error" --type ts

# 查找缺少 context 的处理器
rg "Handler<.*> = async \(input\)" --type ts

技能还提供快速审计命令,用于统计关键问题数量、console 使用数量以及查看处理器模式。

检查清单

技能包含针对以下方面的检查清单:Result 类型、错误分类(validation、not_found、conflict、permission、internal)、日志、路径安全、上下文传播、验证(使用 createValidator() 与 Zod)、输出(CLI 使用 await output() 与模式检测、exitWithError()、基于错误类别的退出码)。

严重级别

  • Critical:抛出的异常、未校验的路径、缺失的错误处理
  • High:console 日志、硬编码路径、缺失上下文
  • Medium:缺失类型注解、非原子写入
  • Low:风格问题、缺失文档

报告格式

审计报告包含状态(PASS | WARNINGS | FAIL)、问题计数(按严重级别)、各严重级别下的具体问题(文件:行号)以及修复建议。

相关技能

  • outfitter-stack:stack-patterns — 正确模式参考
  • outfitter-stack:stack-audit — 扫描代码库以确定采用范围
  • outfitter-stack:stack-debug — 问题排查

限制

该技能的具体安装方式、收费模式、支持平台等信息暂未提供。