PactKit

概述

GitHub Copilot 集成自 PactKit v2.9.4 起通过 pactkit-copilot 适配器包提供。

Copilot 的工作方式与其他适配器不同。 Claude Code、OpenCode 和 Codex CLI 部署到用户级目录(~/.claude/~/.config/opencode/~/.codex/),一次部署所有项目共享。Copilot 部署到项目级 .github/ 目录 — 每个新项目都需要单独执行 pactkit init

为什么是项目级?

GitHub Copilot 从项目的 .github/ 目录加载配置,没有像 ~/.claude/ 那样的全局用户级配置目录。这意味着:

  • Skills、Agents 和 Prompts 必须在每个项目内部
  • Rules 不支持 @include — 必须内联到命令提示中
  • 每个项目是自包含的,可以纳入版本管理

部署模型对比

Claude CodeOpenCodeCodex CLICopilot
部署目标~/.claude/(用户级)~/.config/opencode/(用户级)~/.codex/(用户级).github/(项目级)
首次配置pactkit init 一次pactkit init 一次pactkit init 一次每个项目都需要 pactkit init
跨项目共享否 — 每个项目拥有自己的配置
规则加载@importinstructions + @reference内联到 Skills内联到 Prompts
Agent 模型多 Agent(9 个角色)多 Agent单 Agent多 Agent(独立文件)
Sprint 命令完整编排完整编排不可用不可用

安装

pip install pactkit pactkit-copilot

与其他适配器不同,pactkit-copilot独立包(不包含在核心包中),因为 Copilot 的项目级部署模型与其他 IDE 的用户级模型有根本性差异。

使用方式:两步引导

Copilot 项目需要两步初始化 — 先在终端,再在 IDE 中:

第一步:终端 — 部署基础设施

cd your-project
pactkit init --format copilot

这将创建 .github/ 目录结构:

路径内容
.github/skills/{name}/SKILL.md10 个 Skill(3 个脚本型 + 7 个纯提示型)
.github/agents/{name}.md9 个 Agent 定义(独立文件)
.github/prompts/{name}.prompt.md10 个斜杠命令(PDCA 入口)
.github/copilot-instructions.md项目级指令,含 PDCA 路由表
.github/copilot-instructions.local.md你的自定义覆盖(永不被覆盖)
.github/pactkit.yaml项目配置

第二步:IDE — 初始化 PDCA

在支持 Copilot 的 IDE 中打开项目,然后使用:

/project-init

这将创建治理结构(docs/specs/docs/product/sprint_board.md 等),与其他 IDE 一致。

不要跳过第一步。 与其他 IDE 不同(一次性 pactkit init/project-init 即可使用),Copilot 要求在每个新项目中先通过 pactkit init --format copilot 部署 .github/ 基础设施。

更新

cd your-project
pip install --upgrade pactkit pactkit-copilot
pactkit update

更新会重新生成 .github/ 中的所有托管文件,同时保留:

  • .github/copilot-instructions.local.md(你的自定义指令)
  • .github/pactkit.yaml(你的项目配置)

MCP 服务器配置

Copilot 通过 .vscode/mcp.json 支持 MCP 服务器。PactKit 推荐 5 个经过验证的服务器(Playwright、Chrome DevTools、Memory、Draw.io、Context7),用于浏览器测试、持久化记忆和文档查询。

查看 MCP 集成 — GitHub Copilot 配置 获取完整配置指南和已验证的 npm 包列表。

与其他 IDE 的关键差异

@include 规则加载

Copilot 不支持 @include@import 指令。PactKit 通过将规则直接内联到每个命令提示文件(.github/prompts/*.prompt.md)来解决。

两种策略可选(在 pactkit.yaml 中配置):

策略copilot-instructions.md命令提示Token 开销
minimal-core(默认)仅路由表每个命令完整内联规则每轮较低
full-inline合并所有核心规则每个命令附加规则基线较高
# pactkit.yaml
copilot_rules_strategy: minimal-core  # 或 full-inline

斜杠命令使用 .prompt.md

Copilot 使用 .github/prompts/ 中的 .prompt.md 文件作为斜杠命令。每个文件在 Copilot 聊天中变成一个 /command-name

.github/prompts/
  project-plan.prompt.md    → /project-plan
  project-act.prompt.md     → /project-act
  project-check.prompt.md   → /project-check
  project-done.prompt.md    → /project-done
  ...

通过独立文件实现多 Agent

与 Codex CLI(单一 AGENTS.md)不同,Copilot 通过 .github/agents/ 中的独立文件支持多 Agent:

.github/agents/
  senior-developer.md
  system-architect.md
  qa-engineer.md
  repo-maintainer.md
  ...

每个 Agent 文件包含 Copilot 兼容的 frontmatter(namedescriptiontools)。

品牌替换

所有 Claude/Anthropic 引用会自动替换:

原始替换为
Claude CodeGitHub Copilot
AnthropicGitHub
claude-sonnet-*capable-model
~/.claude/.github/

排除的命令

/project-sprint 被排除在 Copilot 部署之外 — 它需要 Copilot 目前不完全支持的多 Agent 编排能力。

版本管理

.github/ 目录应当提交到仓库并与团队共享:

git add .github/
git commit -m "feat: add PactKit Copilot configuration"

这意味着团队成员无需自己运行 pactkit init 即可获得完整的 PactKit 治理结构 — 他们只需在 IDE 中运行 /project-init

故障排查

命令未在 Copilot 中显示

确保 .github/prompts/ 目录存在且包含 .prompt.md 文件。运行 pactkit init --format copilot 重新生成。

"Unknown format: copilot" 错误

需要安装独立的适配器包:

pip install pactkit-copilot

规则未加载

Copilot 不支持 @include。检查 pactkit.yamlcopilot_rules_strategy 是否正确设置,以及命令提示文件是否包含内联规则部分。

目录