@routerhub/agent-rules 1.5.144 → 1.5.146

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
@@ -116,10 +116,26 @@
116
116
  - ⚠️ **已推送到远程的提交需要撤销时,必须用 `git revert`,禁止用 `git push --force` 覆盖远程历史。** `git revert` 会创建一条新的撤销提交,保留完整的操作记录,不影响其他协作者的本地分支;`git push --force` 会破坏远程历史,导致其他人的本地分支与远程脱节,极易引发合并冲突或丢失他人提交。
117
117
  - ⚠️ **提交并推送代码后,若发现与主分支存在冲突,必须主动解决**,不能推送完就算完事、把冲突留给别人处理。
118
118
 
119
+ ## ⚠️ PR 冲突修复统一用临时 worktree
120
+
121
+ - ⚠️ **修复 PR 与主分支的冲突时,一律使用临时 git worktree,禁止直接在当前工作副本上切换分支(`git checkout`)解题。** 原因:A-/B-/C-/M- 多副本仓库中,同一个克隆往往同时被其他开发任务占用;直接切分支会破坏别人正在进行的代码、或把自己卡在非主分支上。
122
+ - ⚠️ **标准操作流程**:
123
+ 1. 在仓库根目录执行 `git worktree add ../<pr>-fix <PR分支名> --detach`(或 `-b` 新建一个与 PR 分支同名的分支),临时分离出来用独立目录操作,当前工作副本状态完全不动。
124
+ 2. 在 worktree 目录里 `git merge origin/main`(或 `git rebase origin/main`)→ 解决冲突文件 → 本地测试通过。
125
+ 3. `git push` 推送回 PR 分支(须确认 push 目标为 origin 的对应 PR 分支,禁止 `--force`)。
126
+ 4. 操作完成后用 `git worktree remove ../<pr>-fix` 清理临时 worktree,再回到原副本继续。
127
+ - ⚠️ **worktree 与主副本共享同一套本地 `.git`**,但工作目录、索引、当前分支状态完全独立,不会干扰正在 main 或其他分支上改动代码的协作者。
128
+ - ⚠️ **worktree 目录默认在仓库根目录同级(`../`)**,避免被误当成子文件夹进 git;进入前先确认该路径不存在同名文件夹。
129
+
119
130
  ## PR 核心要求
120
131
 
121
132
  - ⚠️ PR Title / Description / Test Plan 全部中文。
122
- - ⚠️ 必须附截图作为可视化证据(前后对比、标注改动区域)。
133
+ - ⚠️ **PR 必须附效果截图作为可视化证据,且逐条满足以下硬性要求(缺一不可,禁止跳过)**:
134
+ - **4K 全页**:截图视口统一 3840px 宽、`fullPage` 截完整页面,禁止用 1920px、禁止只截视口一屏。
135
+ - **全面多角度**:一张全页图 + 每个关键改动区域的局部放大图,多个改动点要逐个覆盖,确保 reviewer 不看代码就能看全本次全部改动。
136
+ - **箭头标注**:每张截图必须用醒目箭头 + 简短文字标签标注关键改动区域/验证点(修复前红框/红箭头、修复后绿框/绿箭头),标注放在不遮挡原内容的位置,禁止只贴裸图不标注。
137
+ - **URL 可见**:截图中必须能看到当前页面 URL,确保证据可追溯。
138
+ - **前后对比**:必须同时展示修复前与修复后。
123
139
  - ⚠️ **截图必须直接内嵌在 PR Description 中,让 reviewer 打开 PR 就能看到效果图(`![](CDN_URL)` 方式渲染为可见图片),禁止只在文字里描述"改动了什么"而不放图,也禁止把截图只作为文件附件/提交到分支目录而不在 PR 正文中引用。** 原因:reviewer 看 PR 的第一眼就是看描述,如果看不到图、只能读文字,完全无法直观感知改动效果;截图不内嵌 = 等于没附。
124
140
  - ⚠️ **截图必须通过 PR Description 编辑区直接上传(拖拽/粘贴/文件选择按钮),禁止走评论区 `input[type=file]` 上传后再搬运 CDN URL。** 原因:PR Description 编辑区本身支持图片拖拽上传、自动转为 `![](CDN_URL)` 内嵌,一步到位;走评论区上传需要多一步「提交评论 → 复制 URL → 粘贴到 Description」,产生的临时图片评论会留在 PR 对话里干扰 reviewer 阅读,且多了一步手动搬运、容易出错。
125
141
  - ⚠️ 创建 PR 使用 `/create-pr` skill(自动生成中文内容 + 效果截图 + CDN 上传)。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@routerhub/agent-rules",
3
- "version": "1.5.144",
3
+ "version": "1.5.146",
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
@@ -116,10 +116,26 @@ name: "通用规则"
116
116
  - ⚠️ **已推送到远程的提交需要撤销时,必须用 `git revert`,禁止用 `git push --force` 覆盖远程历史。** `git revert` 会创建一条新的撤销提交,保留完整的操作记录,不影响其他协作者的本地分支;`git push --force` 会破坏远程历史,导致其他人的本地分支与远程脱节,极易引发合并冲突或丢失他人提交。
117
117
  - ⚠️ **提交并推送代码后,若发现与主分支存在冲突,必须主动解决**,不能推送完就算完事、把冲突留给别人处理。
118
118
 
119
+ ## ⚠️ PR 冲突修复统一用临时 worktree
120
+
121
+ - ⚠️ **修复 PR 与主分支的冲突时,一律使用临时 git worktree,禁止直接在当前工作副本上切换分支(`git checkout`)解题。** 原因:A-/B-/C-/M- 多副本仓库中,同一个克隆往往同时被其他开发任务占用;直接切分支会破坏别人正在进行的代码、或把自己卡在非主分支上。
122
+ - ⚠️ **标准操作流程**:
123
+ 1. 在仓库根目录执行 `git worktree add ../<pr>-fix <PR分支名> --detach`(或 `-b` 新建一个与 PR 分支同名的分支),临时分离出来用独立目录操作,当前工作副本状态完全不动。
124
+ 2. 在 worktree 目录里 `git merge origin/main`(或 `git rebase origin/main`)→ 解决冲突文件 → 本地测试通过。
125
+ 3. `git push` 推送回 PR 分支(须确认 push 目标为 origin 的对应 PR 分支,禁止 `--force`)。
126
+ 4. 操作完成后用 `git worktree remove ../<pr>-fix` 清理临时 worktree,再回到原副本继续。
127
+ - ⚠️ **worktree 与主副本共享同一套本地 `.git`**,但工作目录、索引、当前分支状态完全独立,不会干扰正在 main 或其他分支上改动代码的协作者。
128
+ - ⚠️ **worktree 目录默认在仓库根目录同级(`../`)**,避免被误当成子文件夹进 git;进入前先确认该路径不存在同名文件夹。
129
+
119
130
  ## PR 核心要求
120
131
 
121
132
  - ⚠️ PR Title / Description / Test Plan 全部中文。
122
- - ⚠️ 必须附截图作为可视化证据(前后对比、标注改动区域)。
133
+ - ⚠️ **PR 必须附效果截图作为可视化证据,且逐条满足以下硬性要求(缺一不可,禁止跳过)**:
134
+ - **4K 全页**:截图视口统一 3840px 宽、`fullPage` 截完整页面,禁止用 1920px、禁止只截视口一屏。
135
+ - **全面多角度**:一张全页图 + 每个关键改动区域的局部放大图,多个改动点要逐个覆盖,确保 reviewer 不看代码就能看全本次全部改动。
136
+ - **箭头标注**:每张截图必须用醒目箭头 + 简短文字标签标注关键改动区域/验证点(修复前红框/红箭头、修复后绿框/绿箭头),标注放在不遮挡原内容的位置,禁止只贴裸图不标注。
137
+ - **URL 可见**:截图中必须能看到当前页面 URL,确保证据可追溯。
138
+ - **前后对比**:必须同时展示修复前与修复后。
123
139
  - ⚠️ **截图必须直接内嵌在 PR Description 中,让 reviewer 打开 PR 就能看到效果图(`![](CDN_URL)` 方式渲染为可见图片),禁止只在文字里描述"改动了什么"而不放图,也禁止把截图只作为文件附件/提交到分支目录而不在 PR 正文中引用。** 原因:reviewer 看 PR 的第一眼就是看描述,如果看不到图、只能读文字,完全无法直观感知改动效果;截图不内嵌 = 等于没附。
124
140
  - ⚠️ **截图必须通过 PR Description 编辑区直接上传(拖拽/粘贴/文件选择按钮),禁止走评论区 `input[type=file]` 上传后再搬运 CDN URL。** 原因:PR Description 编辑区本身支持图片拖拽上传、自动转为 `![](CDN_URL)` 内嵌,一步到位;走评论区上传需要多一步「提交评论 → 复制 URL → 粘贴到 Description」,产生的临时图片评论会留在 PR 对话里干扰 reviewer 阅读,且多了一步手动搬运、容易出错。
125
141
  - ⚠️ 创建 PR 使用 `/create-pr` skill(自动生成中文内容 + 效果截图 + CDN 上传)。
@@ -58,18 +58,21 @@ Closes #issue编号
58
58
  1. **截修复后**:浏览器打开改动页面 → 滚动到改动区域 → 全页截图
59
59
  2. **截修复前**:临时注释/回退改动代码 → 等 hot reload → 同位置截图 → 恢复代码
60
60
  - ⚠️ **若线上数据已变化,导致无法在真实页面复现"修复前"效果**:允许改用等价的纯逻辑对比代替(用新旧两版逻辑代码跑同样的输入数据,把输出结果差异渲染成对比图),但必须在 Description 里明确写清楚"为什么无法复现 + 用了什么替代方案",禁止因此省略截图或假装能复现。
61
- 3. **生成对比图**:用 sharp 拼接 → 上方红/绿色标注条(❌修复前 / ✅修复后)→ 下方左右并排截图 → 关键改动区域矩形框圈选
61
+ 3. **生成对比图**:用 sharp 拼接 → 上方红/绿色标注条(❌修复前 / ✅修复后)→ 下方左右并排截图 → 关键改动区域用箭头 + 红/绿框圈选
62
62
  4. **上传 GitHub CDN**(在 PR Description 编辑区直接上传):
63
63
  - 打开目标 PR 页面 → 在 **Description 编辑区**直接上传图片(拖拽/粘贴,或定位 Description 编辑区的隐藏 `input[type=file]` 上传),GitHub 会自动把图片转成 `https://github.com/user-attachments/assets/...` 的 CDN 地址并插入 Description 正文,`![](CDN_URL)` 内嵌
64
64
  - ⚠️ **禁止走评论区上传再搬运 CDN URL**:评论区上传需要多一步「提交评论 → 复制 URL → 粘贴到 Description」,产生的临时图片评论会留在 PR 对话里干扰 reviewer 阅读,且多一步手动搬运容易出错
65
65
  - ⚠️ **禁止用 `gh gist create --public` 等公开托管服务代替**——这属于未经授权的公开发布
66
66
  5. **保存 Description**:确认图片已内嵌进 Description 正文后,保存 PR Description 使图片持久化
67
67
 
68
- **截图规范**:
69
- - ⚠️ 截图禁止提交到 Git 仓库
70
- - ⚠️ 必须展示前后对比(修复前红框,修复后绿框)
71
- - ⚠️ 标注不遮挡页面内容
72
- - ⚠️ 只截改动相关区域,裁掉无关内容
68
+ **截图硬性规范(PR 效果截图必须逐条满足,缺一不可,禁止跳过)**:
69
+ - ⚠️ **视口宽度统一 4K(3840px 宽)**:用 agent-browser 时先 `agent-browser --cdp 9223 viewport 3840 <height>`(高度按内容给足,如 2400+),或全页截图并保证宽度 3840。禁止用 1920px——1920 宽对复杂内容看不全、看不清。
70
+ - ⚠️ **必须 `fullPage: true` 截完整页面**,不要只截视口的一部分。每个改动点都要覆盖到,禁止只截视口内一屏。
71
+ - ⚠️ **截图必须全面(多图覆盖多个角度)**:一张全页图 + 每个关键改动区域的局部放大图。只截一处、截局部、漏掉改动点都不算全。整份 PR Description 的效果截图要使 reviewer 不看代码就能看全本次改动。
72
+ - ⚠️ **每张截图必须用醒目箭头 + 简短文字标签标注关键改动区域/验证点**,让看的人一眼看懂这张图证明了什么;修复前用红框/红箭头,修复后用绿框/绿箭头,标注放在不遮挡原内容的位置。禁止只贴裸图不标注。
73
+ - ⚠️ **截图中必须能看到当前页面 URL**(浏览器地址栏,或页面顶部叠加 URL 标注),确保证据可追溯。
74
+ - ⚠️ 截图保存到本地磁盘 `docs/` 对应子目录(文件名「编号 + 英文描述」,如 `01-before.png` / `02-after.png`),上传 CDN 后按规则清理临时文件,禁止提交到 Git 仓库。
75
+ - ⚠️ 必须展示前后对比(修复前红框,修复后绿框),标注不遮挡页面内容。
73
76
 
74
77
  ### 5. 创建 PR
75
78