copilot-instructions.md 是什么?
GitHub Copilot 的项目规则文件,怎么写
你在项目的 .github/ 目录里看到一个 copilot-instructions.md,不用慌。它是一份写给 GitHub Copilot 看的项目级指令——用大白话告诉它:这个项目是什么、用什么技术、写代码要守哪些规矩,好让它的补全和对话更贴合你的项目。
它就是个普通 Markdown 文件,和 README 一样的写法,只不过读者是 Copilot 而不是人。放在仓库的 .github/ 目录下,支持的 Copilot 环境会自动读它。
这篇讲清它是什么、放哪、里面写什么、怎么自己写一份,以及怎么在浏览器里把这个本地 .md 打开读清、改好、存回本地。
如果你手上不止 Copilot 一个工具、规则文件攒了一堆,先看 AI 编程规则文件怎么管理;想先搞懂这类文件整体是什么,看 AGENTS.md / CLAUDE.md 是什么。
copilot-instructions.md 到底是什么
- 一句话:你提前写给 GitHub Copilot 的「项目须知」。它干活前把这份读一遍,尽量照着你的项目规矩来。
- 格式:纯文本 + Markdown 语法,扩展名
.md,和 README 一样的写法。 - 位置:约定放在仓库根目录下的
.github/文件夹里,文件名就叫copilot-instructions.md。 - 和聊天框输入的区别:聊天框里的话只对这一次有效;写进这个文件的规则,是每次都参考的「常驻说明」,不用每次重复交代。
它放在哪、怎么才生效
放对位置是它生效的前提。约定是仓库根目录下的 .github/copilot-instructions.md。在支持的 Copilot 环境(比如 VS Code 的 Copilot Chat)里,它会被自动当成项目级指令读取。
是否需要在编辑器设置里开启、具体读取行为,以 GitHub 和你用的编辑器官方文档为准——这块更新很快,别凭感觉放。放错目录、文件名不对,它就形同虚设。
里面通常写什么
不用写长篇大论,围绕这几块把项目交代清楚就够用了:
| 小节 | 通常写什么 | 为什么写 |
|---|---|---|
| 项目概览 | 这是什么项目、用什么技术栈和框架 | 让 Copilot 一句话搞清项目是干嘛的 |
| 代码约定 | 命名风格、目录结构、用哪些库、写法偏好 | 让它给的建议顺着你的规矩来 |
| 不要做的事 | 别用哪些写法、别动哪些文件 | 避开它容易踩、你不想要的雷 |
| 输出偏好 | 注释用什么语言、提交信息格式、测试怎么写 | 让它的产出合你的习惯 |
诀窍:写具体的、容易出错的约定,比如「状态管理用 Zustand,别引入 Redux」「注释用中文」,比泛泛的「代码要规范」有用得多。
怎么写:一个够用的例子
第一版能交代清楚「项目是什么、要守什么、别碰什么」就够了。一个够用的样子:
# Copilot 项目指令
## 这个项目是什么
一个 React + TypeScript 前端项目,用 Vite 构建。
## 写代码的约定
- 用函数组件 + Hooks,不要用 class 组件
- 状态管理用 Zustand,不要引入 Redux
- 样式用 CSS Modules,文件名 xxx.module.css
## 不要做的事
- 不要改 src/config/ 下的配置
- 不要在组件里写死接口地址,统一走 src/api/
## 输出偏好
- 注释用中文,变量和函数名用英文
- 每个改动配一句话说明改了什么 几个要点:
- 用大白话,别堆术语。
- 短就行,一两屏内读完最好;太长 Copilot 和你自己都容易跳过。
- 写能验证的约定,方便你回头检查它有没有照做。
- 想把
#、-、代码块这些符号敲对,看 Markdown 怎么写。
它和 CLAUDE.md、AGENTS.md 的区别
作用类似,都是写给 AI 编程工具看的项目规则,区别主要在文件名和放哪。具体以你在用的那个工具的官方文档为准,这块更新很快。
| 文件名 | 给谁看 | 放哪 |
|---|---|---|
.github/copilot-instructions.md | GitHub Copilot | 仓库的 .github/ 目录下 |
CLAUDE.md | Claude Code | 项目根目录 |
AGENTS.md | 较通用的约定(Codex 等) | 项目根目录 |
.cursorrules / .cursor/rules/ | Cursor | 项目根目录 |
你用哪个工具,就照那个工具的约定写一份。手上工具多、文件攒了一堆怎么整理,见 AI 编程规则文件怎么管理。
用 NoteLoom 打开这个本地 copilot-instructions.md
不管这个文件是 AI 生成的、还是你自己写的,落到硬盘上它都只是一个本地 .md。NoteLoom 就是个在浏览器里读写本地 md 文件的编辑器,拿来打开、读清、改好它正合适。
先说清楚边界:NoteLoom 没有任何 AI,也不和 GitHub Copilot、Claude Code、Cursor 或 git 集成。它不替你写规则、不生成、不总结,也不会让 Copilot「更听你的」。它只负责让你把这个文件打开、看清、改好、存回本地。
它给你三个视图来读同一个文件:
| 视图 | 对读 / 改这个规则文件的帮助 |
|---|---|
reading(阅读) | 把规则文件渲染成排版后的样子,安静读完,看清有几节、各管什么(只读,改不了) |
live(编辑) | 边看排版边改,给某条规矩补一句、改个约定很顺手 |
source(源码) | 看原始 Markdown 符号,想确认列表、代码块、路径写得对不对时用 |
用起来大致是这样:
- 用 Chrome、Edge 或 Arc 打开
app.noteloom.cc。 - 选中仓库里的
.github文件夹(NoteLoom 必须先挂载文件夹才能读写,且挂父目录时会跳过点开头的文件夹——所以直接指向.github)。 - 在文件树里点开
copilot-instructions.md。 - 先用
reading视图看排版,要改就切live或source。 - 改完直接写回本地原文件,不经过账号,也不上云。
常见的坑
- 放错目录 / 文件名不对:不在
.github/下、名字不对,Copilot 根本读不到。以官方文档为准放。 - 写得太长太全:几百行的规则,Copilot 和你都懒得读。挑最关键、最容易踩坑的几条。
- 以为写了就能强制它听话:它是强烈建议不是硬性锁,关键改动自己复查一遍更稳。
- 用记事本打开是一堆
#和-:那是没渲染,不是文件坏了。换个能显示 Markdown 排版的编辑器就正常。 - 指望 NoteLoom 帮你理解或执行它:不会。NoteLoom 只打开、读、改、存这个本地文件,不连任何 AI 工具,也不跑里面的规则。
FAQ
copilot-instructions.md 必须放在 .github/ 目录吗?
写了 copilot-instructions.md,Copilot 就一定照做吗?
copilot-instructions.md 和 CLAUDE.md、AGENTS.md 是一回事吗?
不用 VS Code 能用 copilot-instructions.md 吗?
NoteLoom 能帮我生成 copilot-instructions.md 吗?
手机或 Safari 能用 NoteLoom 打开它吗?
把 copilot-instructions.md 打开读清楚
用 Chrome / Edge / Arc 打开 NoteLoom,把仓库的 .github 文件夹挂进来,用 reading 视图把 copilot-instructions.md 读清,要改就切 live 改完存回本地——不用装软件,也不用注册账号。