github / github/copilot-cli

Support `@include` / `extends` in instruction files to reference external URLs or repos

Ouverte
#2,537 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area:configuration
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.