# 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 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/.copilot/copilot-instructions.md`                        | Benutzeranweisungen, die für alle Repositorys gelten.                                                                                                                             |
| `$HOME/.copilot/instructions/**/*.instructions.md`              | Modulare Anleitungen auf Benutzerebene.                                                                                                                                           |
| `.github/copilot-instructions.md`                               | Repository-weite Anweisungen, die an den Standardspeicherorten ermittelt wurden.                                                                                                  |
| `.github/instructions/**/*.instructions.md`                     | Modulare Repository-Anweisungen, die an den Standardspeicherorten, aber nicht in Zwischenverzeichnissen entdeckt werden.                                                          |
| `AGENTS.md`                                                     | Agentenanweisungen, die an den Standardspeicherorten entdeckt wurden. Weitere Informationen finden Sie im [Agentsmd/agents.md-Repository](https://github.com/agentsmd/agents.md). |
| `CLAUDE.md`                                                     | Agentenanweisungen, die an den Standardspeicherorten entdeckt wurden.                                                                                                             |
| Copilot CLI verwendet auch `.claude/CLAUDE.md`.                 |                                                                                                                                                                                   |
| `GEMINI.md`                                                     | Agentenanweisungen, die an den Standardspeicherorten entdeckt wurden.                                                                                                             |
| In `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` 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 `copilot-instructions.md` auf Benutzerebene, Repository-weite Anweisungen und Agentenanweisungen, 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

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](/de/copilot/concepts/prompting/response-customization#writing-effective-custom-instructions).

### 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

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:

   ```markdown
   ---
   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:

   ```markdown
   ---
   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 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.
     ```

5. Fügen Sie optional das Schlüsselwort Copilot cloud agent dem Frontmatterblock hinzu, um zu verhindern, dass die Datei von Copilot code review oder `excludeAgent` verwendet wird. Verwenden Sie entweder `"code-review"` oder `"cloud-agent"`.

   Beispielsweise wird die folgende Datei nur von Copilot cloud agent gelesen.

   ```markdown
   ---
   applyTo: "**"
   excludeAgent: "code-review"
   ---
   ```

   Wenn das `excludeAgent`-Schlüsselwort nicht im Front-Matterblock enthalten ist, verwenden sowohl Copilot code review als auch Copilot cloud agent 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.

## 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).

## Weiterführende Lektüre

* [Unterstützung für verschiedene Arten von benutzerdefinierten Anweisungen](/de/copilot/reference/custom-instructions-support)
* [Benutzerdefinierte Anweisungen](/de/copilot/tutorials/customization-library/custom-instructions) – eine kuratierte Sammlung von Beispielen
* [Verwenden von benutzerdefinierten Anweisungen zum Entsperren der Leistungsfähigkeit der Copilot-Codeüberprüfung](/de/copilot/tutorials/customize-code-review)