关于 cli-anything-hermes
CLI-Anything for Hermes Agent 是一项技能,引导 Hermes Agent 为软件构建、改进、测试和验证命令行工具。它说明开发流程、打包要求及后端选择原则。
主要功能
- 01构建和改进命令行工具
- 02规划单元及端到端测试
- 03验证打包与命令行为
- 04优先使用软件原生后端
适用场景
- 01根据本地软件源码构建工具
- 02为 GitHub 项目开发工具
- 03检查并测试现有工具
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-hermes安装后在 Claude Code 中输入/cli-anything-hermes确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/hermes.yamlscripts/install.ps1install.sh详细介绍
适用于 Hermes Agent 的 CLI-Anything
当用户希望 Hermes Agent 像 CLI-Anything 构建器一样工作时,请使用此技能。
在实现之前,如果可用,请使用完整的方法论权威来源:
- 如果此技能是在
CLI-Anything仓库内部使用的,请先阅读../cli-anything-plugin/HARNESS.md。 - 如果该本地文件不可用,请从
https://github.com/HKUDS/CLI-Anything/tree/main/cli-anything-plugin克隆或下载cli-anything-plugin,然后使用该文件夹中的HARNESS.md及其周边资源。 - 只有在本地和网络获取都失败时,才遵循下面的精简规则。
输入
接受以下任一形式:
- 本地源路径,例如
./gimp或/path/to/software - GitHub 仓库 URL
如有需要,在克隆后从本地目录名推导软件名称。
Hermes 工具绑定
Hermes Agent 通过组合以下内置工具来构建 harness:
| 工具 | 在 Harness 工作流中的角色 |
|---|---|
terminal | 运行 shell 命令、安装软件包、执行 CLI 工具、运行测试 |
execute_code | 生成并写入 Python 文件(Click CLI、后端模块、测试) |
delegate_task | 并行化分析或生成子任务 |
read_file / write_file | 读取和写入 harness 源文件 |
patch | 对生成的代码进行针对性编辑 |
有关确切的工具调用语法,请查阅 Hermes Agent 文档。
模式
构建
当用户想要一个新的 harness 时使用。
生成此结构:
<software>/
└── agent-harness/
├── <SOFTWARE>.md
├── setup.py
└── cli_anything/
└── <software>/
├── README.md
├── __init__.py
├── __main__.py
├── <software>_cli.py
├── core/
├── utils/
└── tests/
实现一个有状态的 Click CLI,具有:
- 一次性子命令
- 当未给出子命令时,默认使用 REPL 模式
--json机器可读输出- 在目标软件支持的情况下,具有撤销/重做的会话状态
完善
当 harness 已存在时使用。
首先盘点当前命令和测试,然后针对目标软件进行差距分析。优先考虑:
- 高影响力的缺失功能
- 围绕现有后端 API 或 CLI 的简单封装
- 能与现有命令良好组合的补充
除非用户明确要求破坏性变更,否则不要移除现有命令。
测试
在编写测试之前先规划测试。同时保留:
test_core.py用于单元覆盖test_full_e2e.py用于工作流和后端验证
如有可能,通过子进程使用 cli-anything-<software> 测试已安装的命令,而不仅仅是模块导入。
验证
检查 harness:
- 使用
cli_anything.<software>命名空间包布局 - 具有可安装的
setup.py入口点 - 支持 JSON 输出
- 具有 REPL 默认路径
- 记录了用法和测试
后端规则
优先使用真实软件后端,而不是重新实现。如有可能,在 utils/<software>_backend.py 中封装实际的可执行文件或脚本接口。只有在项目明确要求或不存在可行的原生后端时,才使用合成重新实现。
打包规则
- 使用
find_namespace_packages(include=["cli_anything.*"]) - 将
cli_anything/保持为命名空间包,不带顶层__init__.py - 通过
console_scripts暴露cli-anything-<software>
工作流
- 在本地获取源码树(克隆或使用现有路径)。
- 分析架构、数据模型、现有 CLI 以及 GUI 到 API 的映射。
- 设计命令组和状态模型。
- 实现 harness。
- 编写
TEST.md,然后编写测试,然后运行它们。 - 更新 README 用法文档。
- 使用
pip install -e .验证本地安装。
现有 Harness(参考)
有关受支持 harness 及其后端模式的最新列表,请参阅仓库根目录下的 registry.json。
输出预期
在报告进度或最终结果时,包括:
- 目标软件和源路径
- 添加或更改的文件
- 运行的验证命令
- 未解决的风险或后端限制
评论
支持 Markdown