SuperAPI AI 工具集

github-essentials

部署与运维

查看项目

更新于 10-26 16:18

技能介绍

用途

该技能在用户要求搭建、补全或审计仓库的 .github/ 目录时启用,处理社区健康文件(如 SECURITY.md)、issue 模板/表单、PR 模板、CODEOWNERS、dependabot 配置和 release 工作流。明确不处理 README 编写、changelog 维护和 CI 流水线,release 之外的发布流程属于范围外。

主要能力

  • 检查仓库现状:读取 git remote、默认分支、已有 .github/ 内容、锁文件与清单、已有 v* 标签,用于推断当前版本线。
  • 生成并合并 .github 工件:使用 .yml 格式的 issue forms(不使用旧版 .md 模板),提供 PR 模板、CODEOWNERS、SECURITY.md、dependabot.yml 与标签驱动的 release 工作流。
  • 占位符解析:从仓库证据中解析 OWNER、REPO、CODEOWNER、SECURITY_EMAIL、PACKAGE_ECOSYSTEM,无法解析则提问,不猜测。
  • 决策门:已有 .github 文件时读取并提出合并方案而非覆盖;org 级 .github 仓库跳过 ISSUE_TEMPLATE/config.yml 联系链接;CODEOWNERS 目标不明时读取 git config 与 git log 后与用户确认;技术栈无法识别时读取清单和锁文件再询问。
  • 校验:检查残留占位符、YAML 可解析性、CODEOWNERS 语法、标签正则与项目版本策略匹配。

使用方式

先执行检查命令,例如 git remote get-url origin、git symbolic-ref --short refs/remotes/origin/HEAD、git tag --list 'v*',并读取现有 .github/ 与清单/锁文件。随后列出将要写入的每个文件及已解析值,暂停等待用户批准,获批后从 assets/ 复制模板并替换占位符。交付时输出写入路径及用途表、已解析值、跳过文件及原因,并给出本地校验命令,例如 grep -rn "[A-Z_]*" .github/ || echo "no placeholders left" 与 python3 -c "import sys,yaml; [yaml.safe_load(open(f)) for f in sys.argv[1:]]" .github/*.yml。

适用场景

适合开源或内部仓库初始化社区协作规范、统一 issue/PR 入口、声明安全披露渠道、配置依赖更新和建立基于 git tag 的 release 流程。

限制

不写测试、Lint、构建或注册表发布工作流;不授权写入用户未批准的文件;不允许文件残留占位符;release 工作流仅由 push tags 触发,不使用 workflow_dispatch 或 release 事件;模板语言跟随仓库现有语言,默认英文。具体模板内容、assets/ 清单、references 细节以及是否需要额外依赖暂未提供。