用途
该技能用于在用户的 GitHub 账户中创建一个私有仓库,并将其克隆到指定的本地文件夹。仓库名称并非手动指定,而是根据仓库描述自动生成。
主要能力
- 根据仓库描述自动生成仓库名称:取描述中前两个单词各自的前两个字母,转为小写后拼接。例如描述为 movie downloader 时,名称为 modo。
- 在创建前进行多项检查:确认 gh 认证状态、识别已认证用户、检查目标文件夹状态、检查 <login>/<name> 是否已存在。
- 创建私有仓库并克隆到指定文件夹。
- 创建成功后验证仓库为私有,并确认目标文件夹已配置 origin 远程。
- 返回仓库 URL 和本地绝对路径。
使用方式
需要提供两项信息:仓库描述和确切的本地目标文件夹。若任一缺失,技能会主动询问。
若描述中前两个单词的任一单词少于两个字母,技能会要求更换描述。
执行流程如下:
- 检查 gh auth status,并通过 gh api user --jq .login 识别已认证用户。
- 检查目标文件夹以及 <login>/<name> 是否已存在。
- 若认证失败、文件夹包含文件或名称已被占用,则在创建任何内容之前停止。名称被占用时,要求更换描述,并保持命名规则不变。
- 运行 gh repo create <login>/<name> --private --description <description>。
- 运行 gh repo clone <login>/<name> <destination-folder>。
- 若创建成功但克隆失败,报告仓库 URL 和克隆错误,以便用户重试而无需再次创建仓库。
- 验证仓库为私有,且目标文件夹具有 origin 远程。
- 返回仓库 URL 和本地绝对路径。
适用场景
适用于需要快速创建私有 GitHub 仓库并克隆到本地指定目录的场景,尤其适合希望通过简短描述自动生成仓库名称、减少手动命名步骤的用户。
限制
- 仓库名称必须由描述前两个单词各取前两个字母生成,若任一单词少于两个字母则无法使用该描述。
- 目标文件夹必须为空,否则停止操作。
- 若 <login>/<name> 已存在,则停止操作并要求更换描述。
- 认证失败时停止操作。
- 创建成功但克隆失败时不会自动重试,仅报告错误。
- 关于收费、价格、平台支持范围等信息,资料中暂未提供。