工程效率与质量 / 进阶
团队 CLI 设计:把散落脚本做成可靠的自助工具
统一参数、退出码和安全确认,让部署、数据修复等高频操作既容易发现又不容易误用。
先设计任务语言
好的团队 CLI 应让命令结构可以猜测,例如 tool deploy、tool db migrate、tool logs。动词和资源顺序保持一致,常用参数使用统一名称。帮助文本给出真实示例,而不是重复参数定义。
EXAMPLE / 01CLI
teamctl deploy api --env staging --dry-run
teamctl db migrate --env staging --plan
teamctl logs api --since 30m --request-id req_01HQ危险操作需要多层护栏
生产写操作先展示环境、目标和预计影响,支持 dry-run,并要求输入无法从历史记录误触的确认内容。非交互模式使用显式 --yes,同时要求短期凭据和审计记录。路径、资源 ID 和环境名必须在执行前完成解析与校验。
默认环境不是 production;破坏性命令支持 dry-run 或 plan;展示精确目标后再确认;每次变更记录操作者、参数和结果。
输出同时服务人和自动化
终端默认输出简洁进度和下一步建议,--json 提供稳定机器格式。成功返回 0,可预期输入错误和远端故障使用不同退出码。错误信息包含失败对象、原因和安全的重试方式。
收集失败率和高频命令,保持向后兼容,并为废弃参数提供迁移提示。内部工具同样需要版本与变更日志。
EXAMPLE / 03CLI
{
"schemaVersion": "1",
"ok": false,
"error": {
"code": "DEPLOY_HEALTHCHECK_FAILED",
"release": "api-20260308.2"
}
}