用途
Shellcheck Fix 用于对随附/安装器 shell 脚本运行 shellcheck,并修复检查发现的问题,同时保持 bash 3.2 兼容性。其目标是让 setup.sh、skills/deepworkplan/shared/context.sh 和 scripts/*.sh 保持 shellcheck 干净,并能在 macOS 默认的 bash 3.2 上运行。
何时使用
在编辑任何 shell 脚本之后,或当 CI 的 shellcheck 步骤失败时使用。
主要步骤
- 运行 shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh。
- 修复每一项检查发现。在解决时,保持脚本对 bash 3.2 安全:
- 用 while IFS= read -r line; do …; done < <(cmd) 替换 mapfile/readarray
- 用重构的方式替换 declare -A
- 用 tr '[:lower:]' '[:upper:]' 替换 ${var^^}/${var,,}
- 确认每个脚本以 #!/usr/bin/env bash 开头,随后是 set -euo pipefail。
- 重新运行 shellcheck 直到干净。
- 如果 setup.sh 有改动,对其进行冒烟测试:HOME="$(mktemp -d)" ./setup.sh --host claude。
验证
shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh 退出码为 0,并且安装器冒烟测试仍能创建预期的符号链接。
注意事项
不要更改 setup.sh 的公开标志(--host、--help)或符号链接名称,除非标记为 MAJOR 版本升级。CI 在 Ubuntu 和 macOS 上运行冒烟任务。