GitHub Copilot kann Antworten bereitstellen, die auf Ihre persönlichen Vorlieben zugeschnitten sind, wie Ihr Team funktioniert, welche Tools Sie verwenden, oder die Besonderheiten Ihres Projekts, wenn Sie dies mit genügend Kontext versehen. Anstatt diese kontextbezogenen Details wiederholt zu Ihren Eingabeaufforderungen hinzuzufügen, können Sie benutzerdefinierte Anweisungen erstellen, die diese Informationen automatisch für Sie hinzufügen. Die zusätzlichen Informationen werden nicht angezeigt, stehen aber zur Verfügung, um Copilot es zu ermöglichen, antworten mit höherer Qualität zu generieren.
Typen von benutzerdefinierten Anweisungen
GitHub Copilot-CLI unterstützt Befehle aus den folgenden Speicherorten.
Sofern in der nachstehenden Tabelle nicht anders angegeben, findet Copilot CLI Repository- und Agent-Anweisungsdateien an den Standardorten: im Stammverzeichnis des Repositorys, im aktuellen Arbeitsverzeichnis, in allen dazwischenliegenden Verzeichnissen sowie in allen Verzeichnissen im Pfad einer Datei, an der es arbeitet. Modulare Anweisungsdateien (die *.instructions.md entsprechen) sind pfadspezifisch – eine Datei mit einem applyTo-Wert gilt nur für passende Dateien.
| Ort | Bereich und Verhalten |
|---|---|
$HOME/ | Benutzeranweisungen, die für alle Repositorys gelten. |
$HOME/ | Modulare Anleitungen auf Benutzerebene. |
.github/ | Repositoryweite Anweisungen, die an den Standardspeicherorten ermittelt wurden. |
.github/ | Modulare Repository-Anweisungen, die an den Standardspeicherorten, aber nicht in Zwischenverzeichnissen entdeckt werden. |
AGENTS.md | Agent-Anweisungen, gefunden an den Standardorten. Weitere Informationen finden Sie im Agentsmd/agents.md-Repository. |
CLAUDE.md | Agent-Anweisungen, die an den Standardorten gefunden wurden. |
Copilot CLI verwendet auch .claude/CLAUDE.md. | |
GEMINI.md | Agent-Anweisungen, die in den Standardpfaden gefunden wurden. |
In COPILOT_CUSTOM_ aufgeführte Verzeichnisse | Zusätzliche AGENTS.md und *.instructions.md Dateien. Trennen Sie mehrere Verzeichnisse durch Kommas. |
Wenn Sie die Umgebungsvariable COPILOT_HOME festlegen, verwendet Copilot CLI dieses Verzeichnis für beide Speicherorte für Anweisungen auf Benutzerebene anstelle von $HOME/.copilot.
Verwenden Sie den /instructions Befehl, um die für die aktuelle Sitzung ermittelten Anweisungsdateien anzuzeigen und einzelne Dateien zu aktivieren oder zu deaktivieren.
Interaktion mehrerer Anweisungsdateien
Wenn mehrere anwendbare Anweisungsdateien auf Benutzerebene und Repository-Ebene vorhanden sind, kombiniert Copilot CLI deren Anweisungen. Es entfernt doppelte Kopien identischer Anweisungen auf Benutzerebene, repositoryweiter Anweisungen und Agentanweisungen, definiert jedoch keine allgemeine Prioritätsreihenfolge zwischen diesen Dateien. Vermeiden Sie widersprüchliche Anweisungen.
Pfadspezifische Anweisungen sind nur enthalten, wenn ihr applyTo Wert einer Datei entspricht, Copilot CLI mit der gearbeitet wird. Eine Anweisungsdatei, die Sie mit /instructions deaktivieren, ist nicht enthalten.
Erstellen repositoryweiter benutzerdefinierter Anweisungen
-
Erstellen Sie im Stammverzeichnis Ihres Repositorys eine Datei mit dem Namen
.github/copilot-instructions.md.Erstellen Sie das Verzeichnis
.github, falls es noch nicht vorhanden ist. -
Füge der Datei Anweisungen in natürlicher Sprache im Markdownformat hinzu.
Leerzeichen zwischen Anweisungen werden ignoriert, d. h. die Anweisungen können in einem Absatz und jeweils in einer neuen Zeile oder für bessere Lesbarkeit durch leere Zeilen getrennt geschrieben werden.
Hilfe zum Schreiben effektiver benutzerdefinierter Anweisungen finden Sie unter Informationen zum Anpassen der GitHub Copilot-Antworten.
Verweisen auf andere Dateien
In .github/copilot-instructions.md, AGENTS.md oder CLAUDE.md verwenden Sie @, gefolgt von einem relativen Pfad, um eine weitere Datei einzubinden.
Copilot CLI liest die referenzierte Datei sofort und unterstützt Verweise in referenzierten Dateien.
Referenzierte Dateien müssen innerhalb des Repositorys oder innerhalb des benutzerdefinierten Anweisungenverzeichnisses verbleiben, um lokale Anweisungen zu erhalten. Absolute Pfade und Pfade, die beginnen, ~/ werden nicht geladen. Dateiverweise werden in GEMINI.md- oder *.instructions.md-Dateien nicht erweitert.
Erstellen pfadspezifischer benutzerdefinierter Anweisungen
-
Erstelle das
.github/instructions-Verzeichnis, wenn es noch nicht vorhanden ist. -
Erstellen Sie optional Unterverzeichnisse von
.github/instructionszur Organisation Ihrer Anleitungsdateien. -
Erstelle mindestens eine
NAME.instructions.md-Datei, in derNAMEden Zweck der Anweisungen angibt. Der Dateiname muss auf.instructions.mdenden. -
Erstelle am Anfang der Datei einen Frontmatterblock, der das Schlüsselwort
applyToenthält. Verwende die Globsyntax, um anzugeben, für welche Dateien oder Verzeichnisse die Anweisungen gelten.Zum Beispiel:
--- applyTo: "app/models/**/*.rb" ---Du kannst mehrere Muster angeben, indem du sie durch Kommas trennst. Wenn du beispielsweise die Anweisungen auf alle TypeScript-Dateien im Repository anwenden möchtest, kannst du den folgenden Frontmatterblock verwenden:
--- applyTo: "**/*.ts,**/*.tsx" ---Glob-Beispiele:
*- entspricht allen Dateien im aktuellen Verzeichnis.**oder**/*- entspricht allen Dateien in allen Verzeichnissen.*.py- entspricht allen.pyDateien im aktuellen Verzeichnis.**/*.py- stimmt rekursiv mit allen.pyDateien in allen Verzeichnissen überein.src/*.py– entspricht allen.pyDateien imsrcVerzeichnis. Beispiel:src/foo.pyundsrc/bar.py, aber nichtsrc/foo/bar.py.src/**/*.py– stimmt rekursiv mit allen.pyDateien imsrcVerzeichnis überein. Beispiel:src/foo.py,src/foo/bar.pyundsrc/foo/bar/baz.py.-
`**/subdir/**/*.py` - wird rekursiv eine Übereinstimmung für alle `.py`-Dateien in jedem beliebigen `subdir`-Verzeichnis unabhängig von dessen Tiefe finden. Beispiel: `subdir/foo.py`, `subdir/nested/bar.py`, `parent/subdir/baz.py` und `deep/parent/subdir/nested/qux.py`, aber _nicht_`foo.py` in einem Pfad, der kein `subdir` Verzeichnis enthält.
-
Fügen Sie optional das Schlüsselwort Copilot-Cloud-Agent dem Frontmatterblock hinzu, um zu verhindern, dass die Datei von Copilot Codeüberprüfung oder
excludeAgentverwendet wird. Verwenden Sie entweder"code-review"oder"cloud-agent".Beispielsweise wird die folgende Datei nur von Copilot-Cloud-Agent gelesen.
--- applyTo: "**" excludeAgent: "code-review" ---Wenn das
excludeAgent-Schlüsselwort nicht im Front-Matterblock enthalten ist, verwenden sowohl Copilot Codeüberprüfung als auch Copilot-Cloud-Agent die Anweisungen. -
Füge deine benutzerdefinierten Anweisungen in natürlicher Sprache im Markdownformat hinzu. Leerzeichen zwischen Anweisungen werden ignoriert, d. h. die Anweisungen können in einem Absatz und jeweils in einer neuen Zeile oder für bessere Lesbarkeit durch leere Zeilen getrennt geschrieben werden.
Benutzerdefinierte Anweisungen im Einsatz
Änderungen, die Sie an benutzerdefinierten Anweisungen vornehmen, stehen nicht sofort zur Verwendung in aktiven CLI-Sitzungen zur Verfügung. Um Ihre Änderungen anzuwenden, beenden Sie die aktuelle Sitzung und setzen Sie sie dann entweder fort (führen Sie z. B. copilot --continue aus), oder starten Sie eine neue Sitzung (verwenden Sie dazu z. B. /new innerhalb einer interaktiven Sitzung).