The GitHub Blog

GitHub Copilot app for Beginners: How to teach Copilot about your codebase

8.5内容质量
GitHub Copilot app for Beginners: How to teach Copilot about your codebase

TL;DR · AI 摘要

本文详解GitHub Copilot通过自定义指令、代理技能和MCP服务器适配项目规范的4种方法,提升AI代码生成准确性。

核心要点

  • 通过.github/copilot-instructions.md定义项目规范,确保生成代码符合团队标准
  • 使用.github/skills目录封装质量检查等可复用流程
  • MCP服务器可扩展Copilot连接CI/CD工具和数据库

结构提纲

按章节快速跳转。

  1. 说明Copilot需要项目上下文才能生成符合规范的代码

  2. 通过.github/copilot-instructions.md定义全局代码规范

  3. 在.github/skills目录封装可复用的自动化流程

  4. 通过Model Context Protocol连接外部工具和数据源

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • GitHub Copilot优化方法
    • 自定义指令
      • 全局规范文件
      • 路径特定规则
    • 代理技能
      • 质量检查流程
      • 发布准备脚本
    • MCP扩展
      • CI/CD集成
      • 数据库访问

金句 / Highlights

值得收藏与分享的关键句。

#GitHub Copilot#AI编程助手#工程实践#代码生成
打开原文

在使用 AI 时,上下文至关重要。每个代码库都有自己的规则:组件如何组织、需要运行哪些脚本,以及不同框架和文件类型适用的约定。

虽然 Copilot 可以帮助你在整个项目中进行修改,但当它了解这些规则时效果最佳。这些知识的大部分可以存储在代码库中,使 Copilot 能够自动获取这些信息,而无需每次开始新任务时都重复解释相同的规范、脚本和工作流程。

在本系列《GitHub Copilot 入门教程》的这一期中,我们将探讨四种定制 Copilot 与项目协作方式的方法:

  • 自定义指令可告知 Copilot 应遵循的规范。
  • 代理技能可封装可重复的流程。
  • 自定义代理可为大型任务提供专业指导。
  • 模型上下文协议(MCP)服务器可将 Copilot 连接到外部工具和数据源,扩展其功能。

让我们看看每种方法的工作原理以及它们如何协同工作。

从自定义指令开始

假设你让 Copilot 为应用程序添加一个自定义页面大小。完成更改只是任务的一部分。新代码还应遵循团队已使用的模式。

仓库自定义指令为 Copilot 提供了基础上下文。通过添加 .github/copilot-instructions.md 文件,可以定义适用于整个仓库的指导方针,例如你偏好的架构、命名规范或测试和验证的期望。

你还可以在 .github/instructions 中创建特定路径的指令文件。这些文件使用 applyTo 字段来告知 Copilot 何时适用这些指导方针。

当 Copilot 处理匹配文件时,它可以同时使用仓库范围的指令和更具体的指导方针。这使你能够将通用规则集中管理,而无需强制所有文件类型遵循相同的模式。

将可重复的流程封装为代理技能

自定义指令适用于需要塑造许多任务的标准。但有些指导方针仅在 Copilot 执行特定流程时才相关,例如运行质量检查、准备发布或调试失败的工作流。

这就是 代理技能 发挥作用的地方。技能是一个包含指令的文件夹,还可以选择包含脚本和其他资源,当它们相关时 Copilot 可以加载这些内容。项目级别的技能可以存储在 .github/skills 中,每个技能位于自己的子文件夹中。

例如,.github/skills/quality-checks 文件夹可以包含一个 SKILL.md 文件,其中解释:

  • Copilot 应何时使用该技能。
  • 运行项目测试和代码检查的脚本。
  • 每个脚本检查的内容。
  • 如何排查常见故障。

SKILL.md 中的描述帮助 Copilot 确定技能适用的场景。更新接口后,Copilot 可以加载 quality-checks 技能,并遵循项目已建立的测试和代码检查流程,而不是猜测应运行哪些命令。

为更广泛、专业的任务使用自定义代理

某些任务的范围超出单一操作的范畴。例如,可访问性审查可能需要 Copilot 检查多个文件中的组件、模板、样式和交互。

自定义代理 可帮助您为这类工作创建专用版本的 Copilot。仓库级别的代理配置文件存储在 .github/agents 中,可以定义代理的目标、指令、工具和相关项目上下文。

当某种重复性工作能从专用角色或视角中受益时,尤其是任务可能涉及多个文件并需要使用多种工具或上下文来源时,请使用自定义代理。

通过 MCP 服务器将 Copilot 连接到外部工具

指令、技能和代理帮助 Copilot 理解如何在您的项目中工作。MCP 服务器则扩展了其访问范围和功能,使其超越仓库的限制。

MCP 服务器 可将 Copilot 连接到外部工具、数据源和服务。文档服务器可以为其提供框架指南,而像 Playwright 这样的服务器则允许其在浏览器中打开并操作您的应用程序。

您可以在 Copilot 应用中浏览可用的 MCP 服务器或添加自定义服务器。配置好 Playwright 后,您可以发出指令:使用 Playwright MCP 服务器手动测试功能。

此时 Copilot 可通过 Playwright 在浏览器中打开应用程序并与其交互,就像您自己操作一样。这使其不仅能验证代码是否通过自动化检查,还能确认更新后的界面行为是否符合预期。

选择合适的自定义类型

这些自定义方案解决不同的问题,但它们的效用会随着组合使用而增强:

  • 自定义指令 定义 Copilot 在整个仓库或特定文件中应遵循的规范。
  • 代理技能 将可重复的操作封装为 Copilot 在相关场景下可加载的模块。
  • 自定义代理 为更广泛的任务提供专注的专业知识和指导。
  • MCP 服务器 连接 Copilot 到外部工具、服务和数据源,扩展其功能边界。

请记住这些要点

为 Copilot 提供有用的项目上下文始于四个问题:

  • 我需要反复解释的项目规范是什么?
  • 我需要重复执行的多步骤流程是什么?
  • 哪些复杂任务可以从专用的自定义代理中受益?
  • Copilot 需要访问哪些外部工具或数据源?

不确定从哪里开始?社区已通过 Awesome Copilot 共享了现成的指令、技能、代理等资源。找到一个能解决您已重复执行的工作流的方案,查看其内容,然后根据您仓库的工具和标准进行调整。

从小处着手:选择一个您经常需要解释的规范,将其添加到 .github/copilot-instructions.md,然后观察 Copilot 如何将其应用到下一个任务中。

  • * *

标签:

作者

Image 1: Christopher Harrison
Image 1: Christopher Harrison

GitHub 高级开发者倡导者

相关文章

[秘密保护必须与软件同步扩展](https://github.blog/ai-and-ml/github-copilot/secret-protection-must-scale-with-software/)

开发者并非变得越来越粗心;而是被技术发展所超越。能够让开发者构建更多软件的工具,也应当承担起更多保护软件的责任。

了解更多 GitHub 内容

Image 2: Docs
Image 2: Docs

文档

汇聚所有你需要掌握 GitHub 的资源,一应俱全。

前往文档

Image 3: GitHub
Image 3: GitHub

GitHub

在 GitHub 上构建未来,这里是任何人都能从任何地方构建任何事物的地方。

立即开始构建

Image 4: 客户案例
Image 4: 客户案例

客户案例

了解使用 GitHub 构建产品的公司和工程团队。

了解更多

Image 5: GitHub Universe 2026
Image 5: GitHub Universe 2026

GitHub Universe 2026

10月28-29日,加入我们在旧金山或在线举办的 GitHub Universe,这是我们的旗舰开发者大会,汇聚全球开发者、代理和代码。

立即注册