autoskills 智能测试命令解析:用 OpenCode 自定义命令实现测试文件的模糊匹配与精准执行
【免费下载链接】autoskillsOne command. Your entire AI skill stack. Installed.项目地址https://gitcode.com/gh_mirrors/au/autoskills点击查看免费下载本文以 autoskills 仓库中的 test.md 命令定义为核心讲解如何为 AI 编码助手OpenCode配置一条运行 packages/autoskills 测试的自定义命令它既能一键跑全量测试也能根据自然语言提示如cli、detect agents、workspace自动模糊匹配到具体测试文件并精准执行还能借助上下文消歧、候选询问等机制避免误跑。读完本文你将掌握$ARGUMENTS参数机制、pnpm --dir、node --test、rg --files的组合用法以及这套命令规则背后的测试套件结构。命令文件与它的定位.opencode/command/test.md是 OpenCode 自定义命令的声明文件通过 YAML frontmatter 的description字段声明用途Ejecuta los tests de packages/autoskills con filtro opcional运行 packages/autoskills 的测试支持可选过滤。它与同目录下的 check.md完整校验、fix.md格式与 lint 修复、registry.md技能注册表同步/校验、publish.md安全发布、commit-all.md语义化提交共同构成该仓库面向 AI 代理的日常命令集而test命令专门负责测试这一环。命令体通过Argumentos recibidos: $ARGUMENTS接收用户随命令附带的可选参数后续所有分支逻辑都围绕是否有参数、参数能否匹配测试文件展开。运行规则全解从全量到精准的匹配决策树命令的核心规则可以拆解为一条清晰的决策树场景行为执行命令无参数运行全部测试pnpm --dir packages/autoskills test有参数且唯一匹配只运行该测试文件pnpm --dir packages/autoskills exec node --test tests/archivo.test.ts有参数但多个匹配依据上下文选最可能者仍歧义则列出选项询问同上选定后有参数但无匹配展示可用测试文件并询问无无参数一键全量当用户只输入/test而不带任何参数时执行全量测试pnpm --dir packages/autoskills test这里pnpm --dir的作用是在指定目录packages/autoskills内解析并执行该包的test脚本而无需先切换工作目录。对照 package.json 可以看到该脚本的真实定义scripts: { test: node --test tests/*.test.ts }也就是说全量测试最终由 Node.js 内置测试运行器node --test执行匹配tests/目录下所有*.test.ts文件。项目通过engines声明了node: 22.6.0测试文件为 TypeScript 源码运行依赖该版本起 Node 对类型剥离strip types的能力支持这是使用本命令前需要满足的运行前提。有参数把提示当成模糊匹配线索命令刻意放宽了匹配要求——用户不必写出测试文件的精确名称。文档明确给出可接受的提示示例cli、detect agents、detect-agents、workspace、collect、installer、claude。这些提示与实际测试文件存在天然对应cli→ cli.test.tsdetect agents/detect-agents→ detect-agents.test.tsworkspace→ workspace.test.tscollect→ collect.test.tsinstaller→ installer.test.tsclaude→ claude.test.ts可以看到提示既可以是文件名的子串cli对应cli.test.ts也可以是文件语义的展开detect agents对应detect-agents.test.ts。这种设计让开发者用自然语言就能精准定位测试而不是死记文件名。上下文消歧借助当前会话判断意图规则强调如果当前上下文提到或正在处理某个具体测试套件就用它来消歧提示。这是命令智能的关键——同一个detect提示可能同时命中detect.test.ts与detect-agents.test.ts此时命令会结合会话中正在讨论的代码例如 Agent 刚刚读过的 detect.test.ts 或 lib.ts来推断用户真正想跑哪个文件。唯一匹配精准执行单文件当提示恰好唯一命中某个测试文件时执行pnpm --dir packages/autoskills exec node --test tests/archivo.test.tspnpm exec在packages/autoskills目录下解析本地依赖后执行node --test并直接传入目标测试文件路径。与全量命令相比这避免了无关测试的开销——例如只关心 CLI 行为时cli.test.ts中的--help、--dry-run、--clear-cache等用例可以独立快速验证无需等待全量套件。多匹配 / 无匹配宁可询问也不误跑多匹配先按上下文选最可能的若仍无法确定就展示所有候选并询问用户。无匹配展示可用测试文件请用户指明。这两个分支体现了命令的保守原则测试执行是有副作用的操作会运行真实逻辑歧义时优先显式确认避免跑错文件浪费轮次。匹配依据如何列出可用测试文件命令规定解析匹配时用如下方式枚举测试文件rg --files packages/autoskills/tests -g *.test.tsrg --files只输出文件路径不做内容搜索配合-g *.test.ts的 glob 过滤得到的就是全部可匹配的测试文件清单。在该仓库中tests/目录实际包含以下测试源文件另有一个供各测试复用的 helpers.ts 辅助模块claude.test.tscli.test.tscollect.test.tsdetect-agents.test.tsdetect.test.tsinstaller.test.tsworkspace.test.ts源码视角这套测试在测什么了解命令所驱动的测试内容能帮助你更好地给提示词。从测试实现看packages/autoskills的测试主要覆盖两大层次CLI 层cli.test.tscli.test.ts 通过execFileSync(process.execPath, [CLI_PATH, ...args])直接调用 CLI 入口 index.mjs 的子进程并设置NO_COLOR1与 10 秒超时验证--help/-h帮助信息包含--dry-run、--clear-cache、--yes、--agent等选项--clear-cache清空AUTOSKILLS_CACHE_DIR指向的缓存目录--dry-run只检测不安装输出nothing was installed并分别验证 React、Next.js、TypeScript、Tailwind、GSAP、Cloudflare、Vercel、WordPress、Bash、Monoreponpm/pnpm/Gradle等数十种技术栈的检测结果与对应 skills 推荐。因此在提示中给出cli即可快速验证 CLI 选项与检测输出detect则覆盖 detect.test.ts 中对lib.ts内部函数的单元测试——例如getAllPackageNames合并 dependencies/devDependencies、readPackageJson对非法 JSON 返回null、detectTechnologies对配置文件如next.config.mjs、components.json、go.mod、wrangler.json的检测逻辑等。其他套件workspace、collect、installer、claude、detect-agents分别对应工作区检测、技能收集、安装器、Claude 集成与 Agent 探测等模块的测试提示词直接使用这些语义化名称即可命中。执行后的收尾要求命令规则的最后一部分规定了收尾行为运行结束后总结测试结果并重点标出重要失败resume el resultado y destaca los fallos importantes si los hay不得修改任何文件除非用户明确要求No modifiques archivos salvo que el usuario lo pida explícitamente。这条只读约束与仓库中其他命令的取向一致如 fix.md 也声明除非用户要求否则不改README.md确保 Agent 默认以最小侵入方式工作。将这套模式复用到其他仓库该命令的写法本身具有可移植性任何采用 Node 内置测试运行器node --test的包都可以用同样的三段式结构定义自己的测试命令——pnpm --dir pkg test做全量兜底rg --files枚举候选文件支撑模糊匹配pnpm --dir pkg exec node --test tests/file做精准单跑再配以上下文消歧和歧义即询问的兜底规则。它把测试运行从固定脚本升级为一次可对话、可推理的智能操作这正是 OpenCode 自定义命令对开发效率的核心价值所在。赞分享【免费下载链接】autoskillsOne command. Your entire AI skill stack. Installed.项目地址https://gitcode.com/gh_mirrors/au/autoskills点击查看免费下载相关推荐ProcessHacker 便携版终极指南打造随身携带的轻量级系统调试工具ProcessHacker 便携版终极指南打造随身携带的轻量级系统调试工具 ProcessHacker 是一款免安装、多用途的 Windows 系统工具本文桌面应用调试器应用安全驱动开发OpenCode Bash测试命令行工具验证OpenCode Bash测试命令行工具验证 引言为什么需要专业的Bash测试工具 在日常开发中命令行工具CLI是不可或缺的核心组件。然而传统的B人工智能AI 应用AI Agent代码智能体CLI开发者工具Photino.NET轻量级跨平台桌面应用开发新方案Photino.NET轻量级跨平台桌面应用开发新方案 想象一下你正在构建一个现代化的桌面应用既想利用熟悉的Web技术栈又不希望应用体积臃肿、内存占用过高上一篇PaddleDetection 通用检测 Benchmark 测试脚本详解从单卡到多卡的性能基准评估实践下一篇使用 Conductor 启动工作流REST API、客户端 SDK 与 curl/Node 实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考