定制代码审查指令
在 head branch 提供仓库和路径规则,用具体检查项改进反馈。
审查指令应说明项目中哪些约束影响正确性、风险与可维护性。先写少量具体规则,再用真实 PR 验证效果;自然语言指导不是必然执行每条检查的确定性程序。
指令文件各自的范围
| 文件 | 用途 |
|---|---|
.github/copilot-instructions.md | Copilot 仓库级常规审查要求 |
.github/instructions/**/*.instructions.md | 按路径或文件类型启用的规则 |
根目录 AGENTS.md | 跨代理共享的项目背景与约定 |
CLAUDE.md、GEMINI.md、REVIEW.md | 官方使用指南明确列出的其他可读指令文件 |
路径指令用 applyTo 匹配改动文件。例如:
---
applyTo: "**/*.{ts,tsx}"
---
# Review TypeScript changes
- Check whether new input can reach existing error paths safely.
- Explain any changed public behavior and missing regression coverage.这是示例规则,不是产品内置标准。语言规则放路径文件中,避免把一个技术栈的要求误用于其他文件。
PR 使用 head branch 的指令
当前代码审查指南明确:repository custom instructions、agent instructions 和 Skills 从 head branch 读取。例如 feature 合入 main 时,使用 feature 中的文件,而不是 main。因此可在同一个 PR 中修改指令并观察审查效果,不必先合入基础分支。
此行为不能未经核实地外推到所有 cloud agent 环境文件和其他 Copilot 功能;运行环境另有独立配置机制。
写可执行的检查要求
用标题区分安全、行为兼容、错误处理和测试,短句说明要核对什么,以及为何与项目有关。例如要求确认支付操作幂等、不要记录原始凭据,比“更准确”“不要漏问题”更明确。
官方建议从 10–20 条重点规则开始,单文件尽量控制在约 1000 行以内。这是教程中的质量建议,不是保证全部读取的硬容量上限;越长或越冲突的规则越可能被忽略。
指令不能改变的行为
官方教程列为不支持的要求包括强制改变评论格式、给 overview 增加固定栏目、用一条指令阻止 PR 合并、自动生成每个 PR 的 changelog,以及仅给外链让它遵守整页标准。
把必要规则内容直接写入文件;需要外部系统事实时通过配置好的 MCP提供上下文。自然语言写“所有评论解决前不能合并”不等于创建 ruleset,正式审批设置见Copilot approvals。
测试和迭代
用包含目标风险的真实 PR 请求审查,观察规则是否被遵循、是否制造误报,再逐小组调整。规则被忽略时先缩短并排除矛盾;作用到错误文件时检查 applyTo 与文件位置。不同运行仍有自然差异,不把一次没有评论当作完整验证通过。