SuperAPI AI 工具集

lint

部署与运维

查看项目

更新于 10-15 08:08

技能介绍

用途

该技能用于在项目中运行 lint 检查,覆盖两类目标:Shell 脚本和 GitHub Actions 工作流。适合在推送代码之前执行,或在修复 lint 问题时使用。

主要能力

  1. Shell 脚本检查(shellcheck)

先通过 git diff 找出相对于 main 分支发生变更的 .sh 文件,然后对每个存在的脚本运行 shellcheck,并以 gcc 格式输出结果:

# Find changed shell scripts
changed_scripts=$(git diff --name-only main...HEAD 2>/dev/null | grep -E '\.sh$')

# Run shellcheck on each
for script in $changed_scripts; do
    if [[ -f "$script" ]]; then
        shellcheck -f gcc "$script"
    fi
done
  1. GitHub Actions 工作流检查(actionlint)

先通过 git diff 找出相对于 main 分支发生变更的 .github/workflows/ 下的 .yml 或 .yaml 文件,然后对每个存在的工作流运行 actionlint:

# Find changed workflow files
changed_workflows=$(git diff --name-only main...HEAD 2>/dev/null | grep -E '\.github/workflows/.*\.ya?ml$')

# Run actionlint on each
for workflow in $changed_workflows; do
    if [[ -f "$workflow" ]]; then
        actionlint "$workflow"
    fi
done

使用方式

按上述步骤对变更文件执行检查。检查范围限定为相对于 main 分支发生变更的文件,而非整个仓库。

问题处理

发现 lint 问题时:

  • 修复问题:直接修正代码以消除告警或错误。
  • 仅在最后手段使用 disable 指令:如果某个告警是误报或确实无法避免,添加带说明的 disable 注释,例如:
# shellcheck disable=SC2034  # Variable used by sourcing script
  • 报告修复内容:总结所做的更改。

可选指引

技能支持通过 $ARGUMENTS 传入可选指引。

适用场景与限制

适用于在推送前对变更的 Shell 脚本与 GitHub Actions 工作流做静态检查,或用于修复相关 lint 问题。检查依赖 shellcheck 与 actionlint 工具,且以 main 分支为比较基准;其他环境要求、安装方式与配置细节暂未提供。