Support `@include` / `extends` in instruction files to reference external URLs or repos
- Langage dominant
- Shell
- Étoiles
- 11.2k
- Forks
- 1.9k
- Merge moyen
- 14 h 16 min
- PR mergées (30 j)
- 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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par examiner la gestion existante des fichiers d’instructions et le comportement de COPILOT_CUSTOM_INSTRUCTIONS_DIRS mentionné dans l’issue. Définissez comment les chemins GitHub et les URL répertoriés sont résolus, et vérifiez que les instructions référencées sont appliquées conjointement avec les fichiers locaux, y compris les exemples de YAML front matter présentés ici.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- github, markdown, yaml
- Domaine
- developer-experience, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100