路径指令与 AGENTS.md
用 applyTo 缩小规则范围,区分 IDE、云端和代码审查的加载行为。
路径指令把只适用于部分文件的规则放到独立文件。按官方支持参考,VS Code、Visual Studio、JetBrains、Xcode 的 Chat 支持这类指令;Eclipse Chat 当前只列出仓库级指令。
文件位置和 glob
创建 .github/instructions/NAME.instructions.md,也可以在 instructions 下分子目录整理。文件名必须以 .instructions.md 结尾。
例如,为 TypeScript 文件写一个明确匹配范围:
---
applyTo: "**/*.ts,**/*.tsx"
---
沿用当前项目的类型和目录约定。修改行为后运行与该模块相关的验证。逗号分隔多个 glob。仓库级 .github/copilot-instructions.md 与匹配的路径指令可以同时使用,不应把路径匹配理解为自动删除仓库级要求。
| 模式 | 匹配范围 |
|---|---|
*.py | 当前目录的 Python 文件 |
**/*.py | 各层目录的 Python 文件 |
src/*.py | src 直接包含的 Python 文件,不包括更深目录 |
src/**/*.py | src 下各层 Python 文件 |
**/subdir/**/*.py | 任意层级 subdir 目录及其后代中的 Python 文件 |
限定云端或审查用途
官方支持在 frontmatter 使用 excludeAgent: "code-review" 或 excludeAgent: "cloud-agent",排除对应产品。例如:
---
applyTo: "**"
excludeAgent: "code-review"
---
完成修改后说明执行的验证与结果。这个字段描述 cloud agent / code review 的取舍,不是屏蔽所有 IDE Agent 的通用开关。未设置时,官方说明这两类支持路径指令的产品都可使用。
VS Code 与 AGENTS.md
GitHub 教程称可在仓库各层使用 AGENTS.md,并由目录树中最近的文件优先;同时注明工作区根目录之外的支持默认关闭。
当前 VS Code 文档进一步按会话运行方式区分:Local agent 的嵌套 AGENTS.md 属于实验功能,chat.useNestedAgentsMdFiles 默认关闭;Agent Host 遵循所选 harness 的发现规则。当前文档还提醒,不应依赖跨来源的固定覆盖顺序解决冲突,应直接修正冲突规则。
因此不要把“最近文件优先”作为所有 VS Code 会话、所有指令来源共同的保证。此处也不能套用 CLI 指令发现规则。
不同功能分别核对
GitHub.com 的 cloud agent 和 code review、IDE 的 Chat 和本地 code review 并非同一支持集合。例如,VS Code / Visual Studio 的 IDE code review 在支持参考中只列出仓库级指令;JetBrains / Xcode 的 code review 还列出路径指令;Eclipse code review 当前不支持自定义指令。
验证时既确认文件匹配,也确认当前运行的具体功能支持该类型,再查看引用和结果。