{"meta":{"title":"Referencia del plugin CLI de GitHub Copilot","intro":"Busque comandos y detalles de configuración para los complementos de la CLI.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/reference","title":"Referencia"},{"href":"/es/copilot/reference/copilot-cli-reference","title":"Referencia CLI de Copilot"},{"href":"/es/copilot/reference/copilot-cli-reference/cli-plugin-reference","title":"Referencia del complemento de la CLI"}],"documentType":"article"},"body":"# Referencia del plugin CLI de GitHub Copilot\n\nBusque comandos y detalles de configuración para los complementos de la CLI.\n\n> \\[!NOTE]\n> Puede encontrar ayuda sobre el uso de complementos escribiendo `copilot plugin [SUBCOMMAND] --help` en el terminal.\n\n## Comandos de la CLI\n\nPuede usar los siguientes comandos en el terminal para administrar complementos para CLI de Copilot.\n\n| Comando                                        | Descripción                                                                                                                                                                |\n| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `copilot plugin install SPECIFICATION`         | Instale un complemento. Consulte la [especificación del complemento para el comando `install` que se encuentra a continuación](#plugin-specification-for-install-command). |\n| `copilot plugin uninstall NAME`                | Quitar un complemento                                                                                                                                                      |\n| `copilot plugin list`                          | Enumerar complementos instalados                                                                                                                                           |\n| `copilot plugin update NAME`                   | Actualización de un complemento                                                                                                                                            |\n| `copilot plugin marketplace add SPECIFICATION` | Registro de un marketplace                                                                                                                                                 |\n| `copilot plugin marketplace list`              | Enumeración de marketplaces registrados                                                                                                                                    |\n| `copilot plugin marketplace browse NAME`       | Análisis de complementos de Marketplace                                                                                                                                    |\n| `copilot plugin marketplace remove NAME`       | Anulación del registro de un marketplace                                                                                                                                   |\n\n### Especificación para el comando del complemento `install`\n\n| Formato              | Ejemplo                      | Descripción                         |\n| -------------------- | ---------------------------- | ----------------------------------- |\n| Marketplace          | `plugin@marketplace`         | Plugin de un marketplace registrado |\n| GitHub               | `OWNER/REPO`                 | Raíz de un GitHub repositorio       |\n| GitHub  subdir       | `OWNER/REPO:PATH/TO/PLUGIN`  | Subdirectorio en un repositorio     |\n| Git URL              | `https://github.com/o/r.git` | Cualquier dirección URL de Git      |\n| Ruta de acceso local |                              |                                     |\n\n```\n          `./my-plugin` o `/abs/path`    | Directorio local |\n```\n\n## `plugin.json`\n\nTodos los complementos constan de un directorio de complementos que contiene, como mínimo, un archivo de manifiesto denominado `plugin.json` ubicado en la raíz del directorio del complemento. Consulte [Creación de un complemento para CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating).\n\n### Campo obligatorio\n\n| Campo  | Tipo            | Descripción                                                                                            |\n| ------ | --------------- | ------------------------------------------------------------------------------------------------------ |\n| `name` | cuerda / cadena | Nombre del complemento en formato kebab-case (letras, números, guiones solo). Máximo de 64 caracteres. |\n\n### Campos de metadatos opcionales\n\n| Campo         | Tipo            | Descripción                                   |\n| ------------- | --------------- | --------------------------------------------- |\n| `description` | cuerda / cadena | Breve descripción. Máximo de 1024 caracteres. |\n| `version`     | cuerda / cadena | Versión semántica (por ejemplo, `1.0.0`).     |\n| `author`      | objeto          |                                               |\n\n```\n          `name` (obligatorio), `email` (opcional), `url` (opcional). |\n```\n\n\\| `homepage`   | cuerda / cadena    | Url de la página principal del complemento. |\n\\| `repository` | cuerda / cadena    | Dirección URL del repositorio de origen. |\n\\| `license`    | cuerda / cadena    | Identificador de licencia (por ejemplo, `MIT`). |\n\\| `keywords`   | string\\[]  | Buscar palabras clave. |\n\\| `category`   | cuerda / cadena    | Categoría del complemento. |\n\\| `tags`       | string\\[]  | Etiquetas adicionales. |\n\n### Campos de ruta de acceso de componente\n\nEstos indican a la CLI dónde encontrar los componentes del complemento. Todos son opcionales. La CLI utiliza convenciones predeterminadas si se omiten ciertos parámetros.\n\n| Campo        | Tipo                | Predeterminado | Descripción                                                                                                           |\n| ------------ | ------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------- |\n| `agents`     | cadena \\| cadena\\[] | `agents/`      | Rutas hacia directorios de agentes (archivos `.agent.md`).                                                            |\n| `skills`     | cadena \\| cadena\\[] | `skills/`      | Rutas de acceso a los directorios de habilidades (`SKILL.md` archivos).                                               |\n| `commands`   | cadena \\| cadena\\[] | —              | Rutas de acceso a directorios de comandos.                                                                            |\n| `hooks`      | string \\| objeto    | —              | Ruta a un archivo de configuración de enlaces o un objeto de enlaces insertados.                                      |\n| `mcpServers` | string \\| objeto    | —              | Ruta de acceso a un archivo de configuración de MCP (por ejemplo, `.mcp.json`) o definiciones de servidor insertadas. |\n| `lspServers` | string \\| objeto    | —              | Ruta de acceso a un archivo de configuración LSP o definiciones de servidor en línea.                                 |\n\n### Archivo `plugin.json` de ejemplo\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\nPuede crear un marketplace de complementos ,que los usuarios pueden usar para detectar e instalar los complementos, creando un `marketplace.json` archivo y guardándolo en el `.github/plugin/` directorio del repositorio. También puede almacenar el `marketplace.json` archivo en el sistema de archivos local. Por ejemplo, guardar el archivo como `/PATH/TO/my-marketplace/.github/plugin/marketplace.json` le permite agregarlo a la CLI mediante el siguiente comando:\n\n```shell\ncopilot plugin marketplace add /PATH/TO/my-marketplace\n```\n\n> \\[!NOTE]\n> CLI de Copilot también busca el archivo `marketplace.json` en el directorio `.claude-plugin/`.\n\nPara obtener más información, vea [Creación de un marketplace de complementos para CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace).\n\n### Archivo `marketplace.json` de ejemplo\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> El valor del `source` campo para cada complemento es la ruta de acceso al directorio del complemento, en relación con la raíz del repositorio. No es necesario usar `./` al principio de la ruta de acceso. Por ejemplo, `\"./plugins/plugin-name\"` y `\"plugins/plugin-name\"` se resuelven en el mismo directorio.\n\n### Campos `marketplace.json`\n\n#### Campos de nivel superior\n\n| Campo   | Tipo            | Obligatorio | Descripción                                                           |\n| ------- | --------------- | ----------- | --------------------------------------------------------------------- |\n| `name`  | cuerda / cadena | Sí          | Nombre de Marketplace en formato kebab-case. Máximo de 64 caracteres. |\n| `owner` | objeto          | Sí          |                                                                       |\n\n```\n          `{ name, email? }` : información del propietario de Marketplace. |\n```\n\n\\| `plugins`  | array    | Sí      | Lista de entradas del complemento (consulte la tabla siguiente). |\n\\| `metadata` | objeto   | No       | `{ description?, version?, pluginRoot? }` |\n\n#### Campos de entrada del complemento (objetos dentro de la `plugins` matriz)\n\n| Campo         | Tipo                | Obligatorio | Descripción                                                                                                                                                                                                                                                                         |\n| ------------- | ------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `name`        | cuerda / cadena     | Sí          | Nombre del complemento kebab-case. Máximo de 64 caracteres.                                                                                                                                                                                                                         |\n| `source`      | string \\| objeto    | Sí          | Dónde capturar el complemento (ruta de acceso relativa, GitHubo dirección URL).                                                                                                                                                                                                     |\n| `description` | cuerda / cadena     | No          | Descripción del complemento. Máximo de 1024 caracteres.                                                                                                                                                                                                                             |\n| `version`     | cuerda / cadena     | No          | Versión del complemento.                                                                                                                                                                                                                                                            |\n| `author`      | objeto              | No          | `{ name, email?, url? }`                                                                                                                                                                                                                                                            |\n| `homepage`    | cuerda / cadena     | No          | Url de la página principal del complemento.                                                                                                                                                                                                                                         |\n| `repository`  | cuerda / cadena     | No          | Dirección URL del repositorio de origen.                                                                                                                                                                                                                                            |\n| `license`     | cuerda / cadena     | No          | Identificador de licencia.                                                                                                                                                                                                                                                          |\n| `keywords`    | string\\[]           | No          | Buscar palabras clave.                                                                                                                                                                                                                                                              |\n| `category`    | cuerda / cadena     | No          | Categoría del complemento.                                                                                                                                                                                                                                                          |\n| `tags`        | string\\[]           | No          | Etiquetas adicionales.                                                                                                                                                                                                                                                              |\n| `commands`    | cadena \\| cadena\\[] | No          | Rutas de acceso a directorios de comandos.                                                                                                                                                                                                                                          |\n| `agents`      | cadena \\| cadena\\[] | No          | Rutas de acceso a directorios de agentes.                                                                                                                                                                                                                                           |\n| `skills`      | cadena \\| cadena\\[] | No          | Rutas de acceso a directorios de aptitudes.                                                                                                                                                                                                                                         |\n| `hooks`       | string \\| objeto    | No          | Ruta a la configuración de enlaces o un objeto de enlaces insertados.                                                                                                                                                                                                               |\n| `mcpServers`  | string \\| objeto    | No          | Ruta a la configuración de MCP o definiciones de servidor insertadas.                                                                                                                                                                                                               |\n| `lspServers`  | string \\| objeto    | No          | Ruta de acceso a la configuración de LSP o definiciones de servidor en línea.                                                                                                                                                                                                       |\n| `strict`      | boolean             | No          | Cuando `true` (el valor predeterminado), los complementos deben ajustarse al esquema completo y a las reglas de validación. Cuando es `false`, se utiliza una validación relajada, se permite más flexibilidad, especialmente para instalaciones directas o complementos heredados. |\n\n## Ubicaciones de archivos\n\n| Elemento                | Camino |\n| ----------------------- | ------ |\n| Complementos instalados |        |\n\n```\n          `~/.copilot/installed-plugins/MARKETPLACE/PLUGIN-NAME` (instalado a través de marketplace) y `~/.copilot/installed-plugins/_direct/SOURCE-ID/` (instalado directamente) |\n```\n\n\\| Caché de Marketplace    | Directorio de caché de plataforma: `~/.cache/copilot/marketplaces/` (Linux), `~/Library/Caches/copilot/marketplaces/` (macOS). Se puede reemplazar con `COPILOT_CACHE_HOME`. |\n\\| Manifiesto del complemento      |\n`.plugin/plugin.json`, `plugin.json`, `.github/plugin/plugin.json` o `.claude-plugin/plugin.json` (comprobado en este orden) |\n\\| Manifiesto de Marketplace |\n`marketplace.json`, `.plugin/marketplace.json`, `.github/plugin/marketplace.json` o `.claude-plugin/marketplace.json` (comprobado en este orden) |\n\\| Agentes               |\n`agents/` (valor predeterminado, reemplazable en el manifiesto) |\n\\| Habilidades               |\n`skills/` (valor predeterminado, reemplazable en el manifiesto) |\n\\| Configuración de hooks  |\n`hooks.json` o `hooks/hooks.json` |\n\\| Configuración de MCP    |\n`.mcp.json`, `.github/mcp.json` |\n\\| Configuración de LSP    |\n`lsp.json` o `.github/lsp.json` |\n\n## Orden de carga y prioridad\n\nSi instala varios complementos, es posible que algunos agentes personalizados, aptitudes, servidores MCP o herramientas proporcionados a través de servidores MCP tengan nombres duplicados. En esta situación, la CLI determina qué componente usar en función de un orden de precedencia.\n\n* **Los agentes y las aptitudes** utilizan la prioridad de \"primero en encontrar, primero en ganar.\"\n\n  Si tiene un agente personalizado de nivel de proyecto o una aptitud con el mismo nombre o identificador que uno en un complemento que instale, el agente o la aptitud del complemento se omiten silenciosamente. El complemento no puede invalidar configuraciones personales o de nivel de proyecto. Los agentes personalizados se desduplican mediante su identificador, que se deriva de su nombre de archivo (por ejemplo, si el archivo se denomina `reviewer.agent.md`, el identificador del agente es `reviewer`). Las aptitudes se desduplican por su campo de nombre dentro del archivo `SKILL.md`.\n\n* **Los servidores MCP** usan precedencia de última instancia.\n\n  Si instala un complemento que define un servidor MCP con el mismo nombre de servidor que un servidor MCP que ya ha instalado, la definición del complemento tiene prioridad. Puede usar la `--additional-mcp-config` opción de línea de comandos para invalidar una configuración del servidor MCP con el mismo nombre, instalada mediante un complemento.\n\n* **Las herramientas y agentes integrados** siempre están presentes y no se pueden invalidar mediante componentes definidos por el usuario.\n\nEn el diagrama siguiente se muestran las reglas de orden de carga y precedencia.\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. PLUGIN: MCP configs              (plugins)                      │\n  │  3. --additional-mcp-config flag     (highest priority)             │\n  └─────────────────────────────────────────────────────────────────────┘\n```\n\n## Lectura adicional\n\n* [CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli)\n* [Referencia de comandos de la CLI de GitHub Copilot](/es/copilot/reference/copilot-cli-reference/cli-command-reference)\n* [Referencia programática de la CLI de GitHub Copilot](/es/copilot/reference/copilot-cli-reference/cli-programmatic-reference)"}