Support `@include` / `extends` in instruction files to reference external URLs or repos
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### Describe the feature or problem you'd like to solve
Instruction files are currently static and self-contained. There is no way to share common conventions across repos or teams without duplicating files — either manually copying them into every repo or requiring each contributor to set up `~/.copilot/instructions/` locally.
### Proposed solution
Introduce an `extends` or `@include` directive in instruction files (similar to Renovate's extends or ESLint's extends) that allows referencing external instruction files by URL or GitHub path:
```yaml
---
extends:
- "github:mu88/dotfiles/.copilot/instructions/dotnet.instructions.md"
- "https://raw.githubusercontent.com/org/shared/.github/instructions/security.instructions.md"
applyTo: "**/*.cs"
---
```
### Example prompts or workflows
1. A maintainer publishes shared .NET conventions in a dotfiles repo — every project references them with one line, zero duplication.
2. A new contributor clones a repo and immediately gets all team conventions — no local setup required.
3. An org updates shared security guidelines in one place; all repos pick up the change automatically.
### Additional context
`COPILOT_CUSTOM_INSTRUCTIONS_DIRS` already allows pointing to external directories, but requires manual per-machine setup. A declarative `extends` in the instruction file itself would be zero-config for contributors and composable by design.
Note: Organization-level instructions already exist for GitHub organizations. This request addresses the gap for personal account repositories and zero-config contributor onboarding.
Contributor guide
Assessment
This issue has not been assessed yet.