Skip to content

Support GitHub Copilot CLI and Desktop #167

Description

@mishamilovidov

Problem

DotAgents manages user and project configuration for Claude Code and Codex. It does not manage GitHub Copilot CLI or Desktop.

Copilot uses ~/.copilot/mcp-config.json for user MCP configuration. Projects use .mcp.json, with .github/mcp.json as an existing alternative. Without a Copilot target, users must maintain this configuration separately.

DotAgents can also install portable plugin bundles and generate native marketplaces for supported clients. Copilot is not a plugin-output target, so plugin-contained skills require an unrelated Pi target or a separate native installation.

Proposed behavior

  • Add a copilot target for user and project scopes.
  • Use COPILOT_HOME/mcp-config.json, with ~/.copilot/mcp-config.json as the user fallback.
  • Create .mcp.json for projects, but reuse .github/mcp.json when it already exists.
  • Preserve unmanaged entries under mcpServers during updates.
  • Support stdio and HTTP servers, including environment references.
  • Discover native skills under user and project .agents/skills directories.
  • Add Copilot as a plugin-output target.
  • Generate a native Copilot marketplace at .github/plugin/marketplace.json for selected plugins.
  • Make plugin-contained skills available to Copilot without requiring the Pi target.
  • Preserve authored Copilot plugin interfaces when a portable bundle includes one.

Acceptance criteria

  • Do not rewrite an unchanged MCP file.
  • Repair unsafe permissions on the user MCP file without changing its content.
  • Create the user MCP file with mode 0600 on POSIX systems.
  • Preserve unmanaged MCP entries during install and update operations.
  • Generate and prune Copilot plugin marketplace output with the same ownership rules as other managed marketplaces.
  • Validate the generated marketplace and plugin bundles with GitHub Copilot CLI.
  • Support plugin-contained skills for Copilot when copilot is selected and pi is not selected.
  • Add focused tests and user documentation for both scopes.

Implementation

An implementation is available in #166.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions