Просмотр исходного кода

docs: refine version bump rule

Only require frontend/backend version bumps when changes affect the corresponding runtime code or configuration. Pure documentation and rule-only changes no longer bump app versions.

Made-with: Cursor
skygu 4 месяцев назад
Родитель
Сommit
cffe605440
3 измененных файлов с 18 добавлено и 13 удалено
  1. 1 1
      .cursor/rules/README.md
  2. 16 11
      .cursor/rules/version-bump-on-commit.mdc
  3. 1 1
      AGENTS.md

+ 1 - 1
.cursor/rules/README.md

@@ -12,7 +12,7 @@
 | 文件 | 说明 | 生效方式 |
 |------|------|---------|
 | `collaboration-scope.mdc` | 改前清单待确认、跨模块影响须先预警、小问题最小改动不大重构等 | `alwaysApply: true` |
-| `version-bump-on-commit.mdc` | 发版必升号;凡产生 Git 提交的变动须在同一次提交中递增版本号(package.json / Web.Entry.csproj) | `alwaysApply: true` |
+| `version-bump-on-commit.mdc` | 发版必升号;提交改动到前端/后端代码或配置时递增对应端版本号,纯文档/规则不升号 | `alwaysApply: true` |
 | `approval-flow-integration.mdc` | 将审批流接入任意业务模块时的必读清单、前置决策、硬性禁止 | 按 `globs` 自动注入(命中 `*BizHandler*.cs`、审批流插件代码、`approvalFlow` 前端、审批流相关文档时) |
 
 ## 业务方案索引(便于对话对齐)

+ 16 - 11
.cursor/rules/version-bump-on-commit.mdc

@@ -1,26 +1,31 @@
 ---
-description: 发版必升号;凡产生 Git 提交的变动须在同一次提交中递增版本号
+description: 发版必升号;提交改动到前端/后端代码时须递增对应端版本号
 alwaysApply: true
 ---
 
-# 版本号:发版与每次提交
+# 版本号:发版与前后端代码提交
 
 ## 发版必升号
 
 凡视为**发版**(打 tag、上预发/生产、对外交付构建物),发布所依据的提交中**必须**已更新版本号,且与变更说明一致;禁止「已部署仍沿用旧号」。
 
-## 每次 Git 提交:有变动则同提交内升号
+## Git 提交:只在改动对应端代码/配置时升号
 
-凡执行 `git commit` 且本次提交**包含对工作区已跟踪文件的任何实质修改**(新增、删除、内容变更),**必须在同一提交中**完成版本递增,**不得**只改业务代码而不改版本号。
+凡执行 `git commit` 时,应根据本次提交的**实际影响范围**决定是否递增版本号:
 
-### 递增范围(本仓库约定:有提交则双端同升 patch)
+1. **改动前端代码/配置**:必须在同一提交中递增 `Web/package.json` 的 `version`(SemVer:**只升 patch** 末位,如 `2.4.33` → `2.4.34`;minor/major 仅在明确里程碑发版时由负责人决定)。构建时 `__NEXT_VERSION__` 来自该字段,无需另改 `vite.config.ts`。
+2. **改动后端代码/配置**:必须在同一提交中递增 `server/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj` 中的 `<Version>`、`<AssemblyVersion>`、`<FileVersion>`(**三处保持同号**,patch +1,如 `1.0.0` → `1.0.1`)。
+3. **同时改动前端与后端**:前端、后端版本号都必须在同一提交中分别 patch +1。
+4. **仅改文档、规则、会议纪要、说明类 Markdown、非运行脚本说明等不影响前后端运行产物的内容**:**不递增**前端或后端版本号。
 
-凡满足上一节的提交,**须在同一次提交中同时**:
+### 影响范围判定
 
-1. **前端**:递增 `Web/package.json` 的 `version`(SemVer:**只升 patch** 末位,如 `2.4.33` → `2.4.34`;minor/major 仅在明确里程碑发版时由负责人决定)。构建时 `__NEXT_VERSION__` 来自该字段,无需另改 `vite.config.ts`。
-2. **后端**:递增 `server/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj` 中的 `<Version>`、`<AssemblyVersion>`、`<FileVersion>`(**三处保持同号**,patch +1,如 `1.0.0` → `1.0.1`)。
+一般按路径与运行影响判断:
 
-即:**不论本次 diff 只动前端、只动后端或只动文档/规则**,只要产生实质提交,**前后端版本号均递增**,与「每次提交有变动就升号」一致。
+- 前端:`Web/` 下会进入前端构建或影响前端运行的源码、配置、依赖、静态资源等。
+- 后端:`server/` 下会进入后端构建或影响后端运行的源码、配置、依赖、启动参数、数据库初始化配置等。
+- 文档/规则:`doc/`、`.cursor/rules/`、`AGENTS.md` 等仅说明协作或方案的文件,默认不升号。
+- 若改动虽在文档/脚本目录,但会被部署流程执行并影响运行行为,应按其实际影响端升号。
 
 ### 锁文件
 
@@ -28,8 +33,8 @@ alwaysApply: true
 
 ### 提交说明
 
-建议在 commit message 中带一句版本,例如:`chore: bump version 2.4.34` 或与功能说明合并。
+若本次提交包含版本递增,建议在 commit message 中带一句版本,例如:`chore: bump version Web 2.4.34 / server 1.0.1` 或与功能说明合并。纯文档/规则提交无需写版本信息。
 
 ## AI / 协作者执行时注意
 
-在准备帮用户**提交或收尾 PR** 时:若本轮改动了仓库文件,应**主动提醒或代为**完成上述版本号递增,避免遗漏。
+在准备帮用户**提交或收尾 PR** 时:应先判断本轮改动是否影响前端或后端运行产物,再主动提醒或代为完成对应端版本号递增。不要因为纯文档/规则提交而递增前后端版本号。

+ 1 - 1
AGENTS.md

@@ -7,7 +7,7 @@
 - 动手改代码前先列改动清单,**经确认后再改**  
 - 改动若**波及其他功能模块**,须单独写出跨模块影响并**等待决策**  
 - 小问题**最小改动**,非必要不大重构;更大方案以**建议**形式交负责人决策  
-- **发版必升号**;**每次 Git 提交只要包含实质文件变动,须在同一提交中同时递增前端与后端版本号**(`Web/package.json` 的 `version` patch +1;`server/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj` 的 `<Version>` / `<AssemblyVersion>` / `<FileVersion>` 同步 patch +1)。详见 **[`.cursor/rules/version-bump-on-commit.mdc`](.cursor/rules/version-bump-on-commit.mdc)**。
+- **发版必升号**;提交改动到**前端代码/配置**时递增 `Web/package.json` 的 `version` patch,提交改动到**后端代码/配置**时递增 `server/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj` 的 `<Version>` / `<AssemblyVersion>` / `<FileVersion>` patch;**纯文档/规则提交不递增前后端版本号**。详见 **[`.cursor/rules/version-bump-on-commit.mdc`](.cursor/rules/version-bump-on-commit.mdc)**。
 
 说明与索引:[`.cursor/rules/README.md`](.cursor/rules/README.md)