Skip to main content

GitHub Copilot CLI-Plug-In-Referenz

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

Hinweis

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.

CommandDescription
copilot plugin install SPECIFICATIONInstallieren Sie ein Plug-In. Siehe Plug-In-Spezifikation für befehl unten.
copilot plugin uninstall NAMEEntfernen eines Plug-Ins
copilot plugin listAuflisten installierter Plugins
copilot plugin update NAMEAktualisieren eines Plug-Ins
copilot plugin update --allAktualisieren aller installierten Plug-Ins
copilot plugin disable NAMEVorübergehendes Deaktivieren eines Plug-Ins ohne Deinstallation
copilot plugin enable NAMEErneutes Aktivieren eines deaktivierten Plug-Ins
copilot plugin marketplace add SPECIFICATIONRegistrieren eines Marketplace
copilot plugin marketplace listAuflisten registrierter Marktplätze
copilot plugin marketplace browse NAMEDurchsuchen von Marketplace-Plug-Ins
copilot plugin marketplace remove NAMEAufheben der Registrierung eines Marketplace

Plug-In-Spezifikation für Befehl

FormatExampleDescription
Marketplaceplugin@marketplacePlug-In von einem registrierten Marketplace
GitHubOWNER/REPOStamm eines GitHub Repositorys
GitHub UnterverzeichnisOWNER/REPO:PATH/TO/PLUGINUnterverzeichnis in einem Repository
Git-URLhttps://github.com/o/r.gitBeliebige Git-URL
Lokaler PfadoderLokales Verzeichnis

plugin.json

Alle Plug-Ins bestehen aus einem Plug-In-Verzeichnis, das mindestens eine Manifestdatei mit dem Namen enthält, die sich im Stammverzeichnis des Plug-In-Verzeichnisses befindet. Weitere Informationen findest du unter AUTOTITLE.

Pflichtfeld

FeldTypDescription
nameSchnurName des Kebab-Case-Plugins (nur Buchstaben, Zahlen und Bindestriche erlaubt). Max. 64 Zeichen.

Optionale Metadatenfelder

FeldTypDescription
descriptionSchnurKurze Beschreibung. Max. 1024 Zeichen.
versionSchnurSemantische Version (z. B. ).
authorObjekt(erforderlich), (optional), (optional).
homepageSchnurUrl der Plug-In-Homepage.
repositorySchnurQuell-Repository-URL.
licenseSchnurLizenz-ID (z. B. ).
keywordsstring[]Suchstichwörter.
categorySchnurPlug-In-Kategorie.
tagsstring[]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.

FeldTypStandardDescription
agentsstring string[]agents/Pfade zu Agentenverzeichnissen (-Dateien).
skillsstring string[]skills/Pfad(n) zu Qualifikationsverzeichnissen ( Dateien).
commandsstring string[]Pfade zu Befehlsverzeichnissen.
hooksstring-ObjektPfad zu einer Hooks-Konfigurationsdatei oder einem Inline-Hooks-Objekt.
mcpServersstring-ObjektPfad zu einer MCP-Konfigurationsdatei (z. B. ) oder Inlineserverdefinitionen.
lspServersstring-ObjektPfad zu einer LSP-Konfigurationsdatei oder Inlineserverdefinitionen.

Beispieldatei für

marketplace.json

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

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

Hinweis

Copilot CLI sucht auch nach der marketplace.json Datei im .claude-plugin/ Verzeichnis.

Weitere Informationen finden Sie unter AUTOTITLE.

Beispieldatei für

JSON
{
  "name": "my-marketplace",
  "owner": {
    "name": "Your Organization",
    "email": "[email protected]"
  },
  "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"
    }
  ]
}

Hinweis

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.

Felder

Felder auf oberster Ebene

FeldTypErforderlichDescription
nameSchnurJaName des Kebab-case Marketplace. Max. 64 Zeichen.
ownerObjektJa— Marketplace-Besitzerinformationen.
pluginsArrayJaListe der Plug-In-Einträge (siehe tabelle unten).
metadataObjektNein{ description?, version?, pluginRoot? }

Plug-In-Eintragsfelder (Objekte innerhalb des Arrays)

FeldTypErforderlichDescription
nameSchnurJaName des Kebab-Case-Plugins. Max. 64 Zeichen.
sourcestring-ObjektJaWo das Plug-In abgerufen werden soll (relativer Pfad, GitHub, oder URL).
descriptionSchnurNeinPlug-In-Beschreibung. Max. 1024 Zeichen.
versionSchnurNeinPlugin-Version.
authorObjektNein{ name, email?, url? }
homepageSchnurNeinUrl der Plug-In-Homepage.
repositorySchnurNeinQuell-Repository-URL.
licenseSchnurNeinLizenzbezeichner.
keywordsstring[]NeinSuchstichwörter.
categorySchnurNeinPlug-In-Kategorie.
tagsstring[]NeinZusätzliche Tags.
commandsstring string[]NeinPfade zu Befehlsverzeichnissen.
agentsstring string[]NeinPfade zu Agentverzeichnissen.
skillsstring string[]NeinPfade zu Qualifikationsverzeichnissen.
hooksstring-ObjektNeinPfad zur Hooks-Konfiguration oder zu einem Inline-Hooks-Objekt.
mcpServersstring-ObjektNeinPfad zu MCP-Konfigurations- oder Inlineserverdefinitionen.
lspServersstring-ObjektNeinPfad zu LSP-Konfigurations- oder Inlineserverdefinitionen.
strictbooleanNeinWenn (standard) müssen Plug-Ins den vollständigen Schema- und Validierungsregeln entsprechen. Wenn eine entspannte Validierung verwendet wird, ermöglicht dies mehr Flexibilität – insbesondere für direkte Installationen oder Legacy-Plug-Ins.

Dateispeicherorte

ArtikelPfad
Installierte Plug-Ins(über einen Marketplace installiert) und (direkt installiert)
Marketplacecache~/.copilot/state/marketplace-cache/
Plugin-Manifest, oder
Marketplace-Manifestoder
Agenten(Standard, im Manifest außer Kraft gesetzt)
Fähigkeiten(Standard, im Manifest außer Kraft gesetzt)
Hooks-Konfigurationoder
MCP-Konfigurationoder
LSP-Konfigurationoder

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 ist, die Agent-ID ist ). Fähigkeiten werden durch ihr Namensfeld innerhalb der -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 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.

┌──────────────────────────────────────────────────────────────────┐
│  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. ~/.claude/skills/                (personal-claude)              │
  │  7. PLUGIN: skills/ dirs             (plugin)                       │
  │  8. 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. .vscode/mcp.json                 (workspace)                    │
  │  3. PLUGIN: MCP configs              (plugins)                      │
  │  4. --additional-mcp-config flag     (highest priority)             │
  └─────────────────────────────────────────────────────────────────────┘