mcpField
S
shellcheck-fix

shellcheck-fix

github.com/dailybothq测试与质量2348 次安装2 天前更新
代码仓库

关于 shellcheck-fix

用于维护指定 Shell 脚本的技能,确保脚本通过 ShellCheck 并兼容 macOS bash 3.2。它指导贡献者修复问题并验证结果,安装脚本变更时还需进行冒烟测试。

主要功能

  1. 01对指定脚本运行 ShellCheck
  2. 02确保脚本兼容 bash 3.2
  3. 03检查 shebang 与严格模式设置
  4. 04对安装脚本变更进行冒烟测试

适用场景

  1. 01编辑 Shell 脚本后
  2. 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 步骤失败时。

步骤

  1. 运行 shellcheck setup.sh skills/deepworkplan/shared/context.sh scripts/*.sh。
  2. 修复每项问题。修复时,确保脚本兼容 bash 3.2:
    • 将 mapfile/readarray 替换为 while IFS= read -r line; do …; done < <(cmd)
    • 将 declare -A 替换为重构后的实现
    • 将 ${var^^}/${var,,} 替换为 tr '[:lower:]' '[:upper:]'
  3. 确认每个脚本都以 #!/usr/bin/env bash 开头,后接 set -euo pipefail。
  4. 重新运行 shellcheck,直到检查通过。
  5. 如果修改了 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