SuperAPI AI 工具集

ci-cd

部署与运维

查看项目

更新于 10-16 05:58

技能介绍

用途

ci-cd 技能用于创建和审计 GitHub Actions 工作流。当你需要添加 CI/CD、审查工作流文件或修复 action 版本锁定时可以使用它。

模式识别

技能会根据上下文判断工作模式:

  • 创建模式:不存在 .github/workflows/ 目录,或用户明确要求创建/添加工作流。
  • 审计模式:存在 .github/workflows/*.yml 文件,或用户明确要求审计/审查/修复工作流。

创建模式

  1. 检测项目类型,扫描标识文件:package.json 对应 Node.js/JS/TS;go.mod 对应 Go;requirements.txt / pyproject.toml / setup.py 对应 Python;Cargo.toml 对应 Rust;Gemfile 对应 Ruby。
  2. 检测 JS/TS 项目的包管理器:pnpm-lock.yaml 对应 pnpm;bun.lock / bun.lockb 对应 bun;yarn.lock 对应 yarn;package-lock.json 对应 npm。
  3. 生成工作流时应用 rules/ 目录中的全部规则,读取每个规则文件以获取详细要求与示例。
  4. 使用 CI 模板并按检测到的项目类型与包管理器调整(将 <pm> 替换为检测到的包管理器),模板内容包括:在 push 与 pull_request 到 main 分支时触发,设置 contents: read 权限,配置并发组与取消进行中任务,运行于 ubuntu-latest,步骤为 checkout、setup-node(指定 node-version 与 cache)、安装依赖、check、test、build。

审计模式

  1. 扫描工作流:读取 .github/workflows/*.yml 的全部文件,并对照 rules/ 目录中的每条规则进行审计。
  2. 报告格式:输出《GitHub Actions Audit Results》,按 HIGH、MEDIUM、LOW 严重级别列出问题(例如将某 action 锁定到提交 SHA、缺失并发组等),并给出各级别数量统计与扫描文件数。
  3. 自动修复:报告后使用 Edit 工具应用修复,通过 gh api 查询用于锁定的提交 SHA。

规则清单

技能按以下规则进行检查,并标注严重级别:action pinning(HIGH,rules/action-pinning.md);permissions(HIGH,rules/permissions.md);concurrency(MEDIUM,rules/concurrency.md);node version(MEDIUM,rules/node-version.md);caching(MEDIUM,rules/caching.md);triggers(LOW,rules/triggers.md);matrix strategy(LOW,rules/matrix.md)。

语言约定

技能会从项目推断语言风格:分析现有工作流、提交信息和文档以检测项目的语言变体(美式英语、英式英语等);匹配项目中发现的拼写约定(例如 optimize 与 optimise、customize 与 customise);在工作流文件与注释中保持与项目既有语言风格一致。

前提假设

  • 可使用 GitHub CLI(gh)来查询 action 的提交 SHA。
  • 项目托管在 GitHub 上。