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.
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 includecopilot.Currently, users configure Copilot Chat permissions through
.vscode/settings.jsonusing keys such as:chat.tools.terminal.autoApprovechat.tools.global.autoApprovechat.mcp.accessProposed 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:
settings.json: Unlike standalone AI configuration files,.vscode/settings.jsonis 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.Your consideration and feedback on this approach would be appreciated.