用途
本技能用于在命令行中管理 GitHub 仓库的完整生命周期,包括创建、克隆、fork、配置、发布和自动化操作。每个功能同时提供两条路径:优先使用 gh CLI,若环境没有 gh 则回退到 git 配合 curl 调用 GitHub REST API。
主要能力
- 克隆仓库:支持 HTTPS、SSH、指定目录、浅克隆(--depth 1)、指定分支。
- 创建仓库:支持公开/私有、组织下创建、从本地目录创建并推送、从模板生成。
- Fork 仓库:通过 API 或 gh 创建 fork 并克隆,添加 upstream 远程,并提供 fork 同步方法(git fetch/merge 或 gh repo sync)。
- 仓库信息:查看仓库详情、列出自己的仓库、搜索仓库。
- 仓库设置:修改描述、可见性、Wiki/Issues 开关、默认分支、话题(topics)、自动合并等。
- 分支保护:查看和设置分支保护规则,包括状态检查、管理员强制、PR 审查要求等。
- Actions 密钥管理:用 gh secret set/list/delete 管理密钥;curl 方式需先用仓库公钥加密(依赖 Python 的 PyNaCl)。
- 发布管理:创建 Release(含草稿、预发布、自动生成说明)、列出 Release、上传发布资产、下载 Release。
- Actions 工作流:列出工作流和运行记录、查看失败日志、重跑(全部或仅失败任务)、手动触发 workflow_dispatch。
- Gist:创建和列出 Gist。
使用方式
前置条件是完成 GitHub 身份验证(参见 github-auth 技能)。技能开头包含一段 setup:若检测到 gh 且已通过 gh auth status,则 AUTH=gh;否则 AUTH=git,并通过 GITHUB_TOKEN 环境变量、Hermes 的 .env 文件或 git 凭证助手获取令牌,随后获取当前 GitHub 用户名以供后续操作使用。若已在某个仓库目录内,可从 origin 远程地址解析出 OWNER 和 REPO。每个功能小节先给 gh 命令,再给等价的 curl API 调用与示例代码,最后附一张 gh 与 git + curl 的快速对照表。
适用场景
适用于需要在终端或自动化流程中批量管理 GitHub 仓库、维护 fork、配置仓库设置与分支保护、管理 CI 密钥、发布版本、排查看重工作流以及创建 Gist 的场景。
限制
- 所有操作依赖已认证的 GitHub 访问令牌或已登录的 gh CLI。
- 用 curl 管理 Actions 密钥时需要额外加密步骤,需 Python 与 PyNaCl;资料中建议无 gh 时优先安装 gh 以简化密钥设置。
- 文档未说明除 GitHub 之外的平台支持、具体费率或配额,暂未提供相关信息。