工程效率与质量 / 进阶

团队 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"
  }
}