Skip to content

GitHub Copilot

GitHub Copilot supports directives, skills, agents, MCP servers, and most lifecycle hooks. It does not support file-based permissions, file-based settings, or ignore patterns.

dotai SourceGenerated File
Directives (alwaysApply: true).github/copilot-instructions.md
Directives (scoped).github/instructions/*.instructions.md
Skills.github/skills/<name>/SKILL.md
Agents.github/agents/*.agent.md
Servers.vscode/mcp.json
Hooks.github/hooks/dotai.hooks.json
PermissionsNot generated (warning)
Ignore patternsNot generated (warning)
SettingsNot generated (warning)

Always-apply directives (alwaysApply: true) are concatenated into .github/copilot-instructions.md. Scoped directives are emitted as individual files under .github/instructions/ with an applyTo frontmatter field set to comma-separated glob patterns from the directive’s globs array.

Agents are emitted as markdown files with YAML frontmatter using the .agent.md extension under .github/agents/. Tool names are mapped from dotai’s internal names to Copilot’s expected values:

dotai toolCopilot tool
Readread
Write, Editedit
Bash, Shellexecute
Searchsearch
WebSearch, WebFetchweb

Model override is not supported for Copilot agents.

MCP servers are written to .vscode/mcp.json. An explicit type field is required on all entries, including stdio servers. Note that this file configures VS Code Copilot Chat. For the Copilot coding agent, MCP servers must be configured in your GitHub repository settings.

Copilot supports 8 of the 10 dotai lifecycle events. The preFileEdit and postFileEdit events are not generated.

  • No file-based permissions support.
  • No file-based settings support.
  • No ignore patterns support.
  • Agent model override is not supported.
  • The preFileEdit and postFileEdit hook events are not generated.
  • Project scope only.