Skip to main content

Hinzufügen von benutzerdefinierten Anweisungen für GitHub Copilot CLI

Geben Sie Copilot zusätzlichen Kontext, um Ihr Projekt besser zu verstehen und um Änderungen zu erstellen, zu testen und zu validieren.

          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 die folgenden Arten von benutzerdefinierten Anweisungen.

Repositoryweite benutzerdefinierte Anweisungen

Diese gelten für alle Anforderungen, die im Kontext eines Repositorys vorgenommen wurden.

Diese werden in einer copilot-instructions.md-Datei im Verzeichnis .github im Stammverzeichnis des Repositorys angegeben. Weitere Informationen findest du unter Erstellen repositoryweiter benutzerdefinierter Anweisungen.

Pfadspezifische benutzerdefinierte Anweisungen

Diese gelten für Anforderungen im Kontext von Dateien, die einem angegebenen Pfad entsprechen.

Diese werden in einer oder mehreren NAME.instructions.md Dateien innerhalb oder unterhalb des Verzeichnisses .github/instructions im Stammverzeichnis des Repositorys oder innerhalb oder unterhalb eines .github/instructions Verzeichnisses im aktuellen Arbeitsverzeichnis angegeben. Weitere Informationen findest du unter Erstellen pfadspezifischer benutzerdefinierter Anweisungen.

Wenn der in diesen Anweisungen angegebene Pfad mit einer Datei übereinstimmt, Copilot an der gearbeitet wird, und auch eine repositoryweite benutzerdefinierte Anweisungsdatei vorhanden ist, werden die Anweisungen aus beiden Dateien verwendet. Sie sollten potenzielle Konflikte zwischen Anweisungen vermeiden, da Copilotdie Wahl zwischen widersprüchlichen Anweisungen nicht deterministisch ist.

Agent-Anweisungen

Diese werden von verschiedenen KI-Agents verwendet.

Sie können eine oder mehrere AGENTS.md Dateien erstellen. Diese können sich im Stammverzeichnis des Repositorys, im aktuellen Arbeitsverzeichnis oder in einem der Verzeichnisse befinden, die durch eine durch Kommas getrennte Liste der Pfade in der COPILOT_CUSTOM_INSTRUCTIONS_DIRS Umgebungsvariable angegeben werden.

Anweisungen in der AGENTS.md Datei im Stammverzeichnis, falls gefunden, werden als primäre Anweisungen behandelt. Wenn eine AGENTS.md-Datei und eine .github/copilot-instructions.mdDatei beide im Stammverzeichnis des Repositorys gefunden werden, werden die Anweisungen in beiden Dateien verwendet.

Anweisungen in anderen AGENTS.md Dateien werden als zusätzliche Anweisungen behandelt. Es ist wahrscheinlich, dass Anweisungen, die als primär identifiziert wurden, einen größeren Einfluss auf die Antworten von Copilot haben als zusätzliche Anweisungen.

Weitere Informationen finden Sie im Agentsmd/agents.md-Repository.

Alternativ können Sie CLAUDE.md- und GEMINI.md-Dateien verwenden. Diese müssen sich im Stammverzeichnis des Repositorys befinden.

Lokale Anweisungen

Diese gelten in einer bestimmten lokalen Umgebung.

Sie können Anweisungen in Ihrem eigenen Heimverzeichnis geben, indem Sie eine Datei unter $HOME/.copilot/copilot-instructions.md erstellen.

Sie können die Umgebungsvariable COPILOT_CUSTOM_INSTRUCTIONS_DIRS auch auf eine durch Trennzeichen getrennte Liste von Verzeichnissen festlegen. Copilot CLI sucht in jedem dieser Verzeichnisse nach einer AGENTS.md Datei und allen .github/instructions/**/*.instructions.md Dateien.

Erstellen repositoryweiter benutzerdefinierter Anweisungen

  1. 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.

  2. 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.

Erstellen pfadspezifischer benutzerdefinierter Anweisungen

  1. Erstelle das .github/instructions-Verzeichnis, wenn es noch nicht vorhanden ist.

  2. Erstellen Sie optional Unterverzeichnisse von .github/instructions zur Organisation Ihrer Anleitungsdateien.

  3. Erstelle mindestens eine NAME.instructions.md-Datei, in der NAME den Zweck der Anweisungen angibt. Der Dateiname muss auf .instructions.md enden.

  4. Erstelle am Anfang der Datei einen Frontmatterblock, der das Schlüsselwort applyTo enthä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 `.py` Dateien im aktuellen Verzeichnis.
      
    •      `**/*.py` - stimmt rekursiv mit allen `.py` Dateien in allen Verzeichnissen überein.
      
    •      `src/*.py` – entspricht allen `.py` Dateien im `src` Verzeichnis. Beispiel: `src/foo.py` und `src/bar.py`, aber _nicht_`src/foo/bar.py`.
      
    •      `src/**/*.py` – stimmt rekursiv mit allen `.py` Dateien im `src` Verzeichnis überein. Beispiel: `src/foo.py`, `src/foo/bar.py`und `src/foo/bar/baz.py`.
      
    •      `**/subdir/**/*.py` - wird rekursiv alle `.py`-Dateien in jedem beliebigen `subdir`-Verzeichnis unabhängig von der 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.
      
  5. Fügen Sie optional das Schlüsselwort Copilot Cloudagent dem Frontmatterblock hinzu, um zu verhindern, dass die Datei von Copilot-Codeüberprüfung oder excludeAgent verwendet wird. Verwenden Sie entweder "code-review" oder "cloud-agent".

    Beispielsweise wird die folgende Datei nur von Copilot Cloudagent 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 Cloudagent die Anweisungen.

  6. 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.

Hast du deinem Repository erfolgreich eine benutzerdefinierte Anweisungendatei hinzugefügt?

          <a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
          <span>Ja</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>Nein</span></a>

Benutzerdefinierte Anweisungen im Einsatz

Die Anweisungen in den Dateien stehen zur Verwendung zur Verfügung, sobald Copilot Sie die Datei(en) speichern. Anweisungen werden automatisch zu Anfragen hinzugefügt, die Sie an Copilot übermitteln.

Wenn Sie während einer CLI-Sitzung Änderungen an Ihren benutzerdefinierten Anweisungen vornehmen, stehen Ihre Änderungen bei Copilot der nächsten Übermittlung einer Eingabeaufforderung in den aktuellen oder zukünftigen Sitzungen zur Verfügung.

Weiterführende Lektüre

  •         [AUTOTITLE](/copilot/reference/custom-instructions-support)
    
  •         [AUTOTITLE](/copilot/tutorials/customization-library/custom-instructions) – eine kuratierte Sammlung von Beispielen
    
  •         [AUTOTITLE](/copilot/tutorials/use-custom-instructions)