用户出错时,信息应出现在 stderr,正常结果走
stdout。这样 `tool | next` 不会因为一句「警告」而污染下游。听起来基础,却是许多工具一旦匆忙发布就会失守的底线。
退出码
0 表示成功;非 0 表示失败——若还能细分(例如配置错误与网络错误),在文档里写清楚。脚本作者会因此少写一半试探性逻辑。
帮助信息
--help 应在一屏内给出:用途一句、最常见的三个子命令或参数、以及文档或仓库链接。不要把「完整手册」塞进帮助里;那是网页或 man 页的工作。
命令行是契约。契约越稳定,组合越多;组合越多,工具越像基础设施。