- Inicio
- Documentation
- Extensiones
- Sistema de plugins del Marketplace
Sistema de plugins del Marketplace
El sistema de marketplace le permite descubrir, instalar y gestionar plugins desde catálogos alojados en Git. Es compatible con el formato de registro de plugins de Claude Code.
Inicio rápido
Sección titulada «Inicio rápido»/marketplace add anthropics/f5-sales-demo-marketplace/marketplace install wordpress.com@f5-sales-demo-marketplaceO simplemente escriba /marketplace sin argumentos para abrir el navegador interactivo de plugins.
Conceptos
Sección titulada «Conceptos»Un marketplace es un repositorio Git (o directorio local) que contiene un archivo de catálogo en .xcsh-plugin/marketplace.json. El catálogo lista los plugins disponibles con sus fuentes, descripciones y metadatos.
Un plugin es un directorio que contiene habilidades, comandos, hooks, servidores MCP o servidores LSP. Los plugins se identifican mediante name@marketplace (p. ej., code-review@f5-sales-demo-marketplace).
Ámbitos: los plugins pueden instalarse en dos ámbitos:
- user (predeterminado) — disponible en todos los proyectos, almacenado en
~/.xcsh/plugins/installed_plugins.json - project — disponible únicamente en el proyecto actual, almacenado en
.xcsh/installed_plugins.json
Las instalaciones con ámbito de proyecto tienen prioridad sobre las instalaciones con ámbito de usuario del mismo plugin.
Comandos
Sección titulada «Comandos»Modo interactivo
Sección titulada «Modo interactivo»| Comando | Efecto |
|---|---|
/marketplace | Abrir el navegador interactivo de plugins (instalación) |
Gestión del marketplace
Sección titulada «Gestión del marketplace»| Comando | Efecto |
|---|---|
/marketplace add <source> | Agregar una fuente de marketplace |
/marketplace remove <name> | Eliminar un marketplace |
/marketplace update [name] | Volver a obtener catálogo(s); omita el nombre para actualizar todos |
/marketplace list | Listar los marketplaces configurados |
Operaciones con plugins
Sección titulada «Operaciones con plugins»| Comando | Efecto |
|---|---|
/marketplace discover [marketplace] | Explorar los plugins disponibles |
/marketplace install [--force] [--scope user|project] name@marketplace | Instalar un plugin |
/marketplace uninstall [--scope user|project] name@marketplace | Desinstalar un plugin |
/marketplace installed | Listar los plugins de marketplace instalados |
/marketplace upgrade [--scope user|project] [name@marketplace] | Actualizar uno o todos los plugins |
Equivalentes de línea de comandos
Sección titulada «Equivalentes de línea de comandos»Las mismas operaciones están disponibles desde la línea de comandos:
xcsh plugin marketplace add <source>xcsh plugin marketplace remove <name>xcsh plugin marketplace update [name]xcsh plugin marketplace listxcsh plugin discover [marketplace]xcsh plugin install --scope project name@marketplaceFuentes de marketplace
Sección titulada «Fuentes de marketplace»Cuando ejecuta /marketplace add <source>, el sistema clasifica la fuente:
| Formato de fuente | Tipo | Ejemplo |
|---|---|---|
owner/repo | Abreviatura de GitHub | anthropics/f5-sales-demo-marketplace |
https://...*.json | URL directa del catálogo | https://example.com/marketplace.json |
https://...*.git o git@... | Repositorio Git | https://github.com/org/repo.git |
./path o ~/path o /path | Directorio local | ./my-marketplace |
El sistema clona el repositorio (o lee el directorio local), localiza .xcsh-plugin/marketplace.json, lo valida y almacena el catálogo en caché localmente.
Formato del catálogo (marketplace.json)
Sección titulada «Formato del catálogo (marketplace.json)»Un catálogo de marketplace se encuentra en .xcsh-plugin/marketplace.json en la raíz del repositorio:
{ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", "name": "my-marketplace", "owner": { "name": "Your Name", "email": "you@example.com" }, "description": "A collection of plugins", "plugins": [ { "name": "my-plugin", "description": "What this plugin does", "source": "./plugins/my-plugin", "category": "development", "homepage": "https://github.com/you/my-plugin" } ]}Campos obligatorios
Sección titulada «Campos obligatorios»| Campo | Descripción |
|---|---|
name | Nombre del marketplace. Alfanumérico en minúsculas, guiones y puntos. Debe comenzar y terminar con un carácter alfanumérico. Máximo 64 caracteres. |
owner.name | Nombre del propietario del marketplace |
plugins | Array de entradas de plugins |
Campos de entrada de plugins
Sección titulada «Campos de entrada de plugins»| Campo | Obligatorio | Descripción |
|---|---|---|
name | sí | Nombre del plugin (mismas reglas que el nombre del marketplace) |
source | sí | Dónde encontrar el plugin (véase a continuación) |
description | no | Descripción breve |
version | no | Cadena de versión |
author | no | { name, email? } |
homepage | no | URL |
category | no | Cadena de categoría (p. ej., development, productivity, security) |
tags | no | Array de etiquetas de cadena |
strict | no | Booleano |
commands | no | Comandos slash proporcionados |
agents | no | Agentes proporcionados |
hooks | no | Definiciones de hooks |
mcpServers | no | Definiciones de servidores MCP |
lspServers | no | Definiciones de servidores LSP |
Formatos de fuente de plugins
Sección titulada «Formatos de fuente de plugins»El campo source admite varios formatos:
Ruta relativa (dentro del repositorio del marketplace):
"source": "./plugins/my-plugin"URL de repositorio Git:
"source": { "source": "url", "url": "https://github.com/org/repo.git", "sha": "abc123..."}Abreviatura de GitHub:
"source": { "source": "github", "repo": "org/repo", "ref": "main", "sha": "abc123..."}Subdirectorio de Git (monorepo):
"source": { "source": "git-subdir", "url": "https://github.com/org/monorepo.git", "path": "plugins/my-plugin", "ref": "main", "sha": "abc123..."}Paquete npm:
"source": { "source": "npm", "package": "@scope/my-plugin", "version": "1.0.0"}Estructura en disco
Sección titulada «Estructura en disco»~/.xcsh/ config/ marketplaces.json # Registro de marketplaces agregados plugins/ installed_plugins.json # Plugins instalados con ámbito de usuario cache/ marketplaces/ # Catálogos de marketplace en caché plugins/ # Directorios de plugins en caché
<project>/.xcsh/ installed_plugins.json # Plugins instalados con ámbito de proyectoReglas de nomenclatura
Sección titulada «Reglas de nomenclatura»Los nombres de marketplace y de plugins deben:
- Comenzar y terminar con una letra minúscula o un dígito
- Contener únicamente letras minúsculas, dígitos, guiones y puntos
- Tener como máximo 64 caracteres
Los IDs de plugin (name@marketplace) deben tener como máximo 128 caracteres en total.
Ejemplos válidos: my-plugin, code-review, wordpress.com, ai-firstify
Ejemplos no válidos: -bad, bad-, .bad, Bad, under_score