1.9 KiB
1.9 KiB
CLI 契约面映射
这个 skill 的第一步不是直接评论代码,而是先判断改动触到了哪类契约面。
1. 参数契约
典型文件:
cmd/root.gocmd/*/*.goshortcuts/*/*.goshortcuts/common/runner.goshortcuts/common/types.go
重点观察:
NameShortDefaultRequiredBoolUsage
高风险信号:
- 旧 flag 被重命名或移除
- 必填/可选规则变化
- 默认值变化但没有说明
- 示例命令仍使用旧 flag
2. 帮助契约
典型文件:
cmd/root.gocmd/root_test.goshortcuts/register.gointernal/i18n/**README.mdREADME.zh-CN.md
重点观察:
- 命令分组和层级
Use/Short/Long- 中英文帮助文案
--help输出快照或断言
高风险信号:
- 命令已改,但帮助仍描述旧行为
- 中文或英文帮助不一致
- i18n key 缺失导致回退或错误
3. 输出契约
典型文件:
shortcuts/common/types.gointernal/output/**shortcuts/*/*_test.gocmd/*/*_test.go
重点观察:
--format json- envelope 结构
- 字段名和字段类型
- 是否仍适合脚本消费
高风险信号:
- 字段重命名
- 类型从字符串改为对象/数组
- 原有必备字段消失
- 错误输出结构不再稳定
4. 错误契约
典型文件:
internal/client/**internal/auth/**cmd/**internal/i18n/**
重点观察:
suggestFix- 缺参错误
- 校验错误
- header/path/query 渲染后行为
- 中文提示编码
高风险信号:
- 用户可见中文乱码
- 错误变得不可操作
- 渲染后非法 header/path 没有被拦截
5. 文档契约
典型文件:
README.mdREADME.zh-CN.mdexamples/**- 命令帮助中的示例
高风险信号:
- 文档示例已不能运行
- 示例使用了不存在的参数
- 文档与实际默认值不一致
- 文档新增内容出现乱码