Create Cli
2026-03-30
新闻来源:网淘吧
围观:7
电脑广告
手机广告
创建CLI
设计CLI的交互界面(语法+行为),以人为先,同时便于脚本调用。
首先执行
- 阅读
agent-scripts/skills/create-cli/references/cli-guidelines.md并将其作为默认评估标准。 - 上游/完整指南:https://clig.dev/(提出更改建议:https://github.com/cli-guidelines/cli-guidelines)
- 仅提出锁定接口所需的最少量澄清问题。
快速澄清
询问,如果用户不确定,则使用最佳猜测的默认值继续:

- 命令名称 + 一句话说明目的。
- 主要用户:人类、脚本,或两者兼顾。
- 输入来源:参数 vs 标准输入;文件 vs URL;机密信息(切勿通过标志传递)。
- 输出约定:人类可读文本,
--json、--plain退出码。 - 交互性:是否允许提示?需要
--no-input?针对破坏性操作需要确认吗? - 配置模型:标志/环境变量/配置文件;优先级;XDG 与仓库本地配置。
- 平台/运行时约束:macOS/Linux/Windows;单一二进制文件与运行时。
交付物(输出内容)
设计 CLI 时,生成一份用户可实现的紧凑规范:
- 命令树 + 使用说明概要。
- 参数/标志表(类型、默认值、必需/可选、示例)。
- 子命令语义(每个命令的功能;幂等性;状态变更)。
- 输出规则:标准输出 vs 标准错误;TTY 检测;
--json/--plain;--quiet/--verbose。 - 错误与退出码映射(主要失败模式)。
- 安全规则:
--dry-run,确认提示,--force,--no-input。 - 配置/环境规则 + 优先级(命令行标志 > 环境变量 > 项目配置 > 用户配置 > 系统配置)。
- Shell 自动补全说明(如适用):安装/可发现性;生成命令或捆绑脚本。
- 5–10 个调用示例(常见流程;包含管道/标准输入示例)。
默认约定(除非用户另行指定)
-h/--help始终显示帮助信息并忽略其他参数。--version将版本信息打印到标准输出。- 主要数据输出到标准输出;诊断/错误信息输出到标准错误。
- 添加
--json以输出机器可读格式;考虑使用--plain以输出稳定的基于行的文本。 - 仅在标准输入是 TTY 时进行提示;
--no-input禁用提示。 - 破坏性操作:交互式需要确认 + 非交互式需要
--force或显式的--confirm=...。 - 遵循
NO_COLOR、TERM=dumb环境变量;提供--no-color选项。 - 处理 Ctrl-C:快速退出;有限的清理;在可能的情况下保持仅崩溃模式。
模板(复制到你的回答中)
CLI 规范框架
填写以下部分,删除任何不相关的内容:
- 名称:
mycmd - 一句话描述:
... - 用法:
mycmd [全局标志] <子命令> [参数]
- 子命令:
mycmd init ...mycmd run ...
- 全局标志:
-h, --help--version-q, --quiet/-v, --verbose(确切定义)--json/--plain(如适用)
- I/O 约定:
- 标准输出:
- 标准错误:
- 退出码:
0成功1一般性失败2使用无效(解析/验证)- (仅在确实有用时添加命令特定的代码)
- 环境/配置:
- 环境变量:
- 配置文件路径 + 优先级:
- 示例:
- …
备注
- 仅在询问时才建议使用解析库(特定于语言的);否则保持此技能与语言无关。
- 如果请求是“设计参数”,请勿偏离至实现细节。
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Linear
下一篇:Codebase Documenter


微信扫一扫,打赏作者吧~