Skip to content

[Feature Request]: Support GitHub Copilot permissions via .vscode/settings.json #15

@flanny7

Description

@flanny7

Original issue: dyoshikawa#1547
Copied from upstream for tracking in this fork.

Hello, I always appreciate rulesync.

Problem

Rulesync currently supports permissions configuration for 5 tools (claudecode, codexcli, geminicli, kiro, opencode), but GitHub Copilot is not included.

While GitHub Copilot doesn't yet provide a standalone, environment-agnostic policy file (like .claude/settings.json), project-level permissions and auto-approvals for Copilot Chat are actively managed via VS Code's workspace settings (.vscode/settings.json).

Evidence

In src/features/permissions/permissions-processor.ts, the supported targets list does not include copilot.

Currently, users configure Copilot Chat permissions through .vscode/settings.json using keys such as:

  • chat.tools.terminal.autoApprove
  • chat.tools.global.autoApprove
  • chat.mcp.access

Proposed Solution

I propose adding support for GitHub Copilot by having rulesync specifically manage these Copilot-related keys within .vscode/settings.json. Instead of waiting for a universal configuration format from upstream, we can provide immediate value by supporting the current mainstream workflow for enterprise and team environments.

Considerations for Implementation

Before proceeding, I would like to highlight a few architectural and scoping considerations for discussion:

  • First-time modification of settings.json: Unlike standalone AI configuration files, .vscode/settings.json is a general workspace file containing many other user/project configurations. Rulesync will need robust JSON parsing and merging logic to ensure we safely update only the Copilot keys without overwriting existing settings.
  • Scope limitation (VS Code only): This implementation will strictly apply to GitHub Copilot Chat running inside VS Code. It will not cover the Copilot CLI or Copilot extensions in other IDEs (like JetBrains or Visual Studio).
  • Mainstream usage: Despite the editor lock-in, configuring Copilot via VS Code workspace settings is currently the de facto standard for development teams. Implementing this will satisfy the vast majority of real-world use cases while we wait for a broader CLI solution.

Your consideration and feedback on this approach would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions