用途:把 Shell 代码的“看起来没问题”变成可重复的工具证据,并诚实区分通过、失败、无法验证和 planned。适用于用户要求 lint、格式检查、自动修复、提交前质量验证,或出现 shellcheck '{file}' 相关失败的场景。
主要能力:根据 .sh、.bash、.zsh 识别 Shell 工作区;执行 shellcheck '{file}' 并保留退出码、作用域和工具版本;区分格式、静态规则、配置、依赖和环境类失败;使用 shfmt -w . 处理可逆问题并复扫;把 lint、测试、构建证据分层汇报。
使用方式:先确认仓库根或模块根及仓库现有配置,探测 shellcheck --version;执行只读检查 bash -c 'find . ( -name '"'"'.sh'"'"' -o -name '"'"'.bash'"'"' -o -name '"'"'.zsh'"'"' ) -type f -not -path '"'"'/node_modules/*'"'"' -print0 | xargs -0 shellcheck --severity=warning';对可安全修复项运行 shfmt -w .;复跑同一 lint 命令并执行项目已有测试与构建。工具准备可参考 brew install shellcheck shfmt。输出按固定模板记录范围、工具、命令、状态、发现、修改、复验和未验证项。
限制:目标工具须已安装且版本兼容,必须从正确仓库根执行,自定义配置以已提交配置为准,生成代码和 vendor 目录是否扫描须遵循仓库规则。不静默安装工具或升级依赖,不用 suppress、ignore 或调高阈值掩盖问题,不在缺少工具或配置时声称通过。formatter 通过不等于编译、测试或安全审计通过。主要任务是语言学习、框架设计或安全审计时,应改用对应技能。
数据与安全:不收集、上传或存储用户代码和凭据,默认只读本地配置并运行本地工具,不联网安装依赖;自动修复前先检查 diff,破坏性或大范围修改须用户明确确认。