mcpField
C
cli-for-agents

cli-for-agents

github.com/cursor开发14.5k1.4k 次安装今天更新
代码仓库

关于 cli-for-agents

cli-for-agents 是用于设计和评审 Agent 友好型命令行界面的技能,强调可预测的非交互操作、实用帮助信息和便于机器处理的结果。

主要功能

  1. 01非交互式命令设计
  2. 02分层子命令帮助与示例
  3. 03stdin 与管道支持
  4. 04附调用示例的错误提示
  5. 05幂等与 dry-run 指引
  6. 06一致结构与机器可用输出

适用场景

  1. 01设计供无头 Agent 使用的命令行工具
  2. 02检查命令行工具对管道和 stdin 的支持
  3. 03改进错误提示与成功输出

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cursor/plugins --skill cli-for-agents

安装后在 Claude Code 中输入/cli-for-agents确认已加载。

详细介绍

面向 Agent 的 CLI

面向人类的 CLI 往往会阻碍 Agent:交互式提示、冗长的前置文档,以及没有可复制粘贴示例的帮助文本。优先采用适用于无头环境且可在管道中组合的模式。

优先采用非交互模式

  • 每项输入都应能通过标志或标志值传入。不要要求使用方向键、菜单或限时提示。
  • 如果缺少标志,再回退到交互模式,而不是反过来。

不佳: mycli deploy → ? Which environment? (use arrow keys)
良好: mycli deploy --env staging

提高可发现性,避免倾倒上下文

  • Agent 会逐步发现子命令:mycli,然后是 mycli deploy --help。不要每次运行都输出整本手册。
  • 让每个子命令各自管理文档,避免未使用的命令占用上下文。

让 --help 真正实用

  • 每个子命令都应支持 --help。
  • 每个 --help 都应包含示例,并提供真实的调用方式。与文字说明相比,示例更有助于匹配模式。
Options:
  --env     Target environment (staging, production)
  --tag     Image tag (default: latest)
  --force   Skip confirmation

Examples:
  mycli deploy --env staging
  mycli deploy --env production --tag v1.2.3
  mycli deploy --env staging --force

标准输入、标志和管道

  • 在适用的情况下接受标准输入(例如 cat config.json | mycli config import --stdin)。
  • 避免不合理的位置参数顺序,也不要在缺少值时回退到交互式提示。
  • 支持命令串联:mycli deploy --env staging --tag $(mycli build --output tag-only)。

快速失败并提供可执行的错误提示

  • 缺少必需标志时,应立即退出并显示清晰的消息和正确的调用示例,而不是卡住。
Error: No image tag specified.
  mycli deploy --env staging --tag <image-tag>
  Available tags: mycli build list --output tags

幂等性

  • Agent 经常重试。同一条成功的命令重复运行时应安全(无操作,或明确提示“已完成”),而不应重复产生副作用。

破坏性操作

  • 添加 --dry-run(或等效选项),让 Agent 在提交前预览计划。
  • 提供 --yes / --force 以跳过确认,同时为人类用户保留安全的默认行为。

结构可预测

  • 全程采用一致的模式,例如 resource + verb:如果存在 mycli service list,那么 mycli deploy list 和 mycli config list 也应遵循相同的形式。

成功输出

  • 成功时返回便于机器使用的数据:ID、URL、时长。纯文本即可;不要只依赖装饰性输出。
deployed v1.2.3 to staging
url: https://staging.myapp.com
deploy_id: dep_abc123
duration: 34s

审查现有 CLI 时

  • 检查:非交互路径、分层帮助、--help 中的示例、标准输入/管道支持、包含调用示例的错误消息、幂等性、试运行、跳过确认的标志、一致的命令结构,以及结构化的成功输出。

评论

支持 Markdown