@routerhub/agent-rules 1.5.71 → 1.5.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.base.md CHANGED
@@ -120,13 +120,19 @@ Closes #456
120
120
  3. 对于有道理的问题,直接修改代码、提交并推送到该 PR 分支。
121
121
  4. ⚠️ **强制步骤:修改代码并推送后,必须在 GitHub PR 页面上逐条点击 Resolve conversation。** 此步骤不可跳过——即使已回复评论、已推送修复代码,只要未点 Resolve,该条评论仍处于”未解决”状态,reviewer 无法判断是否已处理完毕。每修复一条,立即 Resolve 一条,不要等所有问题修完再批量操作。
122
122
  5. 所有问题处理完毕后,重新请求 Copilot review。
123
- 6. 重复以上步骤,直到 Copilot review 不再提出新问题为止。
123
+ 6. 重复以上步骤,直到满足以下任一终止条件为止。
124
124
  - 每一条 Copilot review 评论处理完毕后,必须点击 **Resolve conversation**,不能只回复不 Resolve。不点 Resolve 会导致该评论一直处于未解决状态,无法判断是否已完成处理。
125
125
  - 每次修改后提交的 commit 信息必须中文,格式:`修复 Copilot review 问题:[简要描述]`。
126
126
  - 如果 Copilot review 连续两轮提出同一问题但实际已修复或无道理,需在 PR 评论中明确说明原因并直接 Resolve,不再反复修改。
127
+ - ⚠️ **循环终止条件(满足任意一条即停止)**:
128
+ 1. **无新问题**:Copilot review 本轮未提出任何新问题 → 自然终止,循环结束。
129
+ 2. **仅剩可忽略级别建议**:本轮 Copilot review 提出的所有问题均标注了 `nit:`、`optional:`、`question:` 或建议将配置项写入 `.env` 等可忽略类型,无任何 `Request changes` 级别的问题 → 逐条回复说明原因并 Resolve,然后终止循环,无需再请求新一轮 review。
130
+ 3. **衰减到底**:连续两轮 review 的新问题数量均 ≤ 2 个,且均为风格偏好或可争议建议,无实质 bug 或安全风险 → 逐条处理并 Resolve,然后终止循环。
131
+ 4. **硬上限**:循环已达到 5 轮仍无法满足上述条件 → 暂停循环,弹出通知告知用户当前状态(已跑 N 轮、剩余未解决问题数量及摘要),由用户决定是否继续。禁止在用户未确认的情况下自动跑第 6 轮。
132
+ - **核心原则:Copilot review 的目标是发现真正的代码缺陷,不是追求零评论。** 经过几轮修复后,剩余的 nit/optional 级别建议或可争议的风格偏好属于正常现象,直接标记处理即可,不应无限追逐”零评论”状态。
127
133
  - PR 图片文件检查:在 Copilot review 循环中(建议放在开始处理 review 问题之前,或所有 review 问题处理完毕之后),必须检查当前 PR 中是否存在未被引用的图片文件(PNG、JPG、JPEG、GIF、SVG、WebP 等)。检查方式:搜索代码库中是否有任何文件引用了该图片的文件名或路径,若没有任何引用 → 该图片为冗余文件。处理方式:若图片内容需要保留(如截图佐证),则将其转为 base64 data URI 内嵌到对应的 HTML 文档中,然后删除原图片文件;若图片内容无需保留,则直接删除。处理完毕后提交并推送。
128
134
  - 可忽略的 review 建议:如果 Copilot review 建议将配置项(API 地址、数据库连接、第三方服务地址等)写入 `.env` 文件,必须直接忽略并在评论中回复说明原因后 Resolve。说明内容:「本项目 `.env` 仅允许配置端口号(如 `PORT`、`API_PORT`),其余配置项一律写死在代码中,敏感信息统一放入 Nacos 配置中心,不放 `.env`。」
129
- - ⚠️ **强制步骤:重新请求 Copilot review 后,必须主动检查 Copilot 是否已回复。** 不能发完评论就停止等待。检查方式:使用 `gh api` 拉取 PR 的 reviews 和 comments,对比上次已知的最新 review 时间戳。检查频率:每次重新请求 review 后,约 2–3 分钟后主动检查一次;若 Copilot 已生成新 review 则立即进入下一轮处理;若尚未回复,再等 2–3 分钟后再次检查。不可无限等待,最多检查 3 次(约 6–9 分钟),若仍无回复则告知用户当前状态。
135
+ - ⚠️ **强制步骤:重新请求 Copilot review 后,必须主动检查 Copilot 是否已回复。** 不能发完评论就停止等待。检查方式:使用 `gh api` 拉取 PR 的 reviews 和 comments,对比上次已知的最新 review 时间戳。检查频率:每次重新请求 review 后,约 2–3 分钟后主动检查一次;若 Copilot 已生成新 review 则立即进入下一轮处理;若尚未回复,再等 2–3 分钟后再次检查。⚠️ **这里的「最多检查 3 次」仅指每轮 review 请求后的轮询等待次数上限(约 6–9 分钟),与 review 循环的迭代轮数无关——循环轮数由上方终止条件控制,不受此限制。** 等待超时后若仍无回复,告知用户当前状态。
130
136
 
131
137
  ## 安全
132
138
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@routerhub/agent-rules",
3
- "version": "1.5.71",
3
+ "version": "1.5.72",
4
4
  "description": "Shared Copilot agent rules and guidelines for RouterHub projects",
5
5
  "main": "AGENTS.base.md",
6
6
  "bin": {
package/rules/global.md CHANGED
@@ -122,13 +122,19 @@ Closes #456
122
122
  3. 对于有道理的问题,直接修改代码、提交并推送到该 PR 分支。
123
123
  4. ⚠️ **强制步骤:修改代码并推送后,必须在 GitHub PR 页面上逐条点击 Resolve conversation。** 此步骤不可跳过——即使已回复评论、已推送修复代码,只要未点 Resolve,该条评论仍处于”未解决”状态,reviewer 无法判断是否已处理完毕。每修复一条,立即 Resolve 一条,不要等所有问题修完再批量操作。
124
124
  5. 所有问题处理完毕后,重新请求 Copilot review。
125
- 6. 重复以上步骤,直到 Copilot review 不再提出新问题为止。
125
+ 6. 重复以上步骤,直到满足以下任一终止条件为止。
126
126
  - 每一条 Copilot review 评论处理完毕后,必须点击 **Resolve conversation**,不能只回复不 Resolve。不点 Resolve 会导致该评论一直处于未解决状态,无法判断是否已完成处理。
127
127
  - 每次修改后提交的 commit 信息必须中文,格式:`修复 Copilot review 问题:[简要描述]`。
128
128
  - 如果 Copilot review 连续两轮提出同一问题但实际已修复或无道理,需在 PR 评论中明确说明原因并直接 Resolve,不再反复修改。
129
+ - ⚠️ **循环终止条件(满足任意一条即停止)**:
130
+ 1. **无新问题**:Copilot review 本轮未提出任何新问题 → 自然终止,循环结束。
131
+ 2. **仅剩可忽略级别建议**:本轮 Copilot review 提出的所有问题均标注了 `nit:`、`optional:`、`question:` 或建议将配置项写入 `.env` 等可忽略类型,无任何 `Request changes` 级别的问题 → 逐条回复说明原因并 Resolve,然后终止循环,无需再请求新一轮 review。
132
+ 3. **衰减到底**:连续两轮 review 的新问题数量均 ≤ 2 个,且均为风格偏好或可争议建议,无实质 bug 或安全风险 → 逐条处理并 Resolve,然后终止循环。
133
+ 4. **硬上限**:循环已达到 5 轮仍无法满足上述条件 → 暂停循环,弹出通知告知用户当前状态(已跑 N 轮、剩余未解决问题数量及摘要),由用户决定是否继续。禁止在用户未确认的情况下自动跑第 6 轮。
134
+ - **核心原则:Copilot review 的目标是发现真正的代码缺陷,不是追求零评论。** 经过几轮修复后,剩余的 nit/optional 级别建议或可争议的风格偏好属于正常现象,直接标记处理即可,不应无限追逐”零评论”状态。
129
135
  - PR 图片文件检查:在 Copilot review 循环中(建议放在开始处理 review 问题之前,或所有 review 问题处理完毕之后),必须检查当前 PR 中是否存在未被引用的图片文件(PNG、JPG、JPEG、GIF、SVG、WebP 等)。检查方式:搜索代码库中是否有任何文件引用了该图片的文件名或路径,若没有任何引用 → 该图片为冗余文件。处理方式:若图片内容需要保留(如截图佐证),则将其转为 base64 data URI 内嵌到对应的 HTML 文档中,然后删除原图片文件;若图片内容无需保留,则直接删除。处理完毕后提交并推送。
130
136
  - 可忽略的 review 建议:如果 Copilot review 建议将配置项(API 地址、数据库连接、第三方服务地址等)写入 `.env` 文件,必须直接忽略并在评论中回复说明原因后 Resolve。说明内容:「本项目 `.env` 仅允许配置端口号(如 `PORT`、`API_PORT`),其余配置项一律写死在代码中,敏感信息统一放入 Nacos 配置中心,不放 `.env`。」
131
- - ⚠️ **强制步骤:重新请求 Copilot review 后,必须主动检查 Copilot 是否已回复。** 不能发完评论就停止等待。检查方式:使用 `gh api` 拉取 PR 的 reviews 和 comments,对比上次已知的最新 review 时间戳。检查频率:每次重新请求 review 后,约 2–3 分钟后主动检查一次;若 Copilot 已生成新 review 则立即进入下一轮处理;若尚未回复,再等 2–3 分钟后再次检查。不可无限等待,最多检查 3 次(约 6–9 分钟),若仍无回复则告知用户当前状态。
137
+ - ⚠️ **强制步骤:重新请求 Copilot review 后,必须主动检查 Copilot 是否已回复。** 不能发完评论就停止等待。检查方式:使用 `gh api` 拉取 PR 的 reviews 和 comments,对比上次已知的最新 review 时间戳。检查频率:每次重新请求 review 后,约 2–3 分钟后主动检查一次;若 Copilot 已生成新 review 则立即进入下一轮处理;若尚未回复,再等 2–3 分钟后再次检查。⚠️ **这里的「最多检查 3 次」仅指每轮 review 请求后的轮询等待次数上限(约 6–9 分钟),与 review 循环的迭代轮数无关——循环轮数由上方终止条件控制,不受此限制。** 等待超时后若仍无回复,告知用户当前状态。
132
138
 
133
139
  ## 安全
134
140