job51-gitlab-cr-node-jt-1 2.9.8 → 2.9.9
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.
|
@@ -11,26 +11,22 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
11
11
|
- `New Start`: 当前 diff 块在变更后文件中的起始行号
|
|
12
12
|
- `New Count`: 当前 diff 块的行数
|
|
13
13
|
- `New Path`: 文件路径(去掉 `a/` 或 `b/` 前缀)
|
|
14
|
+
- `Is Large File`: 如果为 true,表示这是完整文件审查(GitLab diff 截断)
|
|
14
15
|
- **注意**:元数据在文件末尾,`@@` 行已被移除,不影响行号计数
|
|
15
16
|
|
|
16
|
-
3.
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
3. **如果任何行号超出范围,必须重新计数**
|
|
28
|
-
4. **禁止**直接使用从完整文件读取的行号
|
|
17
|
+
3. **解析行号**:
|
|
18
|
+
- **大文件模式(Is Large File: true)**:
|
|
19
|
+
- 这是完整文件内容审查,所有代码都是新增
|
|
20
|
+
- 行号从 1 开始,逐行计数
|
|
21
|
+
- 发现问题时,直接使用实际行号
|
|
22
|
+
- **正常 diff 模式**:
|
|
23
|
+
- 从元数据中读取 `New Start` 值
|
|
24
|
+
- 从第 1 行代码开始,行号 = `New Start`
|
|
25
|
+
- 每往下一行(`+` 开头或空格开头),行号 +1
|
|
26
|
+
- `-` 开头的删除行**不计数**
|
|
27
|
+
- **忽略元数据行**:文件末尾的 `# File Information` 等以 `# ` 开头的行都**不编号**
|
|
29
28
|
|
|
30
29
|
4. **读取上下文**:基于 New Path 读取变更后文件,涉及方法调用时追踪读取实现代码
|
|
31
|
-
- **⚠️ 重要**:读取完整文件用于理解代码逻辑,但问题行号必须基于 diff 块计算
|
|
32
|
-
- 如果从完整文件中定位到问题行号,**必须验证**该行号是否在 diff 块范围内
|
|
33
|
-
- **验证公式**:`new_start <= 行号 <= new_start + new_count - 1`
|
|
34
30
|
|
|
35
31
|
5. **执行审查**:按照 @.claude/rules/code-review-rules.md 中的规则进行审查
|
|
36
32
|
|
|
@@ -77,11 +73,21 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
77
73
|
|
|
78
74
|
7. **输出结果**:
|
|
79
75
|
- 审查结果放入 `<REPORT>` 标签
|
|
80
|
-
-
|
|
81
|
-
- LINE_INFO
|
|
76
|
+
- **⚠️ 必须输出 `<LINE_INFO>` 标签**(这是强制要求,没有例外)
|
|
77
|
+
- LINE_INFO 格式:`[{"new_path":"文件路径","new_line":行号}]`
|
|
82
78
|
- **问题和行号对应**:`<LINE_INFO>` 中的第 N 个元素对应第 N 个问题的行号
|
|
79
|
+
- **无问题时**:LINE_INFO 必须输出空数组 `<LINE_INFO>[]</LINE_INFO>`
|
|
83
80
|
- **⚠️ 关键格式要求**:`<LINE_INFO>` 标签必须放置在 `</REPORT>` 标签之后
|
|
84
81
|
|
|
82
|
+
## ⚠️ 大文件审查特殊要求
|
|
83
|
+
|
|
84
|
+
当 `Is Large File: true` 时:
|
|
85
|
+
1. 这是完整文件内容审查,所有代码行都是新增(`+` 开头)
|
|
86
|
+
2. **必须审查整个文件**,不要只看部分代码
|
|
87
|
+
3. **发现任何问题时,必须输出 `<LINE_INFO>` 标签**,包含准确的行号
|
|
88
|
+
4. 行号基于完整文件内容计算,从第 1 行开始
|
|
89
|
+
5. **即使只有一个问题,也必须输出 LINE_INFO**
|
|
90
|
+
|
|
85
91
|
## 输出模板
|
|
86
92
|
|
|
87
93
|
**⚠️ 强制格式要求(违反会导致解析失败)**:
|
|
@@ -101,6 +107,8 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
101
107
|
6. **禁止输出错误代码示例**:已经有行号定位了,不需要重复输出错误代码
|
|
102
108
|
|
|
103
109
|
7. **必须输出 `<LINE_INFO>` 标签**:即使无问题也要输出空数组 `<LINE_INFO>[]</LINE_INFO>`
|
|
110
|
+
- **⚠️ 再次强调**:如果发现严重问题,必须同时输出 LINE_INFO 标签包含行号信息
|
|
111
|
+
- **如果只输出 REPORT 而不输出 LINE_INFO,审查结果会被系统丢弃**
|
|
104
112
|
|
|
105
113
|
<REPORT>
|
|
106
114
|
## 🤖 AI 代码审查结果
|
|
@@ -111,10 +119,14 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
111
119
|
**文件及行号**:[文件路径:行号]<br/>
|
|
112
120
|
**修改建议**:[正确示例代码或说明]
|
|
113
121
|
|
|
122
|
+
**问题 2**:[问题描述]<br/>
|
|
123
|
+
**文件及行号**:[文件路径:行号]<br/>
|
|
124
|
+
**修改建议**:[正确示例代码或说明]
|
|
125
|
+
|
|
114
126
|
</REPORT>
|
|
115
127
|
|
|
116
128
|
<LINE_INFO>
|
|
117
|
-
[{"new_path":"文件路径","new_line":行号}]
|
|
129
|
+
[{"new_path":"文件路径","new_line":行号},{"new_path":"文件路径","new_line":行号}]
|
|
118
130
|
</LINE_INFO>
|
|
119
131
|
|
|
120
132
|
**说明**:
|
|
@@ -123,3 +135,4 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
123
135
|
- **`<LINE_INFO>` 数组中的元素顺序必须与问题顺序一致**
|
|
124
136
|
- 行号:返回变更后文件中的绝对行号(从 1 开始计数)
|
|
125
137
|
- **无严重问题时,LINE_INFO 必须输出空数组 `[]`**
|
|
138
|
+
- **⚠️ 有严重问题时,LINE_INFO 必须包含对应的行号信息,否则审查结果会被丢弃**
|