SuperAPI AI 工具集

project-init

部署与运维

查看项目

更新于 10-15 14:28

技能介绍

用途

project-init 用于快速初始化一个 GitHub Project v2:新建项目、设置标准字段、链接到仓库,并引导配置内置工作流,使项目看板具备基本的状态流转与自动化能力。

前提条件

  • 已安装并认证 gh CLI。
  • 账号已授予 project 权限(可用 gh auth status 确认)。

主要流程

  1. 确认项目信息:向用户确认项目标题、所有者(用户或 Organization)、可见性(PUBLIC / PRIVATE)以及可选的描述。若未指定所有者,可通过 gh repo view --json owner -q '.owner.login' 自动检测。
  2. 创建项目:使用 gh project create --owner <owner> --title "<标题>" --format json,并从输出中获取项目编号。
  3. 链接仓库:使用 gh project link <number> --owner <owner>。
  4. 创建标准字段:依次创建 Status(Todo, In Progress, In Review, Done)、Priority(High, Medium, Low)、Size(XS, S, M, L, XL)三个单选字段。若 Status 已由 GitHub 自动创建,则跳过并沿用现有字段。
  5. 设置项目描述与可见性:使用 gh project edit <number> --owner <owner> --description "<描述>" --visibility <PUBLIC|PRIVATE>。
  6. 配置内置工作流:内置工作流无法通过 CLI/API 设置,需在 Web UI 完成。设置地址为 https://github.com/orgs/<owner>/projects/<number>/workflows(个人项目为 https://github.com/users/<owner>/projects/<number>/workflows)。

推荐的内置工作流

  • Item closed:Issue/PR 关闭后 Status → Done(默认启用,建议保持)。
  • Pull request merged:PR 合并后 Status → Done(默认启用,建议保持)。
  • Item reopened:Issue 重新打开后 Status → Todo(默认禁用,建议启用)。
  • Item added to project:添加条目时 Status → Todo(默认禁用,建议启用)。
  • Auto-add to project:按过滤条件自动添加 Issue/PR(默认禁用,建议启用)。
  • Auto-archive items:Done 后 N 天自动归档(默认禁用,可选)。
  • Auto-close issue:看板中设为 Done 时自动关闭 Issue(默认禁用,强烈建议启用)。若不启用 Auto-close,看板中把 Status 设为 Done 不会自动关闭 Issue,双向同步需要它。

Auto-add 过滤示例:is:issue,pr is:open repo:<owner>/<repo>;按标签过滤:is:issue,pr is:open label:sprint-1 repo:<owner>/<repo>。

后续与验证

若需要内置工作流无法覆盖的 PR 生命周期联动(如 opened→In Progress、review_requested→In Review),可参考 project-sync-issues 技能生成 GitHub Actions 工作流。完成后可用 gh project view <number> --owner <owner> --format json 与 gh project field-list <number> --owner <owner> --format json 验证项目 URL 与字段列表。

注意事项与限制

  • Status 的选项值可按用户需求自定义。
  • 字段创建若因已存在等原因报错,可跳过并继续。
  • Organization 项目需要相应权限。
  • 内置工作流必须通过 Web UI 设置,CLI/API 不可用。
  • 该技能依赖网络进行 GitHub 操作,相关命令需在禁用 sandbox 的情况下逐条执行;无法解除网络限制的环境不能运行。