# GitHub Copilot CLI-Plug-In-Referenz

Hier finden Sie Befehle und Konfigurationsdetails für CLI-Plug-Ins.

> \[!NOTE]
> Hilfe zur Verwendung von Plugins finden Sie, indem Sie `copilot plugin [SUBCOMMAND] --help` im Terminal eingeben.

## CLI-Befehle

Sie können die folgenden Befehle im Terminal verwenden, um Plug-Ins für Copilot CLI zu verwalten.

| Befehl                                         | Beschreibung                                                                                                                       |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `copilot plugin install SPECIFICATION`         | Installieren Sie ein Plug-In. Siehe [Plug-In-Spezifikation für `install` befehl](#plugin-specification-for-install-command) unten. |
| `copilot plugin uninstall NAME`                | Entfernen eines Plug-Ins                                                                                                           |
| `copilot plugin list`                          | Auflisten installierter Plugins                                                                                                    |
| `copilot plugin update NAME`                   | Aktualisieren eines Plug-Ins                                                                                                       |
| `copilot plugin marketplace add SPECIFICATION` | Registrieren eines Marketplace                                                                                                     |
| `copilot plugin marketplace list`              | Auflisten registrierter Marktplätze                                                                                                |
| `copilot plugin marketplace browse NAME`       | Durchsuchen von Marketplace-Plug-Ins                                                                                               |
| `copilot plugin marketplace remove NAME`       | Aufheben der Registrierung eines Marketplace                                                                                       |

### Plug-In-Spezifikation für `install` Befehl

| Format         | Beispiel                     | Beschreibung                                |
| -------------- | ---------------------------- | ------------------------------------------- |
| Marktplatz     | `plugin@marketplace`         | Plug-In von einem registrierten Marketplace |
| GitHub         | `OWNER/REPO`                 | Stamm eines GitHub Repositorys              |
| GitHub  Subdir | `OWNER/REPO:PATH/TO/PLUGIN`  | Unterverzeichnis in einem Repository        |
| Git-URL        | `https://github.com/o/r.git` | Beliebige Git-URL                           |
| Lokaler Pfad   |                              |                                             |

```
          `./my-plugin` oder `/abs/path`    | Lokales Verzeichnis |
```

## `plugin.json`

Alle Plug-Ins bestehen aus einem Plug-In-Verzeichnis, das mindestens eine Manifestdatei mit dem Namen `plugin.json` enthält, die sich im Stammverzeichnis des Plug-In-Verzeichnisses befindet. Siehe [Erstellen eines Plug-Ins für GitHub Copilot-CLI](/de/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating).

### Pflichtfeld

| Feld   | Typ    | Beschreibung                                                                                    |
| ------ | ------ | ----------------------------------------------------------------------------------------------- |
| `name` | Schnur | Name des Kebab-Case-Plugins (nur Buchstaben, Zahlen und Bindestriche erlaubt). Max. 64 Zeichen. |

### Optionale Metadatenfelder

| Feld          | Typ    | Beschreibung                           |
| ------------- | ------ | -------------------------------------- |
| `description` | Schnur | Kurze Beschreibung. Max. 1024 Zeichen. |
| `version`     | Schnur | Semantische Version (z. B. `1.0.0`).   |
| `author`      | Objekt |                                        |

```
          `name` (erforderlich), `email` (optional), `url` (optional). |
```

\| `homepage`   | Schnur    | Url der Plug-In-Homepage. |
\| `repository` | Schnur    | Quell-Repository-URL. |
\| `license`    | Schnur    | Lizenz-ID (z. B. `MIT`). |
\| `keywords`   | string\[]  | Suchstichwörter. |
\| `category`   | Schnur    | Plug-In-Kategorie. |
\| `tags`       | string\[]  | Zusätzliche Tags. |

### Komponentenpfadfelder

Diese teilen der CLI mit, wo sie die Komponenten Ihres Plug-Ins finden. Alle sind optional. Die CLI verwendet Standardkonventionen, wenn sie weggelassen werden.

| Feld         | Typ                             | Vorgabe   | Beschreibung                                                                             |
| ------------ | ------------------------------- | --------- | ---------------------------------------------------------------------------------------- |
| `agents`     | Zeichenkette \| Zeichenkette\[] | `agents/` | Pfade zu Agentenverzeichnissen (`.agent.md`-Dateien).                                    |
| `skills`     | Zeichenkette \| Zeichenkette\[] | `skills/` | Pfad(n) zu Qualifikationsverzeichnissen (`SKILL.md` Dateien).                            |
| `commands`   | Zeichenkette \| Zeichenkette\[] | —         | Pfade zu Befehlsverzeichnissen.                                                          |
| `hooks`      | string-Objekt \|                | —         | Pfad zu einer Hooks-Konfigurationsdatei oder einem Inline-Hooks-Objekt.                  |
| `mcpServers` | string-Objekt \|                | —         | Pfad zu einer MCP-Konfigurationsdatei (z. B. `.mcp.json`) oder Inlineserverdefinitionen. |
| `lspServers` | string-Objekt \|                | —         | Pfad zu einer LSP-Konfigurationsdatei oder Inlineserverdefinitionen.                     |

### Beispieldatei für `plugin.json`

```json copy
{
  "name": "my-dev-tools",
  "description": "React development utilities",
  "version": "1.2.0",
  "author": {
    "name": "Jane Doe",
    "email": "jane@example.com"
  },
  "license": "MIT",
  "keywords": ["react", "frontend"],
  "agents": "agents/",
  "skills": ["skills/", "extra-skills/"],
  "hooks": "hooks.json",
  "mcpServers": ".mcp.json"
}
```

## `marketplace.json`

Sie können einen Plug-In-Marketplace erstellen , mit dem Benutzer Ihre Plug-Ins entdecken und installieren können, indem Sie eine `marketplace.json` Datei erstellen und im `.github/plugin/` Verzeichnis des Repositorys speichern. Sie können die `marketplace.json` Datei auch in Ihrem lokalen Dateisystem speichern. Speichern Sie die Datei beispielsweise als `/PATH/TO/my-marketplace/.github/plugin/marketplace.json`, um sie mit dem folgenden Befehl zur CLI hinzuzufügen:

```shell
copilot plugin marketplace add /PATH/TO/my-marketplace
```

> \[!NOTE]
> Copilot CLI sucht auch nach der `marketplace.json` Datei im `.claude-plugin/` Verzeichnis.

Weitere Informationen findest du unter [Erstellen eines Plugin-Marketplace für GitHub Copilot-CLI](/de/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace).

### Beispieldatei für `marketplace.json`

```json copy
{
  "name": "my-marketplace",
  "owner": {
    "name": "Your Organization",
    "email": "plugins@example.com"
  },
  "metadata": {
    "description": "Curated plugins for our team",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "frontend-design",
      "description": "Create a professional-looking GUI ...",
      "version": "2.1.0",
      "source": "./plugins/frontend-design"
    },
    {
      "name": "security-checks",
      "description": "Check for potential security vulnerabilities ...",
      "version": "1.3.0",
      "source": "./plugins/security-checks"
    }
  ]
}
```

> \[!NOTE]
> Der Wert des `source` Felds für jedes Plug-In ist der Pfad zum Verzeichnis des Plug-Ins relativ zum Stamm des Repositorys. Es ist nicht erforderlich, am Anfang des Pfads zu verwenden `./` . Beispiel: `"./plugins/plugin-name"` und `"plugins/plugin-name"` führen zum selben Verzeichnis.

###

```
          `marketplace.json` Felder
```

#### Felder auf oberster Ebene

| Feld    | Typ    | Erforderlich | Beschreibung                                      |
| ------- | ------ | ------------ | ------------------------------------------------- |
| `name`  | Schnur | Ja           | Name des Kebab-case Marketplace. Max. 64 Zeichen. |
| `owner` | Objekt | Ja           |                                                   |

```
          `{ name, email? }` — Marketplace-Besitzerinformationen. |
```

\| `plugins`  | Array    | Ja      | Liste der Plug-In-Einträge (siehe tabelle unten). |
\| `metadata` | Objekt   | No       | `{ description?, version?, pluginRoot? }` |

#### Plug-In-Eintragsfelder (Objekte innerhalb des `plugins` Arrays)

| Feld          | Typ                             | Erforderlich | Beschreibung                                                                                                                                                                                                                                                   |
| ------------- | ------------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | Schnur                          | Ja           | Name des Kebab-Case-Plugins. Max. 64 Zeichen.                                                                                                                                                                                                                  |
| `source`      | string-Objekt \|                | Ja           | Wo das Plug-In abgerufen werden soll (relativer Pfad, GitHuboder URL).                                                                                                                                                                                         |
| `description` | Schnur                          | No           | Plug-In-Beschreibung. Max. 1024 Zeichen.                                                                                                                                                                                                                       |
| `version`     | Schnur                          | No           | Plugin-Version.                                                                                                                                                                                                                                                |
| `author`      | Objekt                          | No           | `{ name, email?, url? }`                                                                                                                                                                                                                                       |
| `homepage`    | Schnur                          | No           | Url der Plug-In-Homepage.                                                                                                                                                                                                                                      |
| `repository`  | Schnur                          | No           | Quell-Repository-URL.                                                                                                                                                                                                                                          |
| `license`     | Schnur                          | No           | Lizenzbezeichner.                                                                                                                                                                                                                                              |
| `keywords`    | string\[]                       | No           | Suchstichwörter.                                                                                                                                                                                                                                               |
| `category`    | Schnur                          | No           | Plug-In-Kategorie.                                                                                                                                                                                                                                             |
| `tags`        | string\[]                       | No           | Zusätzliche Tags.                                                                                                                                                                                                                                              |
| `commands`    | Zeichenkette \| Zeichenkette\[] | No           | Pfade zu Befehlsverzeichnissen.                                                                                                                                                                                                                                |
| `agents`      | Zeichenkette \| Zeichenkette\[] | No           | Pfade zu Agentverzeichnissen.                                                                                                                                                                                                                                  |
| `skills`      | Zeichenkette \| Zeichenkette\[] | No           | Pfade zu Qualifikationsverzeichnissen.                                                                                                                                                                                                                         |
| `hooks`       | string-Objekt \|                | No           | Pfad zur Hooks-Konfiguration oder zu einem Inline-Hooks-Objekt.                                                                                                                                                                                                |
| `mcpServers`  | string-Objekt \|                | No           | Pfad zu MCP-Konfigurations- oder Inlineserverdefinitionen.                                                                                                                                                                                                     |
| `lspServers`  | string-Objekt \|                | No           | Pfad zu LSP-Konfigurations- oder Inlineserverdefinitionen.                                                                                                                                                                                                     |
| `strict`      | boolean                         | No           | Wenn `true` (standard) müssen Plug-Ins den vollständigen Schema- und Validierungsregeln entsprechen. Wenn `false`eine entspannte Validierung verwendet wird, ermöglicht dies mehr Flexibilität – insbesondere für direkte Installationen oder Legacy-Plug-Ins. |

## Dateispeicherorte

| Element               | Pfad |
| --------------------- | ---- |
| Installierte Plug-Ins |      |

```
          `~/.copilot/installed-plugins/MARKETPLACE/PLUGIN-NAME` (über einen Marketplace installiert) und `~/.copilot/installed-plugins/_direct/SOURCE-ID/` (direkt installiert) |
```

\| Marketplacecache    | Plattformcacheverzeichnis: `~/.cache/copilot/marketplaces/` (Linux), `~/Library/Caches/copilot/marketplaces/` (macOS). Überschreibbar mit `COPILOT_CACHE_HOME`. |
\| Plugin-Manifest      |
`.plugin/plugin.json`, `plugin.json`, `.github/plugin/plugin.json`oder `.claude-plugin/plugin.json` (in dieser Reihenfolge eingecheckt) |
\| Marketplace-Manifest |
`marketplace.json`, `.plugin/marketplace.json`, `.github/plugin/marketplace.json`oder `.claude-plugin/marketplace.json` (in dieser Reihenfolge eingecheckt) |
\| Agenten               |
`agents/` (Standard, im Manifest außer Kraft gesetzt) |
\| Fähigkeiten               |
`skills/` (Standard, im Manifest außer Kraft gesetzt) |
\| Hooks-Konfiguration  |
`hooks.json` oder `hooks/hooks.json` |
\| MCP-Konfiguration    |
`.mcp.json`, `.github/mcp.json` |
\| LSP-Konfiguration    |
`lsp.json` oder `.github/lsp.json` |

## Ladereihenfolge und Priorität

Wenn Sie mehrere Plug-Ins installieren, ist es möglich, dass einige benutzerdefinierte Agents, Fähigkeiten, MCP-Server oder Tools, die über MCP-Server bereitgestellt werden, doppelte Namen haben. In diesem Fall bestimmt die CLI, welche Komponente basierend auf einer Rangfolge verwendet werden soll.

* **Agenten und Skills** nutzen das Prinzip 'Wer zuerst kommt, mahlt zuerst'.

  Wenn Sie über einen benutzerdefinierten Agent auf Projektebene oder eine Fähigkeit mit demselben Namen oder derselben ID wie eines in einem Plug-In verfügen, das Sie installieren, wird der Agent oder die Fähigkeit im Plug-In im Hintergrund ignoriert. Das Plug-In kann keine Konfigurationen auf Projektebene oder persönliche Konfigurationen außer Kraft setzen. Benutzerdefinierte Agents werden mit ihrer ID dedupliziert, die von ihrem Dateinamen abgeleitet wird (z. B. wenn die Datei benannt `reviewer.agent.md`ist, die Agent-ID ist `reviewer`). Fähigkeiten werden durch ihr Namensfeld innerhalb der `SKILL.md`-Datei dedupliziert.

* **MCP-Server** verwenden das Last-Wins-Prinzip.

  Wenn Sie ein Plug-In installieren, das einen MCP-Server mit demselben Servernamen wie einen bereits installierten MCP-Server definiert, hat die Definition des Plug-Ins Vorrang. Sie können die `--additional-mcp-config` Befehlszeilenoption verwenden, um eine MCP-Serverkonfiguration mit demselben Namen außer Kraft zu setzen, die mit einem Plug-In installiert wird.

* **Integrierte Tools und Agents** sind immer vorhanden und können nicht von benutzerdefinierten Komponenten außer Kraft gesetzt werden.

Das folgende Diagramm veranschaulicht die Ladereihenfolge und Rangfolgeregeln.

```text
┌──────────────────────────────────────────────────────────────────┐
│  BUILT-IN - HARDCODED, ALWAYS PRESENT                            │
│  • tools: bash, view, apply_patch, glob, rg, task, ...           │
│  • agents: explore, task, code-review, general-purpose, research │
└────────────────────────┬─────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  CUSTOM AGENTS - FIRST LOADED IS USED (dedup by ID)                 │
  │  1. ~/.copilot/agents/           (user, .github convention)         │
  │  2. <project>/.github/agents/    (project)                          │
  │  3. <parents>/.github/agents/    (inherited, monorepo)              │
  │  4. ~/.claude/agents/            (user, .claude convention)         │
  │  5. <project>/.claude/agents/    (project)                          │
  │  6. <parents>/.claude/agents/    (inherited, monorepo)              │
  │  7. PLUGIN: agents/ dirs         (plugin, by install order)         │
  │  8. Remote org/enterprise agents (remote, via API)                  │
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  AGENT SKILLS - FIRST LOADED IS USED (dedup by name)                │
  │  1. <project>/.github/skills/        (project)                      │
  │  2. <project>/.agents/skills/        (project)                      │
  │  3. <project>/.claude/skills/        (project)                      │
  │  4. <parents>/.github/skills/ etc.   (inherited)                    │
  │  5. ~/.copilot/skills/               (personal-copilot)             │
  │  6. ~/.agents/skills/                (personal-agents)              │
  │  7. ~/.claude/skills/                (personal-claude)              │
  │  8. PLUGIN: skills/ dirs             (plugin)                       │
  │  9. COPILOT_SKILLS_DIRS env + config (custom)                       │
  │  --- then commands (.claude/commands/), skills override commands ---│
  └──────────────────────┬──────────────────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────────────────┐
  │  MCP SERVERS - LAST LOADED IS USED (dedup by server name)           │
  │  1. ~/.copilot/mcp-config.json       (lowest priority)              │
  │  2. PLUGIN: MCP configs              (plugins)                      │
  │  3. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘
```

## Weiterführende Lektüre

* [GitHub Copilot-CLI](/de/copilot/how-tos/copilot-cli)
* [GitHub Copilot CLI-Befehlsreferenz](/de/copilot/reference/copilot-cli-reference/cli-command-reference)
* [Programmgesteuerte Referenz für die GitHub Copilot-CLI](/de/copilot/reference/copilot-cli-reference/cli-programmatic-reference)