.claude-plugin/marketplace.json que enumera sus plugins e indica dónde obtener cada uno. Usted envía el directorio a un host de git, y cualquiera que tenga acceso lo registra en Claude Code con un comando e instala sus plugins desde él.
Cree su propio marketplace cuando desee que un grupo que usted elija, como su equipo u organización, instale sus plugins y continúe recibiendo sus actualizaciones desde un catálogo que usted controla. El repositorio puede ser privado, puede enumerar tantos plugins como desee, y un administrador puede requerirlo en cada máquina.
Estos casos se tratan en otras páginas:
- Compartir un plugin con algunas personas: envíeles el directorio del plugin o un
.zipdel mismo. Consulte Compartir un plugin sin un marketplace. - Ofrecer un plugin a todos: envíelo al marketplace comunitario de Anthropic. Consulte Enviar al marketplace comunitario.
- Usar un plugin usted mismo: cárguelo con
--plugin-diro guárdelo en su directorio de skills. Consulte Desarrollar sin un marketplace.
Crear un marketplace
Los siguientes pasos crean un marketplace en su máquina, agregan un plugin a él, lo registran en Claude Code e instalan el plugin desde él. Este es el ciclo completo, y es el mismo ciclo por el que pasan sus usuarios una vez que aloja el marketplace en algún lugar al que puedan acceder. Ejecute cada comando en su shell, desde el directorio donde desea que se creemy-marketplace/.
Necesita un plugin para enumerar. El ejemplo utiliza my-first-plugin de Crear su primer plugin, un plugin con una skill que ejecuta como /my-first-plugin:hello; constrúyalo primero si aún no tiene un plugin. Para usar un plugin propio en su lugar, sustituya su directorio y su name dondequiera que los pasos digan my-first-plugin. Para saber qué puede contener un directorio de plugins, consulte el explorador de directorios de plugins.
1
Configurar el directorio del marketplace
Un marketplace es un directorio con un archivo Verifique que el plugin sea válido donde ahora se encuentra, para que cualquier error posterior sea sobre el marketplace y no sobre el plugin:La última línea de la salida dice
.claude-plugin/marketplace.json, más los plugins que enumera. Cree el directorio del marketplace y su carpeta .claude-plugin/, luego copie su plugin bajo plugins/:✔ Validation passed.2
Crear el archivo del marketplace
Guarde
marketplace.json en my-marketplace/.claude-plugin/marketplace.json. El archivo requiere un name, un owner y un array plugins.Cada objeto en plugins es una entrada de plugin y necesita un name y una source. Escriba la source de la entrada como una ruta desde la raíz del marketplace. La raíz es my-marketplace/, el directorio que contiene .claude-plugin/.my-marketplace/.claude-plugin/marketplace.json
3
Validar el marketplace
Ejecute Para el archivo tal como se escribió en el paso 2, la última línea de la salida dice
claude plugin validate en el directorio del marketplace para verificar la sintaxis JSON, los campos requeridos y cada entrada de plugin en su .claude-plugin/marketplace.json.✔ Validation passed.4
Agregar el marketplace e instalar el plugin
Registre el directorio como un marketplace.El comando imprime El comando imprime
✔ Successfully added marketplace: my-marketplace (declared in user settings), lo que significa que el marketplace se registra en su archivo de configuración de usuario.Instale el plugin. El id de instalación es el name de la entrada, una @ y el name del marketplace.✔ Successfully installed plugin: my-first-plugin@my-marketplace (scope: user).Dentro de una sesión, /plugin marketplace add ./my-marketplace registra el marketplace de la misma manera. /plugin install my-first-plugin@my-marketplace abre los detalles del plugin en el panel /plugin, donde lo instala. Para ese flujo, consulte Instalar y administrar plugins.5
Confirmar que el plugin se cargó
Enumere los plugins instalados.La salida enumera La sección
my-first-plugin@my-marketplace con Status: ✔ enabled.Para ver qué cargó el plugin, muestre sus detalles.Component inventory dice Skills (1) hello.Para ejecutar la skill, inicie una sesión e ingrese /my-first-plugin:hello. Claude lo saluda. El comando tiene el nombre del plugin como prefijo, como lo hace el nombre de cada skill de plugin.Agregar entradas de plugins
Cada plugin que distribuya es un objeto en el arrayplugins de marketplace.json. Para agregar un segundo plugin, agregue un segundo objeto. Estos campos cubren la mayoría de entradas:
name: el identificador que las personas escriben antes de@cuando instalan. No puede contener espacios.source: dónde Claude Code obtiene el plugin. Escriba una cadena de ruta relativa para un plugin dentro del directorio del marketplace, como en el tutorial, o un objeto de source para un plugin fuera de él. Consulte Elegir una source de plugin.description: la línea que las personas ven junto al plugin cuando exploran su marketplace en/plugin.
plugin.json. Para saber cuándo se aplican los campos plugin.json de una entrada a un plugin que tiene su propio plugin.json, consulte Entrada y plugin.json.
Reglas para entradas de plugins
La mayoría de las instalaciones fallidas desde un nuevo marketplace provienen de una ruta relativa escrita desde el directorio incorrecto, o de un nombre de entrada que difiere delname en el plugin.json del plugin.
Escribir rutas relativas desde la raíz del marketplace
La raíz del marketplace es el directorio que contiene.claude-plugin/. En el tutorial, eso es my-marketplace/, por lo que la source de la entrada es "./plugins/my-first-plugin". La ruta no comienza dentro de .claude-plugin/, así que no use .. para salir de él.
Una ruta con .. y una ruta a un directorio faltante fallan en comandos diferentes:
- Una ruta con
..:claude plugin validatereporta la entrada como inválida. El mensaje comienzaPath contains "..": ./../plugins/my-first-plugin. - Una ruta a un directorio que no existe:
claude plugin validatepasa.claude plugin installfalla conSource path does not exist: <path>, y<path>es la ubicación absoluta que Claude Code verificó.
Mantener el nombre de la entrada y el nombre del manifest iguales
Un plugin de marketplace tiene unname de entrada en marketplace.json y un name en su propio plugin.json, llamado el nombre del manifest. Cada nombre aparece en lugares diferentes:
- Nombre de entrada: el id de instalación,
<entry-name>@<marketplace>. Es lo que las personas escriben para instalar, lo queclaude plugin listmuestra, y la clave que Claude Code escribe bajoenabledPluginsen su archivo de configuración. - Nombre del manifest: el prefijo en las skills del plugin, y el nombre que
claude plugin detailstoma.
Plugin "<manifest-name>" not found in marketplace "<marketplace>". Mantenga los dos nombres iguales. Para más información sobre cómo Claude Code usa los dos nombres, consulte Referencia de carga de plugins.
Elegir una source de plugin
Cada entrada de plugin enmarketplace.json tiene una source que le dice a Claude Code dónde obtener ese plugin. Elija la source según dónde se almacenan los archivos del plugin. La tabla enumera las sources que la mayoría de los propietarios de marketplace utilizan.
En una source
git-subdir, url toma una URL de git o una abreviatura de GitHub owner/repo.
Un plugin también puede provenir de uno de estos tipos de source:
url: un repositorio de git por URL, en cualquier hostarchive: un archivo zip descargado sobre HTTPSnpm: un paquete npmcommand: un directorio producido al ejecutar un comando en la máquina donde se instala el plugin
ref o sha, consulte Plugin sources.
Validar y probar
A medida que agregue plugins, ejecuteclaude plugin validate ./my-marketplace en su shell después de cada edición, e instale desde el marketplace en su propia máquina antes de compartirlo. La validación y la instalación detectan problemas diferentes.
Problemas que la validación reporta
claude plugin validate lee solo archivos dentro del directorio del marketplace. Reporta:
- Errores de sintaxis JSON, como
json: Invalid JSON syntax: <reason> - Campos requeridos faltantes, como
owner: Invalid input - Un nombre de marketplace con espacios, caracteres no ASCII, o una forma que imita un marketplace oficial de Anthropic, como
claude-official - Una
sourcerelativa que contiene.. - Campos desconocidos en el nivel superior o en una entrada de plugin, como advertencias
- Problemas en el
plugin.jsonde cada plugin de ruta relativa, comoplugins[N] plugin.json → <field>: <message>
validate puede imprimir, consulte Mensajes de validación. Para sus banderas y códigos de salida, consulte plugin validate.
Problemas que aparecen cuando agrega o instala
Los problemas queclaude plugin validate no reporta aparecen cuando agrega el marketplace o instala desde él:
- Cuando agrega el marketplace: los nombres de marketplace oficiales exactos, como
claude-plugins-official, pasan la validación. Cuando agrega un marketplace con uno de esos nombres, Claude Code lo rechaza con un mensaje que comienzaThe name '<name>' is reserved for official Anthropic marketplaces. - Cuando instala un plugin:
- Claude Code primero obtiene una source
github,git-subdiru otra remota cuando instala el plugin, por lo que unrepoopathincorrecto aparece entonces. - Una
sourcerelativa cuyo directorio no existe también falla en la instalación, conSource path does not exist: <path>.
- Claude Code primero obtiene una source
Probar una edición a un plugin
En el tutorial, agregómy-marketplace desde un directorio local con una source de ruta relativa. Con esa configuración, Claude Code lee los archivos del plugin directamente desde my-marketplace/plugins/. Sus ediciones surten efecto al iniciar la siguiente sesión o cuando ejecuta /reload-plugins en una sesión, sin cambio en la version del plugin.
Las personas que instalan desde su marketplace alojado obtienen una copia en el caché de plugins en su lugar. Para saber cómo reciben una nueva versión, consulte Mantener a los usuarios actualizados.
Eliminar el marketplace para empezar de nuevo
Para eliminar todo y empezar de nuevo, ejecuteclaude plugin marketplace remove my-marketplace en su shell. El comando elimina el marketplace y desinstala sus plugins.
Alojar su marketplace
Una vez que pueda instalar un plugin desde el marketplace en su propia máquina, como en Crear un marketplace, envíe el directorio del marketplace a un host de git. Sus compañeros de equipo ejecutanclaude plugin marketplace add <owner>/<repo> en su shell para un repositorio de GitHub, o el mismo comando con la URL del repositorio. Luego instalan un plugin por nombre como en el tutorial.
Para acceso a repositorio privado, actualizaciones, versionado, y cambio de nombre o eliminación de entradas, consulte Alojar y mantener un marketplace.
Próximos pasos
- Alojar y mantener un marketplace: elija un host, mantenga a los usuarios actualizados, y cambie el nombre o elimine plugins de forma segura
- Referencia de marketplace: campos de
marketplace.jsony tipos de source - Administrar plugins para su organización: requiera su marketplace y sus plugins en cada máquina
- Sugerir plugins por relevancia: haga que Claude Code sugiera un plugin de su marketplace cuando una sesión coincida