{"meta":{"title":"Référence du plug-in CLI GitHub Copilot","intro":"Recherchez des commandes et des détails de configuration pour les plug-ins CLI.","product":"GitHub Copilot","breadcrumbs":[{"href":"/fr/copilot","title":"GitHub Copilot"},{"href":"/fr/copilot/reference","title":"Informations de référence"},{"href":"/fr/copilot/reference/copilot-cli-reference","title":"\n              Copilot pour CLI référence"},{"href":"/fr/copilot/reference/copilot-cli-reference/cli-plugin-reference","title":"Informations de référence sur le plug-in CLI"}],"documentType":"article"},"body":"# Référence du plug-in CLI GitHub Copilot\n\nRecherchez des commandes et des détails de configuration pour les plug-ins CLI.\n\n> \\[!NOTE]\n> Vous trouverez de l’aide sur l’utilisation de plug-ins en entrant `copilot plugin [SUBCOMMAND] --help` dans le terminal.\n\n## Commandes CLI\n\nVous pouvez utiliser les commandes suivantes dans le terminal pour gérer les plug-ins pour Copilot pour CLI.\n\n| Command                                        | Description                                                                                                                                     |\n| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |\n| `copilot plugin install SPECIFICATION`         | Installez un plug-in. Consultez [la spécification du plug-in pour la commande `install`](#plugin-specification-for-install-command) ci-dessous. |\n| `copilot plugin uninstall NAME`                | Supprimer un plug-in                                                                                                                            |\n| `copilot plugin list`                          | Répertorier les plug-ins installés                                                                                                              |\n| `copilot plugin update NAME`                   | Mettre à jour un plug-in                                                                                                                        |\n| `copilot plugin marketplace add SPECIFICATION` | Inscrire une place de marché                                                                                                                    |\n| `copilot plugin marketplace list`              | Répertorier les places de marché inscrites                                                                                                      |\n| `copilot plugin marketplace browse NAME`       | Parcourir les plug-ins de la Place de marché                                                                                                    |\n| `copilot plugin marketplace remove NAME`       | Annuler l’inscription d’une place de marché                                                                                                     |\n\n### Spécification du module externe pour la commande `install`\n\n| Format               | Exemple                      | Description                         |\n| -------------------- | ---------------------------- | ----------------------------------- |\n| Place de marché      | `plugin@marketplace`         | Module depuis un marché enregistré  |\n| GitHub               | `OWNER/REPO`                 | Racine d’un GitHub référentiel      |\n| GitHub  subdir       | `OWNER/REPO:PATH/TO/PLUGIN`  | Sous-répertoire dans un référentiel |\n| Git URL              | `https://github.com/o/r.git` | N’importe quelle URL Git            |\n| Chemin d’accès local |                              |                                     |\n\n```\n          `./my-plugin` ou `/abs/path`    | Répertoire local |\n```\n\n## `plugin.json`\n\nTous les plug-ins se composent d’un répertoire de plug-in contenant, au minimum, un fichier manifeste nommé `plugin.json` à la racine du répertoire du plug-in. Consultez « [Création d’un plug-in pour CLI GitHub Copilot](/fr/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating) ».\n\n### Champ obligatoire\n\n| Champ  | Type    | Description                                                                                   |\n| ------ | ------- | --------------------------------------------------------------------------------------------- |\n| `name` | ficelle | Nom du plug-in Kebab-case (lettres, chiffres, traits d’union uniquement). 64 caractères maxi. |\n\n### Champs de métadonnées facultatifs\n\n| Champ         | Type    | Description                                |\n| ------------- | ------- | ------------------------------------------ |\n| `description` | ficelle | Brève description. 1024 caractères maxi.   |\n| `version`     | ficelle | Version sémantique (par exemple, `1.0.0`). |\n| `author`      | objet   |                                            |\n\n```\n          `name` (obligatoire), `email` (facultatif), `url` (facultatif). |\n```\n\n\\| `homepage`   | ficelle    | URL de la page d’accueil du plug-in. |\n\\| `repository` | ficelle    | URL du référentiel source. |\n\\| `license`    | ficelle    | Identificateur de licence (par exemple, `MIT`). |\n\\| `keywords`   | chaîne de caractères\\[]  | Mots clés de recherche. |\n\\| `category`   | ficelle    | Catégorie de plug-in. |\n\\| `tags`       | chaîne de caractères\\[]  | Balises supplémentaires. |\n\n### Champs de chemin d’accès du composant\n\nCelles-ci indiquent à l’interface CLI où trouver les composants de votre plug-in. Tous sont facultatifs. Le CLI utilise des conventions par défaut si elles sont omises.\n\n| Champ        | Type                | Par défaut | Description                                                                                                   |\n| ------------ | ------------------- | ---------- | ------------------------------------------------------------------------------------------------------------- |\n| `agents`     | string \\| string\\[] | `agents/`  | Chemin(s) d’accès aux répertoires d’agent (`.agent.md` fichiers).                                             |\n| `skills`     | string \\| string\\[] | `skills/`  | Chemin(s) vers les répertoires de compétences (`SKILL.md` fichiers).                                          |\n| `commands`   | string \\| string\\[] | —          | Chemin d’accès aux répertoires de commandes.                                                                  |\n| `hooks`      | objet string \\|     | —          | Chemin d’accès à un fichier de configuration des hooks ou à un objet hooks inclus.                            |\n| `mcpServers` | objet string \\|     | —          | Chemin d’accès à un fichier de configuration MCP (par exemple, `.mcp.json`) ou définitions de serveur inline. |\n| `lspServers` | objet string \\|     | —          | Chemin vers un fichier de configuration LSP, ou des définitions de serveur intégrées.                         |\n\n### Exemple de fichier `plugin.json`\n\n```json copy\n{\n  \"name\": \"my-dev-tools\",\n  \"description\": \"React development utilities\",\n  \"version\": \"1.2.0\",\n  \"author\": {\n    \"name\": \"Jane Doe\",\n    \"email\": \"jane@example.com\"\n  },\n  \"license\": \"MIT\",\n  \"keywords\": [\"react\", \"frontend\"],\n  \"agents\": \"agents/\",\n  \"skills\": [\"skills/\", \"extra-skills/\"],\n  \"hooks\": \"hooks.json\",\n  \"mcpServers\": \".mcp.json\"\n}\n```\n\n## `marketplace.json`\n\nVous pouvez créer une place de marché de plug-ins, que les utilisateurs peuvent utiliser pour découvrir et installer vos plug-ins, en créant un `marketplace.json` fichier et en l’enregistrant dans le `.github/plugin/` répertoire du référentiel. Vous pouvez également stocker le `marketplace.json` fichier dans votre système de fichiers local. Par exemple, l’enregistrement du fichier tel qu’il `/PATH/TO/my-marketplace/.github/plugin/marketplace.json` vous permet de l’ajouter à l’interface CLI à l’aide de la commande suivante :\n\n```shell\ncopilot plugin marketplace add /PATH/TO/my-marketplace\n```\n\n> \\[!NOTE]\n> Copilot pour CLI recherche également le `marketplace.json` fichier dans le `.claude-plugin/` répertoire.\n\nPour plus d’informations, consultez « [Création d’une place de marché de plug-ins pour CLI GitHub Copilot](/fr/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace) ».\n\n### Exemple de fichier `marketplace.json`\n\n```json copy\n{\n  \"name\": \"my-marketplace\",\n  \"owner\": {\n    \"name\": \"Your Organization\",\n    \"email\": \"plugins@example.com\"\n  },\n  \"metadata\": {\n    \"description\": \"Curated plugins for our team\",\n    \"version\": \"1.0.0\"\n  },\n  \"plugins\": [\n    {\n      \"name\": \"frontend-design\",\n      \"description\": \"Create a professional-looking GUI ...\",\n      \"version\": \"2.1.0\",\n      \"source\": \"./plugins/frontend-design\"\n    },\n    {\n      \"name\": \"security-checks\",\n      \"description\": \"Check for potential security vulnerabilities ...\",\n      \"version\": \"1.3.0\",\n      \"source\": \"./plugins/security-checks\"\n    }\n  ]\n}\n```\n\n> \\[!NOTE]\n> La valeur du `source` champ pour chaque plug-in est le chemin d’accès au répertoire du plug-in, par rapport à la racine du référentiel. Il n’est pas nécessaire d’utiliser `./` au début du chemin. Par exemple, `\"./plugins/plugin-name\"` et `\"plugins/plugin-name\"` résolvent au même répertoire.\n\n### Champs `marketplace.json`\n\n#### Champs de niveau supérieur\n\n| Champ   | Type    | Obligatoire | Description                                               |\n| ------- | ------- | ----------- | --------------------------------------------------------- |\n| `name`  | ficelle | Oui         | Nom de la place de marché kebab-case. 64 caractères maxi. |\n| `owner` | objet   | Oui         |                                                           |\n\n```\n          `{ name, email? }` — Informations sur le propriétaire de la Place de marché. |\n```\n\n\\| `plugins`  | tableau    | Oui      | Liste des entrées de plug-in (voir le tableau ci-dessous). |\n\\| `metadata` | objet   | Non       | `{ description?, version?, pluginRoot? }` |\n\n#### Champs d’entrée de plug-in (objets dans le `plugins` tableau)\n\n| Champ         | Type                    | Obligatoire | Description                                                                                                                                                                                                                                                                                    |\n| ------------- | ----------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `name`        | ficelle                 | Oui         | Nom du plug-in Kebab-case. 64 caractères maxi.                                                                                                                                                                                                                                                 |\n| `source`      | objet string \\|         | Oui         | Où récupérer le plug-in (chemin relatif, GitHubou URL).                                                                                                                                                                                                                                        |\n| `description` | ficelle                 | Non         | Description du plug-in. 1024 caractères maxi.                                                                                                                                                                                                                                                  |\n| `version`     | ficelle                 | Non         | Version du plug-in.                                                                                                                                                                                                                                                                            |\n| `author`      | objet                   | Non         | `{ name, email?, url? }`                                                                                                                                                                                                                                                                       |\n| `homepage`    | ficelle                 | Non         | URL de la page d’accueil du plug-in.                                                                                                                                                                                                                                                           |\n| `repository`  | ficelle                 | Non         | URL du référentiel source.                                                                                                                                                                                                                                                                     |\n| `license`     | ficelle                 | Non         | Identificateur de licence.                                                                                                                                                                                                                                                                     |\n| `keywords`    | chaîne de caractères\\[] | Non         | Mots clés de recherche.                                                                                                                                                                                                                                                                        |\n| `category`    | ficelle                 | Non         | Catégorie de plug-in.                                                                                                                                                                                                                                                                          |\n| `tags`        | chaîne de caractères\\[] | Non         | Balises supplémentaires.                                                                                                                                                                                                                                                                       |\n| `commands`    | string \\| string\\[]     | Non         | Chemin d’accès aux répertoires de commandes.                                                                                                                                                                                                                                                   |\n| `agents`      | string \\| string\\[]     | Non         | Chemins d’accès aux répertoires de l’agent.                                                                                                                                                                                                                                                    |\n| `skills`      | string \\| string\\[]     | Non         | Chemins d’accès aux répertoires de compétences.                                                                                                                                                                                                                                                |\n| `hooks`       | objet string \\|         | Non         | Chemin d’accès à la configuration des hooks ou à l’objet hooks inclus.                                                                                                                                                                                                                         |\n| `mcpServers`  | objet string \\|         | Non         | Chemin d’accès à la configuration MCP ou aux définitions de serveur inline.                                                                                                                                                                                                                    |\n| `lspServers`  | objet string \\|         | Non         | Chemin d’accès aux définitions de serveur intégrées ou à la configuration LSP.                                                                                                                                                                                                                 |\n| `strict`      | booléen                 | Non         | Quand `true` (valeur par défaut), les plug-ins doivent se conformer aux règles de schéma et de validation complètes. Lorsque `false`, la validation assouplie est utilisée, ce qui permet une plus grande flexibilité, en particulier pour les installations directes ou les plug-ins hérités. |\n\n## Emplacements des fichiers\n\n| Élément            | Chemin |\n| ------------------ | ------ |\n| Plug-ins installés |        |\n\n```\n          `~/.copilot/installed-plugins/MARKETPLACE/PLUGIN-NAME` (installé via une place de marché) et `~/.copilot/installed-plugins/_direct/SOURCE-ID/` (installé directement) |\n```\n\n\\| Cache de la Place de marché    | Répertoire du cache de plateforme : `~/.cache/copilot/marketplaces/` (Linux), `~/Library/Caches/copilot/marketplaces/` (macOS). Remplaçable avec `COPILOT_CACHE_HOME`. |\n\\| Manifeste du plug-in      |\n`.plugin/plugin.json`, `plugin.json`, ou `.github/plugin/plugin.json` ou `.claude-plugin/plugin.json` (vérifié dans cet ordre) |\n\\| Manifest de Marketplace |\n`marketplace.json`, `.plugin/marketplace.json`, ou `.github/plugin/marketplace.json` ou `.claude-plugin/marketplace.json` (vérifié dans cet ordre) |\n\\| Agents               |\n`agents/` (par défaut, substituable dans le manifeste) |\n\\| Compétences               |\n`skills/` (par défaut, substituable dans le manifeste) |\n\\| Configuration des hooks         |\n`hooks.json` ou `hooks/hooks.json` |\n\\| Configuration MCP           |\n`.mcp.json`\n`.vscode/mcp.json`\n`.devcontainer/devcontainer.json`\n`.github/mcp.json`\n|\n\\| Configuration LSP           |\n`lsp.json` ou `.github/lsp.json` |\n\n## Ordre de chargement et priorité\n\nSi vous installez plusieurs plug-ins, il est possible que certains agents, compétences, serveurs MCP ou outils fournis via des serveurs MCP aient des noms en double. Dans ce cas, l’interface CLI détermine le composant à utiliser en fonction d’un ordre de priorité.\n\n* **Les agents et les compétences** utilisent la précédence first-found-wins.\n\n  Si vous disposez d’un agent personnalisé ou d’une compétence au niveau du projet portant le même nom ou id que celui d’un plug-in que vous installez, l’agent ou la compétence du plug-in est ignoré en mode silencieux. Le plug-in ne peut pas remplacer les configurations au niveau du projet ou personnelles. Les agents personnalisés sont dédupliqués à l’aide de leur ID, qui est dérivé de son nom de fichier (par exemple, si le fichier est nommé `reviewer.agent.md`, l’ID de l’agent est `reviewer`). Les compétences sont dédupliquées par leur champ de nom à l’intérieur du fichier `SKILL.md`.\n\n* **Les serveurs MCP** utilisent la priorité \"last-wins\".\n\n  Si vous installez un plug-in qui définit un serveur MCP portant le même nom de serveur qu’un serveur MCP que vous avez déjà installé, la définition du plug-in est prioritaire. Vous pouvez utiliser l’option `--additional-mcp-config` de ligne de commande pour remplacer une configuration de serveur MCP avec le même nom, installée à l’aide d’un plug-in.\n\n* **Les outils et agents intégrés** sont toujours présents et ne peuvent pas être substitués par les composants définis par l’utilisateur.\n\nLe diagramme suivant illustre les règles d’ordre de chargement et de priorité.\n\n```text\n┌──────────────────────────────────────────────────────────────────┐\n│  BUILT-IN - HARDCODED, ALWAYS PRESENT                            │\n│  • tools: bash, view, apply_patch, glob, rg, task, ...           │\n│  • agents: explore, task, code-review, general-purpose, research │\n└────────────────────────┬─────────────────────────────────────────┘\n                         │\n  ┌──────────────────────▼──────────────────────────────────────────────┐\n  │  CUSTOM AGENTS - FIRST LOADED IS USED (dedup by ID)                 │\n  │  1. ~/.copilot/agents/           (user, .github convention)         │\n  │  2. <project>/.github/agents/    (project)                          │\n  │  3. <parents>/.github/agents/    (inherited, monorepo)              │\n  │  4. ~/.claude/agents/            (user, .claude convention)         │\n  │  5. <project>/.claude/agents/    (project)                          │\n  │  6. <parents>/.claude/agents/    (inherited, monorepo)              │\n  │  7. PLUGIN: agents/ dirs         (plugin, by install order)         │\n  │  8. Remote org/enterprise agents (remote, via API)                  │\n  └──────────────────────┬──────────────────────────────────────────────┘\n                         │\n  ┌──────────────────────▼──────────────────────────────────────────────┐\n  │  AGENT SKILLS - FIRST LOADED IS USED (dedup by name)                │\n  │  1. <project>/.github/skills/        (project)                      │\n  │  2. <project>/.agents/skills/        (project)                      │\n  │  3. <project>/.claude/skills/        (project)                      │\n  │  4. <parents>/.github/skills/ etc.   (inherited)                    │\n  │  5. ~/.copilot/skills/               (personal-copilot)             │\n  │  6. ~/.agents/skills/                (personal-agents)              │\n  │  7. ~/.claude/skills/                (personal-claude)              │\n  │  8. PLUGIN: skills/ dirs             (plugin)                       │\n  │  9. COPILOT_SKILLS_DIRS env + config (custom)                       │\n  │  --- then commands (.claude/commands/), skills override commands ---│\n  └──────────────────────┬──────────────────────────────────────────────┘\n                         │\n  ┌──────────────────────▼──────────────────────────────────────────────┐\n  │  MCP SERVERS - LAST LOADED IS USED (dedup by server name)           │\n  │  1. ~/.copilot/mcp-config.json       (lowest priority)              │\n  │  2. .vscode/mcp.json                 (workspace)                    │\n  │  3. PLUGIN: MCP configs              (plugins)                      │\n  │  4. --additional-mcp-config flag     (highest priority)             │\n  └─────────────────────────────────────────────────────────────────────┘\n```\n\n## Lectures complémentaires\n\n* [CLI GitHub Copilot](/fr/copilot/how-tos/copilot-cli)\n* [Référence de commande CLI pour GitHub Copilot](/fr/copilot/reference/copilot-cli-reference/cli-command-reference)\n* [référence programmatique du CLI GitHub Copilot](/fr/copilot/reference/copilot-cli-reference/cli-programmatic-reference)"}