SuperAPI AI 工具集

test-martool-cli

测试与质量

查看项目

更新于 10-16 08:31

技能介绍

用途

该技能用于对 martool CLI 命令进行穷尽式测试或发布门禁验证。它通过一个能产出证据的入口脚本,运行 martool 的两套权威黑盒测试矩阵:generated 矩阵与 platform CLI 审计矩阵。支持两种目标模式:源码检出(source 模式)和已部署的 Coolify 容器(Coolify 模式,通过 SSH 访问)。完整通过可证明所有由 manifest 派生的用例均已完成、覆盖精确且无任何 provider 调用;过滤运行仅作诊断用途。

主要能力

  • 运行 martool 全部 CLI 命令或标志的测试矩阵。
  • 合并 generated 与 platform CLI 两套审计。
  • 验证 martool 发布候选版本或已部署镜像。
  • 复现单个 martool 命令的标志矩阵。
  • 在不产生 DataForSEO 花费的前提下证明 CLI 覆盖。
  • 通过 SSH 测试线上 Coolify 镜像,而非本地 Docker。

使用方式

前置解析

将 MARTOOL_CLI_SKILL_DIR 解析为包含本 SKILL.md 的目录,不要假设技能位于目标仓库中:

export MARTOOL_CLI_SKILL_DIR=/path/to/installed/test-martool-cli node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs" --help

源码检出模式

node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target source
--repo /path/to/martool
--report-dir /tmp/martool-cli-source-proof

已部署 Coolify 模式

node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target coolify
--ssh-host hetzner
--report-dir /tmp/martool-cli-coolify-proof

诊断用法

仅选择一套矩阵以隔离失败:

node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target source --repo /path/to/martool
--matrix generated

过滤到单个 manifest 命令以复现其用例:

node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target coolify --ssh-host hetzner
--command "keywords research"

使用 --matrix 非 all 或任何 --command 过滤的运行必须返回 diagnostic-pass,而非 verified。

证据检查与结果分类

先检查 combined.json,再查看失败检查所指向的原始报告。可能的结果:

  • verified:两套完整矩阵在单一固定目标上通过且覆盖精确。报告目标 ID、总数、覆盖情况与零 provider 证明。
  • diagnostic-pass:所有选定用例通过,但范围有意为部分。报告确切的矩阵/命令范围,不要称为穷尽。
  • failed:预检、执行、覆盖、安全或目标固定契约失败。根据原始报告与故障排查进行分类。

报告内容

报告应包含:源码提交或部署容器/镜像 ID;选择范围(全部、单矩阵或单命令);manifest 派生的命令计数;每个已执行矩阵的尝试/通过/失败总数;覆盖完整性;平台 provider 调用计数器;原始报告哈希与合并报告路径;最终结论。

适用场景

当用户要求以下操作时使用:运行所有 martool CLI 命令或标志;合并 generated 与 platform CLI 审计;验证 martool 发布候选或已部署镜像;复现单个 martool 命令的标志矩阵;在不产生 DataForSEO 花费的前提下证明 CLI 覆盖;或通过 SSH 测试线上 Coolify 镜像而非本地 Docker。

限制与规则

  • 运行或更改任何内容前,先阅读最近的仓库说明。
  • 以 martool 自带的审计工具为唯一事实来源,不要用临时 shell 循环重新实现其标志用例。
  • 针对用户请求的目标运行。若用户指定 Coolify、Hetzner、SSH、已部署镜像,或要求不使用本地 Docker,则使用 Coolify 模式,绝不启动本地 Docker。
  • 预先声明范围:完整发布证明或单命令诊断。绝不将过滤或单矩阵运行描述为穷尽。
  • 要求零平台 provider 调用和零付费 provider 调用。不要为通过审计而添加凭据。
  • 运行前将部署证据固定到单一健康容器 ID 与镜像 ID;任一变化即失败。
  • 在声称结果前保存并检查原始报告及 combined.json。
  • 不适用于通用 CLI、MCP 协议测试、线上 provider 质量测试、部署或应用功能开发。MCP 传输/工具冒烟测试请使用 test-by-mcpc-cli,部署变更请使用 deploy-coolify-cloud。
  • 绝不为 Coolify 验证使用本地 Docker。
  • 绝不打印远程环境变量、Docker inspect 环境数据、凭据或 SSH 配置。
  • 绝不运行付费 provider 命令来证明 CLI 测试工具。
  • 绝不将当前命令或用例计数硬编码为验收阈值。
  • 绝不从单矩阵、过滤命令、旧报告或已变更容器报告 verified。
  • 绝不手工编辑 martool 生成的 skills/martool/SKILL.md;它是产品生成的用法指南,而非本测试工作流。

参考路由

  • 首次使用、安装、运行时前置条件或定位技能脚本:references/installation.md
  • 判断证据是否穷尽、解读 JSON 或退出码:references/audit-contract.md
  • Hetzner/Coolify、SSH、容器发现、镜像固定或远程安全:references/coolify-remote.md
  • 命令失败、覆盖不完整、发现不明确或报告缺失:references/troubleshooting.md

常见阅读组合:首次源码运行读 installation + audit contract;首次部署运行读 installation + Coolify remote + audit contract;失败运行读 audit contract + troubleshooting,SSH/容器失败时加读 Coolify remote。