diff --git a/.claude/commands/code-review.md b/.claude/commands/code-review.md index ed60d92..0771653 100644 --- a/.claude/commands/code-review.md +++ b/.claude/commands/code-review.md @@ -103,16 +103,33 @@ description: 对当前分支的变更进行代码审查 **结论为「通过」**:直接结束,不询问。 **结论为「需修改后通过」或「需重新设计」**: -1. 使用 AskUserQuestion 询问用户是否需要自动修复 -2. 选项: - - 「自动修复」:调用 `/fix` 命令,将所有 [Critical] 和 [Improvement] 问题作为输入 - - 「跳过」:结束审查 -3. 用户选择修复时,调用 Skill 工具执行 `/fix`,参数格式: - ``` - 根据代码审查结果修复以下问题: - 1. [文件:行号] 问题描述 - 2. [文件:行号] 问题描述 - ... - ``` -注意:[Nit] 类问题不纳入自动修复范围。 +使用 AskUserQuestion 询问用户,提供以下选项和风险说明: + +``` +请选择修复方式: + +1. 只修复严重问题(推荐) + 仅修复 [Critical] 问题。范围最小,只改必须修的 bug, + 不会影响现有功能的正常运行。 + +2. 修复全部问题 + 修复 [Critical] + [Improvement] 问题。改动范围较大, + Improvement 属于建议性改进,修复过程中可能改变现有代码行为, + 存在引入新问题的风险。 + +3. 跳过 + 不做任何修改,仅保留审查报告供参考。 +``` + +用户选择后,调用 Skill 工具执行 `/fix`,参数格式: +``` +[code-review] 根据代码审查结果修复以下问题: +1. [文件:行号] 问题描述 +2. [文件:行号] 问题描述 +... +``` + +注意: +- [Nit] 类问题不纳入自动修复范围 +- 参数必须以 `[code-review]` 开头,触发 /fix 的变更范围约束 diff --git a/.claude/commands/fix.md b/.claude/commands/fix.md index 6adb36e..6b05a3b 100644 --- a/.claude/commands/fix.md +++ b/.claude/commands/fix.md @@ -8,6 +8,17 @@ description: 快速修复(定位 → 修复 → 验证) 「$ARGUMENTS」— 问题描述或错误信息 +## ⚠️ 来自 code-review 的变更范围约束 + +**当输入以 `[code-review]` 开头时**,必须遵循以下强制规则: + +| 规则 | 说明 | +|------|------| +| 只改变更范围内的文件 | 仅修改 `git diff` 涉及的文件,禁止修改未变更的代码 | +| 禁止重构 | 不做代码风格调整、不重命名变量、不提取函数 | +| 禁止改变现有行为 | 修复不能导致原有正常功能不可用 | +| 最小修改 | 每个问题用最少的代码改动解决,不做额外"顺手"优化 | + ## 流程 ### 1. 定位问题