GitHub发文介绍四种让Copilot理解代码库的配置方式
GitHub官方博客在Copilot应用入门系列中列出仓库自定义指令、Agent技能、自定义Agent和MCP服务器四类做法,分别对应仓库约定、可复用流程、跨文件任务和外部工具连接。
AI解读:GitHub官方博客发布Copilot应用入门系列文章,介绍如何通过仓库内文件让Copilot自动获取项目上下文,而不是每次任务都重新解释规范、脚本和工作流。
文章给出四类做法:自定义指令写在 .github/copilot-instructions.md中,路径级指令放在 .github/instructions并用applyTo字段标明适用范围;Agent技能放在 .github/skills下,每个技能独立子文件夹并含SKILL.md;自定义Agent配置在 .github/agents,可定义用途、指令、工具和项目上下文;MCP服务器用于连接外部工具和数据源。
文章举例说明MCP的作用:配置Playwright后,可以要求Copilot用该服务器在浏览器中手动测试功能,从而在自动检查之外验证界面行为。
GitHub建议从一条经常重复解释的约定开始,写入 .github/copilot-instructions.md,并提到社区通过Awesome Copilot分享了现成的指令、技能和Agent。
文章属于官方教程,描述的是配置方法和预期用途,未提供采用率或效果数据。
GitHub官方博客在“GitHub Copilot app for Beginners”系列中发文,介绍四种让Copilot获取项目上下文的方式:自定义指令、Agent技能、自定义Agent和MCP服务器。
自定义指令:把仓库约定写进文件
文章指出,每个代码库都有自己的规则,比如组件如何组织、运行哪些脚本、不同框架和文件类型适用哪些约定。Copilot在了解这些规则时表现更好,而这些知识可以放在仓库里让Copilot自动获取。
仓库级自定义指令写在 .github/copilot-instructions.md文件中,用于定义架构偏好、命名约定以及测试和验证要求等。路径级指令文件放在 .github/instructions内,通过applyTo字段告诉Copilot该指令何时适用;当Copilot处理匹配文件时,可以同时使用仓库级指令和更具体的指令。
Agent技能:打包可重复执行的流程
文章写道,有些指导只在Copilot执行特定流程时才需要,例如运行质量检查、准备发布或排查失败的工作流,这类内容适合做成Agent技能。
技能是一个文件夹,包含说明,也可以包含脚本和其他资源,供Copilot在相关时加载。项目级技能放在 .github/skills下,每个技能有独立子文件夹。文章举例说,.github/skills/quality-checks文件夹可以包含SKILL.md,说明何时使用该技能、哪些脚本运行测试和lint、每个脚本检查什么以及常见失败如何排查。SKILL.md中的描述帮助Copilot判断该技能何时适用。
自定义Agent与MCP服务器:处理大任务和连接外部工具
文章介绍,有些任务比单个流程更大,例如可访问性审查可能要求Copilot检查多个文件中的组件、模板、样式和交互。自定义Agent用于这类工作,仓库级Agent配置位于 .github/agents,可定义该Agent的用途、指令、工具和相关项目上下文。文章建议在重复出现、需要专门角色或视角、并且可能跨多个文件并调用多种工具或上下文来源的任务中使用。
MCP服务器则把Copilot连接到仓库之外的外部工具、数据源和服务。文章举例,文档服务器可以让它获取框架指南,Playwright服务器可以让它在浏览器中打开并操作应用。用户可以在Copilot应用中浏览可用的MCP服务器,也可以添加自定义服务器。配置Playwright后,可以要求Copilot使用该MCP服务器手动测试功能,Copilot会用Playwright打开浏览器并像用户一样操作,从而在自动检查之外验证更新后的界面行为。
GitHub建议的组合与起点
文章称这四类定制解决不同问题,组合使用更有用,并给出四个起点问题:哪条项目约定反复解释、哪个多步骤流程反复执行、哪类复杂任务适合专门的自定义Agent、Copilot需要哪个外部工具或来源。
GitHub建议先从小处开始:选一条经常重复解释的约定,加入 .github/copilot-instructions.md,看Copilot在下一个任务中如何应用。文章还提到社区通过Awesome Copilot分享了现成的指令、技能和Agent,可以先找一个针对已有重复工作流的配置,检查内容后按自己仓库的工具和标准调整。