SuperAPI AI 工具集

musts

测试与质量

查看项目

更新于 10-16 09:53

技能介绍

用途:musts 提供“校验循环”。当仓库根目录存在 MUSTS.yml 时,代码改动后、声明完成、开 PR 或请求评审前,运行 musts validate。它会列出所有待处理任务(不批处理,可幂等重跑);若输出“No MUSTS.yml files found.”则本技能不适用。

主要能力:任务分三类。可运行检查(do: 为普通命令,如 cargo/*、bazel/build、bazel/test)用 musts run <task-id>,由 musts 执行命令、核对真实退出码并记录证据;判断类检查(agent、mav)需自行完成工作后执行 musts evidence <task-id> 提交;模型判定检查(jev)同样用 musts run,需 API 密钥。

使用方式:反复执行 musts validate 直到退出码 0。记录判断类证据:musts evidence <task-id> --text "<结果摘要>" --asset <日志或截图路径>,--asset 可重复;资产就地校验、不归档,账本为 .musts/ledger.lock.yaml。jev 首次配置:musts-jev set-key < key.txt(从 stdin 读取,存入 macOS 钥匙串);密钥查找顺序为 MUSTS_JEV_API_KEY 环境变量、系统钥匙串、~/.config/bitomule/musts/config.json,无密钥时判红失败。多个独立判断任务可各派子代理并行,共享资源(模拟器、数据库、端口)则串行;完成后统一提交证据。若任务显示 stale,重新 validate 并按新 id 处理。

编写 MUSTS.yml:用 musts lint 检查,不要手改账本。需要判断的用 uses: agent,需要执行命令的用 uses: bazel/test 等;条件性检查用 paths: 过滤。glob 相对清单所在目录、大小写不敏感、* 不跨 /、** 才递归,前导 ! 被拒绝,改用 exclude_paths。paths 未匹配任何文件会在 Ignored checks 提示。审计用 musts stats 查看重开次数与曾判红次数。可用 .mustsignore 排除不参与作用域哈希的文件,需提交该文件,并重跑 validate 后提交更新后的账本。

安装:musts skill install,可加 --agent claude-code 等限定单一运行器,需要 PATH 中有 npx(Node.js)。

限制:不跳过循环、不凭空添加步骤、不遗漏必需证据;禁止手编 .musts/ledger.lock.yaml,只有 musts run / musts evidence 可写入。其余收费与平台细节暂未提供。