Skip to content

协作规范:Issue 生命周期 · PR 门禁 · 前后端联调 · 发版流程(MS4 起执行) #334

Description

@minorcell

背景

近期协作中暴露三类问题:

  1. Issue 堆积:长期无跟进、PR 已合并但 Issue 未关、无 owner 无排期;
  2. 前后端联调混乱:前端本地直连线上、后端接口变更无同步机制、未经 review 的代码直接上线;
  3. 没有发版节奏:仓库至今 0 Tag / 0 Release。

本规范是项目组《GitHub 过程管理规范》《软件工程规范》在 Windup 仓库的落地细则——上位规范已强制要求 PR 必经 Review、每个 MS 发 Release + Tag、MS4 完成 v1.0 Tag,本规范只把它们落到可执行。

一、Issue 生命周期

  • 每个 Issue 必须挂 milestone,并指定 owner(assignee);无 milestone 即不在计划内(现有 triage 自动挂载)。
  • 关闭条件(满足其一即关,关闭时注明原因):① 已被 PR 解决(注明 PR 号);② 被其他 Issue 取代(注明替代者);③ 组内确认不再需要。
  • MS3 收尾:MS3 时间界定上不延期。所有 MS3 遗留 Issue 在 MS4 创建后逐条归置:已完成的直接关闭;属于 MS4 打磨范围的挂入 MS4 并指定 owner;探索/契约类挂 MS4 或打 Proposal-NoPlan。由组长产出归置表贴在本 Issue 评论,全员当天对照补充。
  • MS4 由组长根据 MS4 要求(功能冻结、打磨交付、v1.0 Tag)与本周周会结论创建。

二、PR 门禁

  • 所有代码改动必须经 PR 合入 main,由 @nighca@minorcell@huyanxius 合并。
  • 禁止把未经 review / 未合并的代码部署到生产环境,生产部署只认 Release(见四)。

三、前后端联调

  • 前后端契约以一份自动生成的 OpenAPI 规格文件(根目录 openapi.json,由后端代码导出,禁止手写)为唯一契约源。后端 PR 变更接口时必须同步更新该文件,CI 校验漂移,否则不予合并。前端同学为后端 PR 的默认 reviewer 之一。
  • 删除手维护的 frontend/API_CONTRACT.md(手动文档必然漂移),契约一律以 openapi.json 与 FastAPI /docs 为准。
  • 前端联调一律走本地:后端 PR 合并后 git fetch upstream && git rebase upstream/main,本地启动后端服务与依赖容器(README 补充说明),Vite 指向本地 API(本周内补齐 .env.development + proxy)。
  • 禁止本地开发直连生产 API。

四、发版流程

  • 每个 MS 结束发一次 Release + Tag(上位规范,MS2 起执行);MS2/MS3 缺失的 Release 并入 MS4 最终版本。
  • 过程中的生产部署同样必须先发版本:需要上线时,先打 Tag → 发 Release(写清变更内容)→ 再部署。任何部署只认 Release,禁止直接部署未发版的代码。
  • 发布流程:main 通过验收 → 打 Tag vX.Y.Z → 创建 Release(列清变更)→ 由发布人执行部署。
  • 生产部署暂为手动,由发布人唯一执行;CD 自动化另立 Issue 跟进(含 proposal: replace Vercel GitHub App deploys with Vercel CLI in GitHub Actions #298 Vercel CLI 改造)。
  • MS4 最低交付含仓库 v1.0 Tag。

确认

请阅读后回复确认,有异议直接评论讨论;12 小时内无异议视为同意。敲定后本规范落地到根目录 CONTRIBUTING.md,本 Issue 置顶。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

P0优先级 P0(最高,先做)

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions