SuperAPI AI 工具集

cofounder-repo-setup

编程与开发

查看项目

更新于 10-16 09:22

技能介绍

用途:该技能用于初始化一个本地 Git 仓库,并使用 GitHub CLI(gh)在 GitHub 上创建与之匹配的远程仓库,最终将代码推送到远端。它通过设备码认证方式工作,据称可在各类环境中可靠运行。

前置条件:必须先运行 computer-setup 技能,因为该技能会安装 gh 和 git。此外还需要一个 GitHub 账号;若用户没有账号,技能会引导其创建:访问 https://github.com/ 并点击 Sign up(或使用 Google 登录),按提示操作并验证邮箱——若邮箱未验证,仓库创建将失败。注册后建议启用双重验证。

认证方式:先运行 gh auth status 判断是否已认证。若未认证,运行命令: GH_FORCE_TTY=1 NO_COLOR=1 GH_PROMPT_DISABLED=1 gh auth login --hostname github.com --git-protocol https --scopes "repo,read:org,workflow" > /tmp/gh-auth.log 2>&1 & sleep 3 && cat /tmp/gh-auth.log 随后向用户展示日志原始输出,引导其从中找到设备码(形如 XXXX-XXXX 的短字符串)。这是 GitHub OAuth 设备流程的一次性临时设备码,并非长期凭证;用户需在 https://github.com/login/device 自行输入该代码完成浏览器授权。授权完成后再次运行 gh auth status 验证。

仓库初始化:运行初始化脚本前,先检查是否已配置远程:git remote get-url origin 2>/dev/null。若 origin 已设置,说明仓库已完整配置,不要询问名称或可见性,直接跳过初始化脚本。若未配置,则询问用户:仓库名称(默认当前文件夹名)与可见性(默认 private 私有)。然后运行随该技能捆绑的脚本 scripts/repo-init.sh(相对于该 SKILL.md 所在目录定位,而非当前工作目录):bash <this-skill-dir>/scripts/repo-init.sh <repo-name> [private|public]。

脚本行为:若 .git/ 不存在则初始化本地 git 仓库;若仓库没有提交则创建初始空提交;若 origin 已在本地配置则跳过远程创建;若 GitHub 上该仓库已存在,则将其添加为 origin 并推送;否则以给定名称和可见性(默认私有)创建 GitHub 仓库,添加为 origin 并推送。

手动步骤:如需更精细控制,可逐步执行:git init,然后 gh repo create <repo-name> --private --source=. --remote=origin --push。

重要注意事项:认证必须在仓库创建之前完成,若 gh auth status 失败需先执行认证流程;不要对 gh auth login 使用 --web 参数,因为该参数尝试打开浏览器,可能无法工作,而设备码流程(省略 --web 时的默认方式)更可靠;默认可见性为私有,创建公开仓库前必须与用户确认。

捆绑资源:scripts/repo-init.sh —— 一步完成本地 git 仓库初始化并创建对应的 GitHub 远程仓库。