Los mercados de plugins son catálogos de plugins disponibles que facilitan descubrir, instalar y gestionar extensiones de Claude Code. Esta guía te muestra cómo usar mercados existentes y crear el tuyo propio para distribución en equipo.

Descripción general

Un mercado es un archivo JSON que lista los plugins disponibles y describe dónde encontrarlos. Los mercados proporcionan:
  • Descubrimiento centralizado: Navega plugins de múltiples fuentes en un solo lugar
  • Gestión de versiones: Rastrea y actualiza versiones de plugins automáticamente
  • Distribución en equipo: Comparte plugins requeridos a través de tu organización
  • Fuentes flexibles: Soporte para repositorios git, repos de GitHub, rutas locales y gestores de paquetes

Prerrequisitos

  • Claude Code instalado y ejecutándose
  • Familiaridad básica con el formato de archivo JSON
  • Para crear mercados: Repositorio Git o entorno de desarrollo local

Agregar y usar mercados

Agrega mercados usando los comandos /plugin marketplace para acceder a plugins de diferentes fuentes:

Agregar mercados de GitHub

Agregar un repositorio de GitHub que contenga .claude-plugin/marketplace.json
/plugin marketplace add owner/repo

Agregar repositorios Git

Agregar cualquier repositorio git
/plugin marketplace add https://gitlab.com/company/plugins.git

Agregar mercados locales para desarrollo

Agregar directorio local que contenga .claude-plugin/marketplace.json
/plugin marketplace add ./my-marketplace
Agregar ruta directa al archivo marketplace.json
/plugin marketplace add ./path/to/marketplace.json
Agregar marketplace.json remoto vía URL
/plugin marketplace add https://url.of/marketplace.json

Instalar plugins desde mercados

Una vez que hayas agregado mercados, instala plugins directamente:
Instalar desde cualquier mercado conocido
/plugin install plugin-name@marketplace-name
Navegar plugins disponibles interactivamente
/plugin

Verificar instalación de mercado

Después de agregar un mercado:
  1. Listar mercados: Ejecuta /plugin marketplace list para confirmar que está agregado
  2. Navegar plugins: Usa /plugin para ver plugins disponibles desde tu mercado
  3. Probar instalación: Intenta instalar un plugin para verificar que el mercado funciona correctamente

Configurar mercados de equipo

Configura la instalación automática de mercados para proyectos de equipo especificando mercados requeridos en .claude/settings.json:
{
  "extraKnownMarketplaces": {
    "team-tools": {
      "source": {
        "source": "github",
        "repo": "your-org/claude-plugins"
      }
    },
    "project-specific": {
      "source": {
        "source": "git",
        "url": "https://git.company.com/project-plugins.git"
      }
    }
  }
}
Cuando los miembros del equipo confían en la carpeta del repositorio, Claude Code instala automáticamente estos mercados y cualquier plugin especificado en el campo enabledPlugins.

Crear tu propio mercado

Construye y distribuye colecciones de plugins personalizadas para tu equipo o comunidad.

Prerrequisitos para creación de mercado

  • Repositorio Git (GitHub, GitLab, u otro hosting git)
  • Comprensión del formato de archivo JSON
  • Uno o más plugins para distribuir

Crear el archivo de mercado

Crea .claude-plugin/marketplace.json en la raíz de tu repositorio:
{
  "name": "company-tools",
  "owner": {
    "name": "DevTools Team",
    "email": "[email protected]"
  },
  "plugins": [
    {
      "name": "code-formatter",
      "source": "./plugins/formatter",
      "description": "Formateo automático de código al guardar",
      "version": "2.1.0",
      "author": {
        "name": "DevTools Team"
      }
    },
    {
      "name": "deployment-tools",
      "source": {
        "source": "github",
        "repo": "company/deploy-plugin"
      },
      "description": "Herramientas de automatización de despliegue"
    }
  ]
}

Esquema de mercado

Campos requeridos

CampoTipoDescripción
namestringIdentificador del mercado (kebab-case, sin espacios)
ownerobjectInformación del mantenedor del mercado
pluginsarrayLista de plugins disponibles

Metadatos opcionales

CampoTipoDescripción
metadata.descriptionstringBreve descripción del mercado
metadata.versionstringVersión del mercado
metadata.pluginRootstringRuta base para fuentes de plugins relativos

Entradas de plugins

Las entradas de plugins se basan en el esquema de manifiesto de plugin (con todos los campos hechos opcionales) más campos específicos del mercado (source, category, tags, strict), siendo name requerido.
Campos requeridos:
CampoTipoDescripción
namestringIdentificador del plugin (kebab-case, sin espacios)
sourcestring|objectDe dónde obtener el plugin

Campos opcionales de plugin

Campos de metadatos estándar:
CampoTipoDescripción
descriptionstringBreve descripción del plugin
versionstringVersión del plugin
authorobjectInformación del autor del plugin
homepagestringURL de la página principal o documentación del plugin
repositorystringURL del repositorio de código fuente
licensestringIdentificador de licencia SPDX (ej., MIT, Apache-2.0)
keywordsarrayEtiquetas para descubrimiento y categorización de plugins
categorystringCategoría del plugin para organización
tagsarrayEtiquetas para búsqueda
strictbooleanRequerir plugin.json en carpeta de plugin (por defecto: true) 1
Campos de configuración de componentes:
CampoTipoDescripción
commandsstring|arrayRutas personalizadas a archivos o directorios de comandos
agentsstring|arrayRutas personalizadas a archivos de agentes
hooksstring|objectConfiguración de hooks personalizada o ruta al archivo de hooks
mcpServersstring|objectConfiguraciones de servidor MCP o ruta a configuración MCP
1 - Cuando strict: true (por defecto), el plugin debe incluir un archivo de manifiesto plugin.json, y los campos del mercado complementan esos valores. Cuando strict: false, el plugin.json es opcional. Si falta, la entrada del mercado sirve como el manifiesto completo del plugin.

Fuentes de plugins

Rutas relativas

Para plugins en el mismo repositorio:
{
  "name": "my-plugin",
  "source": "./plugins/my-plugin"
}

Repositorios de GitHub

{
  "name": "github-plugin",
  "source": {
    "source": "github",
    "repo": "owner/plugin-repo"
  }
}

Repositorios Git

{
  "name": "git-plugin",
  "source": {
    "source": "url",
    "url": "https://gitlab.com/team/plugin.git"
  }
}

Entradas avanzadas de plugins

Las entradas de plugins pueden anular ubicaciones de componentes por defecto y proporcionar metadatos adicionales. Nota que ${CLAUDE_PLUGIN_ROOT} es una variable de entorno que se resuelve al directorio de instalación del plugin (para detalles ver Variables de entorno):
{
  "name": "enterprise-tools",
  "source": {
    "source": "github",
    "repo": "company/enterprise-plugin"
  },
  "description": "Herramientas de automatización de flujo de trabajo empresarial",
  "version": "2.1.0",
  "author": {
    "name": "Enterprise Team",
    "email": "[email protected]"
  },
  "homepage": "https://docs.company.com/plugins/enterprise-tools",
  "repository": "https://github.com/company/enterprise-plugin",
  "license": "MIT",
  "keywords": ["enterprise", "workflow", "automation"],
  "category": "productivity",
  "commands": [
    "./commands/core/",
    "./commands/enterprise/",
    "./commands/experimental/preview.md"
  ],
  "agents": [
    "./agents/security-reviewer.md",
    "./agents/compliance-checker.md"
  ],
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [{"type": "command", "command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh"}]
      }
    ]
  },
  "mcpServers": {
    "enterprise-db": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
      "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"]
    }
  },
  "strict": false
}
Relación de esquema: Las entradas de plugins usan el esquema de manifiesto de plugin con todos los campos hechos opcionales, más campos específicos del mercado (source, strict, category, tags). Esto significa que cualquier campo válido en un archivo plugin.json también puede usarse en una entrada de mercado. Cuando strict: false, la entrada del mercado sirve como el manifiesto completo del plugin si no existe plugin.json. Cuando strict: true (por defecto), los campos del mercado complementan el archivo de manifiesto propio del plugin.

Alojar y distribuir mercados

Elige la mejor estrategia de alojamiento para tus necesidades de distribución de plugins.

Alojar en GitHub (recomendado)

GitHub proporciona el método de distribución más fácil:
  1. Crear un repositorio: Configura un nuevo repositorio para tu mercado
  2. Agregar archivo de mercado: Crea .claude-plugin/marketplace.json con tus definiciones de plugins
  3. Compartir con equipos: Los miembros del equipo agregan con /plugin marketplace add owner/repo
Beneficios: Control de versiones integrado, seguimiento de problemas y características de colaboración en equipo.

Alojar en otros servicios git

Cualquier servicio de alojamiento git funciona para distribución de mercados, usando una URL a un repositorio git arbitrario. Por ejemplo, usando GitLab:
/plugin marketplace add https://gitlab.com/company/plugins.git

Usar mercados locales para desarrollo

Prueba tu mercado localmente antes de la distribución:
Agregar mercado local para pruebas
/plugin marketplace add ./my-local-marketplace
Probar instalación de plugin
/plugin install test-plugin@my-local-marketplace

Gestionar operaciones de mercado

Listar mercados conocidos

Listar todos los mercados configurados
/plugin marketplace list
Muestra todos los mercados configurados con sus fuentes y estado.

Actualizar metadatos de mercado

Refrescar metadatos de mercado
/plugin marketplace update marketplace-name
Refresca listados de plugins y metadatos desde la fuente del mercado.

Remover un mercado

Remover un mercado
/plugin marketplace remove marketplace-name
Remueve el mercado de tu configuración.
Remover un mercado desinstalará cualquier plugin que hayas instalado desde él.

Solución de problemas de mercados

Problemas comunes de mercados

Mercado no carga

Síntomas: No se puede agregar mercado o ver plugins desde él Soluciones:
  • Verificar que la URL del mercado sea accesible
  • Comprobar que .claude-plugin/marketplace.json existe en la ruta especificada
  • Asegurar que la sintaxis JSON sea válida usando claude plugin validate
  • Para repositorios privados, confirmar que tienes permisos de acceso

Fallas de instalación de plugins

Síntomas: El mercado aparece pero la instalación de plugins falla Soluciones:
  • Verificar que las URLs de fuente de plugins sean accesibles
  • Comprobar que los directorios de plugins contengan archivos requeridos
  • Para fuentes de GitHub, asegurar que los repositorios sean públicos o que tengas acceso
  • Probar fuentes de plugins manualmente clonando/descargando

Validación y pruebas

Prueba tu mercado antes de compartir:
Validar sintaxis JSON del mercado
claude plugin validate .
Agregar mercado para pruebas
/plugin marketplace add ./path/to/marketplace
Instalar plugin de prueba
/plugin install test-plugin@marketplace-name
Para flujos de trabajo completos de prueba de plugins, ver Probar tus plugins localmente. Para solución de problemas técnicos, ver Referencia de plugins.

Próximos pasos

Para usuarios de mercados

  • Descubrir mercados comunitarios: Busca en GitHub colecciones de plugins de Claude Code
  • Contribuir retroalimentación: Reporta problemas y sugiere mejoras a los mantenedores de mercados
  • Compartir mercados útiles: Ayuda a tu equipo a descubrir colecciones valiosas de plugins

Para creadores de mercados

  • Construir colecciones de plugins: Crea mercados temáticos alrededor de casos de uso específicos
  • Establecer versionado: Implementa políticas claras de versionado y actualización
  • Participación comunitaria: Reúne retroalimentación y mantén comunidades activas de mercados
  • Documentación: Proporciona archivos README claros explicando el contenido de tu mercado

Para organizaciones

  • Mercados privados: Configura mercados internos para herramientas propietarias
  • Políticas de gobernanza: Establece pautas para aprobación de plugins y revisión de seguridad
  • Recursos de entrenamiento: Ayuda a los equipos a descubrir y adoptar plugins útiles efectivamente

Ver también