关于 shellcheck-fix
用于维护指定 Shell 脚本的技能,确保脚本通过 ShellCheck 并兼容 macOS bash 3.2。它指导贡献者修复问题并验证结果,安装脚本变更时还需进行冒烟测试。
主要功能
- 01对指定脚本运行 ShellCheck
- 02确保脚本兼容 bash 3.2
- 03检查 shebang 与严格模式设置
- 04对安装脚本变更进行冒烟测试
适用场景
- 01编辑 Shell 脚本后
- 02CI 报告 ShellCheck 问题时
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dailybothq/ deepworkplan-skill --skill shellcheck-fix安装后在 Claude Code 中输入/shellcheck-fix确认已加载。
详细介绍
Shellcheck 修复
目标
确保 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:
- 将
mapfile/readarray替换为while IFS= read -r line; do …; done < <(cmd) - 将
declare -A替换为重构后的实现 - 将
${var^^}/${var,,}替换为tr '[:lower:]' '[:upper:]'
- 将
- 确认每个脚本都以
#!/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 上运行冒烟测试。
评论
支持 Markdown