SuperAPI AI 工具集

cli-review-runner

测试与质量

查看项目

更新于 10-16 03:46

技能介绍

用途:cli-review-runner 是一个黑盒 CLI 评分工具,用 cli-for-agents 的 45 条规则目录作为标准,对目标 CLI 运行探测并输出结构化报告,把每个发现映射到规则 ID(如 help-examples-in-help、err-non-zero-exit-codes、safe-dry-run-flag)。适用于审查或审计 CLI 的智能体友好度、自动化与 CI 就绪度,或对刚构建完成的 CLI 做发布前自检。

主要能力:由 scripts/review.sh 编排。流程为校验目标、加载规则目录 references/rule-catalog.tsv、自动发现子命令、运行 P1 到 P10 探测、由 scripts/render.sh 渲染报告。探测覆盖非交互执行、分层帮助、帮助示例、可操作错误、stderr 通道、退出码、stdin 组合、结构化输出、破坏性操作安全、命令结构。45 条规则中 30 条可黑盒测试,其余 15 条(幂等性、状态协调、NDJSON 流、有界输出、崩溃恢复、环境变量回退、secret-stdin、输入名称确认等)需真实调用或查看源码,报告标记为需人工复核。

使用方式:默认输出 stdout 文本表格,全部通过退出 0,任一失败退出 1。 bash scripts/review.sh --target /usr/local/bin/mycli 机器可读输出: bash scripts/review.sh --target gh --format json bash scripts/review.sh --target kubectl --format ndjson 自动发现遗漏时指定子命令: bash scripts/review.sh --target gh --subcommands pr,issue,repo 预览而不触碰目标: bash scripts/review.sh --target mycli --dry-run 对破坏性动词启用风险探测(默认关闭): bash scripts/review.sh --target mycli --include-destructive 完整参数见 bash scripts/review.sh --help。

安全模型:默认只读。安全动词可用错误参数调用以测试错误处理;破坏性动词仅通过 --help 检查,从不带参数执行。每个探测在 </dev/null 下运行,超时 5 秒,参数不含 shell 元字符。传入 --include-destructive 后探测可能用错误参数调用破坏性动词,仅在信任目标或一次性测试环境中使用。

配置:config.json 保存动词分类列表与默认超时,包含 timeout_seconds、safe_verbs、destructive_verbs,无需配置即可运行。改动探测后可运行 bash scripts/selftest.sh 自测(预期 8 通过 0 失败)。相关技能为 cli-for-agents。