docs/COPILOT_CLI_INTEGRATION.md
This document explains design decisions for GitHub Copilot CLI integration in beads.
For VS Code + MCP, see COPILOT_INTEGRATION.md.
Recommended: Copilot CLI plugin + repository instructions - Beads uses Copilot CLI's native plugin manifest plus repository instructions:
.copilot-plugin/plugin.json registers bd prime hooks natively.github/copilot-instructions.md provides repository-specific workflow guidance--json flags remain the primary operational interfaceAlternative: VS Code MCP - For Copilot Chat in the editor:
The plugin manifest already models the behavior we want:
Hooks belong in the tool's native format
SessionStart and PreCompact can be declared as data instead of custom Go logicInstructions stay explicit and reviewable
.github/copilot-instructions.mdLower maintenance burden
Context efficiency still matters, even with large context windows:
The math:
bd prime adds ~1-2k tokens of workflow context# Install the Copilot CLI plugin manifest + repository instructions
bd setup copilot
# Check installation status
bd setup copilot --check
# Remove the integration
bd setup copilot --remove
What it installs:
.copilot-plugin/plugin.json
SessionStart hook: Runs bd prime when Copilot CLI starts a sessionPreCompact hook: Runs bd prime before context compaction.github/copilot-instructions.md
plugins/beads/.copilot-plugin/plugin.json - Source plugin manifest for the shared plugin packageplugins/beads/copilot_manifest.go - Embedded manifest source used by bd setup copilotinternal/recipes/recipes.go - Lightweight copilot recipe definitioninternal/recipes/template.go - Static Copilot instructions template used by bd setupdocs/COPILOT_INTEGRATION.md - VS Code MCP integration