跳转到内容

快速开始

对于已经关联 GitHub 远程仓库的项目,大约需要五分钟。

  1. 在仓库根目录运行向导(Node.js 20.12 或更高版本):

    终端窗口
    npx project-auto-wizard

    它通过标记文件(build.gradle、pubspec.yaml、package.json、go.mod 等)检测项目类型,然后询问分支策略、部署方式(如果该类型有服务器部署)、是否自动升级语义化版本,以及是否用 Copilot 生成摘要。不确定时保持默认即可;所有选择都会保存在 version.yml 中,之后可以修改。

  2. 提交前检查设置:

    终端窗口
    npx project-auto-wizard --mode doctor

    doctor 会检查工作流依赖的仓库设置(Workflow permissions、是否允许 merge commit、WORKFLOW_PAT),并告诉你需要在哪里修改什么。

  3. 提交并推送生成的文件 —— .github/workflows/、.github/scripts/、version.yml 和 README 版本段落:

    终端窗口
    git add .github version.yml README.md .gitignore
    git commit -m "chore: add release automation"
    git push
  4. 有内容需要发布时,打开从 develop 到 main 的发布 PR。AUTO-CHANGELOG-CONTROL 工作流会确定下一个版本,把发布说明作为 PR 评论发出,更新 CHANGELOG.md / CHANGELOG.json,并开启自动合并。

  5. 确认发布结果。 合并后,RELEASE-PUBLISH 会推送 vX.Y.Z 标签、创建 GitHub Release,并更新 README 版本行。

在 CI 或脚本中,传入 --mode full --force 和项目类型:

终端窗口
npx project-auto-wizard --mode full --force --type spring,react
npx project-auto-wizard --mode full --force --type flutter --paths "flutter=app"
npx project-auto-wizard --mode full --force --type node --dry-run # 仅预览,不写入文件

非交互模式下如果不传 --develop-branch,会使用 develop;该分支不存在时会自动创建并推送。传入与 --main-branch 相同的值则使用 trunk-based 策略。

项目 操作
Workflow permissions 无需修改。安装的工作流各自声明所需权限。只有当你自己的工作流依赖默认权限时,才需要在 Settings → Actions → General → Workflow permissions 中改为 Read and write permissions。
Merge commit 需要允许 merge commit,发布 PR 才能自动合并。
WORKFLOW_PAT(可选) 没有它时,GITHUB_TOKEN 回退机制会完成发布,包括发布分支上的部署工作流,最多晚约 20 秒。如果要添加,请用机器人或机器账号签发,不要用个人账号(scopes:repo、workflow)。
Copilot 摘要(可选) 默认关闭。会消耗 GitHub Copilot AI Credits;组织需要开启 “Allow use of Copilot CLI billed to the organization” 策略。
各类型的 Secret 部署工作流需要 DOCKERHUB_TOKEN、SERVER_HOST 等 Secret。安装完成时会列出所需项。