marketplace.json onde outras pessoas possam adicioná-lo com /plugin marketplace add, instalar seus plugins e continuar recebendo suas alterações após você fazer push.
Esta página é para a pessoa que opera um marketplace.
Estes casos são cobertos em outras páginas:
- Você ainda não escreveu o arquivo de catálogo: comece com Create a marketplace
- Você é um administrador que exige, restringe ou pré-instala marketplaces nas máquinas da sua organização: leia Manage plugins for your organization
name de um plugin.
Host your marketplace
Você pode hospedar o marketplace no GitHub, em outro host git, como uma URLmarketplace.json hospedada ou em um diretório em um sistema de arquivos compartilhado. Envie aos seus usuários o comando add para seu host e diga-lhes o que eles precisam em sua máquina:
Para fixar uma branch ou tag de um marketplace GitHub ou git-URL, diga aos usuários para anexar
#<ref>, como em your-org/your-marketplace#stable. A plugin commands reference lista todas as formas que o comando aceita.
Um add bem-sucedido imprime Successfully added marketplace: your-marketplace. Claude Code pega esse nome do campo name em seu marketplace.json, não do nome do repositório.
Os usuários então instalam um plugin pelo name da entrada e pelo name do marketplace, como em /plugin install code-formatter@your-marketplace.
Register the marketplace for everyone in a repository
Para compartilhar o marketplace com todos que trabalham em um repositório, executeclaude plugin marketplace add your-org/your-marketplace --scope project lá uma vez a partir de seu shell e faça commit do .claude/settings.json que ele escreve. Claude Code então registra o marketplace para cada colega de trabalho que trusts the folder.
Avoid relative-path entries in a URL-hosted marketplace
Quando os usuários adicionam seu marketplace como uma URLmarketplace.json simples, Claude Code baixa apenas esse arquivo. Uma entrada em seu array plugins cujo source é um caminho relativo como ./plugins/formatter então falha na instalação com its marketplace entry path does not stay inside the marketplace directory. Dê a cada entrada um source que possa ser buscado por conta própria, como um repositório github ou uma URL archive, ou hospede o marketplace em um repositório git para que Claude Code clone a árvore inteira.
Edit plugins in place on a shared directory
Quando os usuários adicionam seu marketplace a partir de um diretório compartilhado, Claude Code lê plugins com sources de caminho relativo diretamente desse diretório em vez de copiá-los. Os usuários veem suas edições quando iniciam a próxima sessão ou executam/reload-plugins, sem uma etapa de atualização ou um bump de versão.
Keep plugin files out of Git LFS
Mantenha os arquivos que seus plugins precisam fora de Git LFS. Quando os usuários adicionam um marketplace hospedado em um repositório git ou instalam um plugin baseado em git que ele lista, Claude Code clona esse marketplace ou repositório de plugin em sua máquina. O clone nunca baixa conteúdo LFS, então arquivos rastreados por LFS chegam como arquivos de ponteiro.Share files within a marketplace with symlinks
Para compartilhar arquivos entre seu plugin e outras partes do mesmo marketplace, crie links simbólicos dentro do diretório do seu plugin. Quando Claude Code copia o plugin em seu cache, ele lida com cada symlink por onde o alvo se resolve:- Dentro do próprio diretório do plugin: o symlink é preservado como um symlink relativo no cache, para que continue resolvendo para o alvo copiado em tempo de execução.
- Em outro lugar dentro do mesmo marketplace: o symlink é desreferenciado. O conteúdo do alvo é copiado para o cache em seu lugar. Isso permite que o diretório
skills/de um meta-plugin vincule a skills definidas por outros plugins no marketplace. - Fora do marketplace: o symlink é ignorado por segurança.
command source cujo mode é o padrão copy, Claude Code preserva apenas symlinks que se resolvem dentro do próprio diretório do plugin e ignora todos os outros.
O comando a seguir cria um link de dentro de um plugin de marketplace para uma skill compartilhada definida por um plugin irmão. No Windows, use mklink /D a partir de um Prompt de Comando elevado ou ative o Modo de Desenvolvedor:
Distribute through organization settings
Em um plano Team ou Enterprise, você também pode distribuir o marketplace através de Organization settings > Plugins & skills em claude.ai em vez de hospedá-lo em algum lugar onde os usuários o adicionem. Organization sync lê o repositório através da conexão GitHub ou GitLab da sua organização em claude.ai, então as credenciais git dos seus usuários não estão envolvidas. Organization sync é mais rigoroso sobre o repositório do que/plugin marketplace add é:
- Repositório de marketplace: em github.com e gitlab.com, deve ser privado ou interno
- Plugin sources: cada plugin source deve ser do tipo
github,urlougit-subdir, ou um relative path que comece com./ - Diretório
bin/de nível superior: claude.ai rejeita um plugin que tem um e sincroniza o resto do marketplace. A mensagem de erro começa comPlugin contains a top-level bin/ directory. Mantenha executáveis em outro diretório, comoscripts/, e referencie-os como${CLAUDE_PLUGIN_ROOT}/scripts/<name>a partir de seus hooks ou configurações de servidor MCP
Grant access to a private marketplace
Quando um usuário adiciona, instala a partir de ou atualiza seu marketplace, Claude Code executagit em sua máquina com prompts interativos desativados e depende de quaisquer credenciais que essa máquina já tenha. Claude Code não tem seu próprio token git, e marketplace.json não tem campo para um.
Você escolhe se o clone é executado sobre SSH ou HTTPS pela forma do comando add que você envia aos usuários:
- GitHub
owner/repo: Claude Code testassh -T git@github.come clona sobre SSH quando o teste é bem-sucedido. Se o teste falhar ou o próprio clone SSH falhar, ele clona sobre HTTPS. Os usuários em máquinas sem uma chave SSH do GitHub podem definirCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1para pular o teste e clonar sobre HTTPS. git@host:path.git: SSH.https://example.com/repo.git: HTTPS.
- SSH: a chave deve funcionar sem um prompt de passphrase, por exemplo porque está carregada em
ssh-agent. O host já deve estar emknown_hosts. - HTTPS: Claude Code deixa o helper de credencial git do usuário ativado, mas proíbe-o de solicitar. Uma credencial que o helper já armazena funciona; uma que ele teria que pedir falha. No GitHub,
gh auth loginseguido degh auth setup-gitarmazena uma.
Serve users who have no git-host account
Os usuários sem uma conta de host git podem adicionar um marketplace que você serve como uma URLmarketplace.json ou a partir de um diretório compartilhado, mas podem instalar apenas os plugins cujas entradas sources eles também podem alcançar. Uma entrada que aponta para um repositório github privado ainda falha na instalação para eles, porque Claude Code a busca com o mesmo git não-interativo que usa para um marketplace hospedado em git.
Estas entry sources não precisam de conta git:
archive: um zip baixado sobre HTTPS. Os usuários não precisam degitnem de uma conta, apenas acesso de rede à URL. Requer Claude Code v2.1.224 ou posterior. Fixe cada archive comsha256para que Claude Code recuse um download alterado. Para enviar credenciais com o download, veja Authenticate archive downloads.- Um repositório git público: Claude Code clona um source
urlougit-subdirpúblico sobre HTTPS sem credenciais quando a entrada fornece uma URLhttps://. Para um sourcegithubou um sourcegit-subdirescrito comoowner/repo, os usuários sem uma chave SSH do GitHub definemCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1.
directory em um sistema de arquivos compartilhado também funciona sem contas git. Os usuários precisam apenas de acesso de leitura ao caminho.
What background auto-update does with credentials
Background auto-update é a atualização desatendida de Claude Code de marketplaces e plugins instalados após uma sessão iniciar. Está desativado para seu marketplace até que um usuário ou administrador o ative, conforme coberto em Keep users up to date. Quando está ativado para um marketplace privado, a verificação de fundo de novos commits usa os helpers de credencial git configurados do usuário e nunca solicita. Cada tipo de remoto e helper fornece um resultado diferente:- Remotes SSH: uma chave carregada em
ssh-agentautentica a verificação. - Remotes HTTPS com uma credencial armazenada: um helper que pode fornecer uma credencial armazenada sem solicitar autentica a verificação. Git Credential Manager, o helper Keychain do macOS e
git-credential-storefuncionam dessa forma uma vez que mantêm uma credencial para o host. - Remotes HTTPS com um helper que precisa solicitar: o helper não pode responder em segundo plano. A atualização falha silenciosamente e o checkout existente permanece no lugar, para que os plugins do usuário continuem funcionando a partir do último estado sincronizado.
- O checkout está atualizado: Claude Code o deixa como está.
- A verificação encontra novos commits ou falha porque não consegue alcançar ou autenticar para o remoto: Claude Code clona o marketplace novamente e substitui o checkout existente pelo novo clone. Se esse clone falhar, o checkout existente permanece no lugar. O re-clone pode time out on large repositories.
- Armazenar uma credencial: faça login no helper de credencial primeiro para que ele mantenha uma credencial para o host. Para GitHub, execute
gh auth login, depoisgh auth setup-git. - Manter o checkout em falha: se o usuário definir
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1, Claude Code mantém o checkout existente sem tentar o re-clone quando a verificação de fundo não consegue alcançar ou autenticar para o remoto. Os plugins continuam funcionando a partir do último estado sincronizado.
GITHUB_TOKEN ou outro token de provedor no ambiente, isso sozinho não autentica a verificação de fundo. Um token entra em vigor através de um helper de credencial, como o helper da CLI gh, que lê GH_TOKEN e GITHUB_TOKEN.
Roll out to a whole company
Lançar um plugin para uma empresa envolve você como proprietário do marketplace, um administrador que controla configurações gerenciadas e cada pessoa que usa Claude Code. Você pode executar o lançamento sem o administrador, caso em que cada pessoa adiciona o marketplace e instala o plugin por conta própria.
Para pessoas que não têm conta de host git, estas seções cobrem uma forma cada de alcançá-las:
- Entry sources que não precisam de conta git: Serve users who have no git-host account
- Um diretório de plugins pré-preenchido: Seed containers and CI, que também serve usuários que não têm conta de host git
- Configurações de organização claude.ai: Distribute through organization settings, onde as credenciais git dos seus usuários não estão envolvidas
Keep users up to date
Suas alterações chegam aos usuários através de background auto-update, uma vez que está ativado para seu marketplace, ou quando os usuários atualizam o plugin por conta própria. Em ambos os casos, um usuário obtém uma nova cópia de um plugin apenas quando sua versão computada muda, conforme descrito em Release a new version.Turn on auto-update
Background auto-update está desativado para seu marketplace por padrão, emarketplace.json não tem campo para ativá-lo. Um usuário ou um administrador o ativa:
- Diga aos usuários para ativá-lo: cada usuário vai para Marketplaces em
/plugin, seleciona seu marketplace e seleciona Enable auto-update. - Peça a um administrador para defini-lo: se um administrador definir
"autoUpdate": truena entradaextraKnownMarketplacesdo seu marketplace em configurações gerenciadas, está ativado para todos que recebem essas configurações. Veja Set update policy.
/plugin marketplace update <name> em uma sessão ou claude plugin update <plugin>@<name> no shell.
Para o que os usuários veem quando uma atualização os alcança, veja When auto-update runs.
Release a new version
Para lançar uma nova versão aos usuários, altere oversion do plugin. Os usuários obtêm uma nova cópia apenas quando a versão computada do plugin difere da que eles têm. Essa versão vem de plugin.json primeiro, depois da entrada do marketplace, por Versions and updates.
Um plugin que os usuários load in place a partir de um marketplace que adicionaram como um diretório local não é controlado por version. Ele carrega seus arquivos atuais em cada início de sessão, seja qual for sua string de versão.
Para cada instalação que não seja um carregamento in-place ou um de um source command, aumente version em cada lançamento ou omita-o:
- Bump
versionem cada lançamento: os usuários permanecem em sua cópia em cache até a string mudar. Se você definir"version": "1.0.0"e fazer push de novos commits sem alterá-lo, os usuários não os recebem. - Omita
version: os usuários rastreiam seus commits em vez disso. Deixeversionfora deplugin.jsone da entrada do marketplace.
version em plugin.json e na entrada do marketplace. Se você fizer, Claude Code usa o valor plugin.json sem aviso, e claude plugin validate relata a incompatibilidade como Entry declares version "<a>" but <path>/plugin.json says "<b>".
Hold users on one version
Um marketplace serve uma versão de cada plugin por vez, então você mantém os usuários em uma versão escolhendo o que cada entrada aponta:refeshana entrada do plugin:refnomeia uma branch ou tag eshanomeia um commit para um sourcegithub,urlougit-subdir. Veja Plugin sources.#<ref>no comando add: os usuários que adicionamyour-org/your-marketplace#stableobtêm essa branch ou tag do catálogo. Para duas linhas de lançamento ao mesmo tempo, veja Run release channels.- Tags
<plugin>--v<version>: um intervalo de versão de uma dependência se resolve contra essas tags. Veja Release a plugin that others depend on.
Change the command of a command source
Se você alterar ocommand de um command source ou alternar seu mode, cada usuário tem que aceitar o novo comando antes de Claude Code executá-lo. Claude Code executa apenas o comando exato que um usuário aceitou quando instalou ou atualizou pela última vez o plugin.
Depois que a cópia do marketplace de um usuário pega a alteração, esse usuário vê o seguinte:
- Sem mais execuções de fundo: a once-per-session run do comando para para esse usuário, então a nova saída da ferramenta não os alcança.
- Uma entrada na aba Errors do
/plugin: a entrada mostra o novo comando e o comandoclaude plugin updatepara executar.
claude plugin update que essa entrada mostra, em um terminal. Claude Code mostra a eles o novo comando e pede que o aceitem.
Run release channels
Para oferecer faixas estáveis e de acesso antecipado, hospede dois marketplaces cujas entradas apontam para diferentes refs do mesmo plugin e deixe cada usuário adicionar o que quiser. Claude Code não tem conceito de canal de lançamento, e um marketplace serve uma versão de cada plugin por vez. Dê aos dois arquivosmarketplace.json valores name diferentes. Claude Code identifica um marketplace por seu name, então um usuário não pode ter dois marketplaces com o mesmo nome registrados ao mesmo tempo.
Com estes dois catálogos, os usuários que adicionam stable-tools instalam code-formatter a partir da branch stable, e os usuários que adicionam latest-tools instalam a partir de latest:
plugin.json diferentes ou omita version para que o commit SHA os distinga. As atualizações são detectadas comparando versões, então uma ref que se move sem uma mudança de versão deixa os usuários na cópia em cache.
Para atribuir os canais a grupos de usuários em vez de deixar os usuários escolherem, um administrador dá a cada grupo a entrada extraKnownMarketplaces correspondente, conforme descrito em Set update policy.
Rename or remove a plugin
Oname de um plugin é seu identificador. Os usuários o referenciam nas chaves de configurações enabledPlugins e pluginConfigs e em /plugin install, então alterá-lo quebra cada instalação existente.
Para alterar o rótulo que os usuários veem em /plugin sem quebrar nada, defina displayName em plugin.json e mantenha name inalterado.
Migrate users with a renames map
Quando você deve alterar umname, adicione um mapa renames de nível superior a marketplace.json para que Claude Code migre usuários existentes em vez de relatar Plugin "<name>" not found in marketplace. Faça o mesmo quando remover uma entrada de plugins. A migração automática requer Claude Code v2.1.193 ou posterior.
Mapeie cada nome anterior para seu nome atual ou para null quando o plugin se foi. Este marketplace renomeia formatter para code-formatter e registra que legacy-linter foi removido:
- Entrada renomeada: o plugin carrega sob seu novo nome.
claude plugin liste os detalhes do plugin em/pluginmostramRenamed to "code-formatter" in the "your-marketplace" marketplaceuma vez, e Claude Code reescreve a chave antiga para a nova emenabledPluginsepluginConfigsnos escopos de configurações do usuário, projeto e local. - Entrada
null: a chave antiga é removida desses escopos e o usuário vêRemoved from the "your-marketplace" marketplace. - Ativado em configurações gerenciadas: o plugin ainda carrega sob seu novo nome, mas Claude Code não pode reescrever configurações gerenciadas, então o aviso recorre até que um administrador atualize
enabledPluginslá.
Plugin "<name>" not cached at <path> até que o usuário execute /plugin install code-formatter@your-marketplace uma vez em uma sessão.
Trate renames como histórico apenas de acréscimo. Mantenha entradas antigas depois que todos migrarem. Quando renomear novamente, adicione uma segunda entrada em vez de editar a primeira, porque Claude Code segue a cadeia a partir do nome mais antigo.
Em seu shell, execute claude plugin validate . após editar o mapa. Ele rejeita uma cadeia que cicla ou que termina em qualquer lugar que não seja null ou um nome em plugins, com renames.<name>: chain does not resolve.
Uninstall removed plugins from users’ machines
Para desinstalar um plugin removido das máquinas dos usuários em vez de deixar uma cópia para trás, defina"forceRemoveDeletedPlugins": true no nível superior de marketplace.json. Sem o campo, um plugin removido permanece instalado e relata Plugin "<name>" not found in marketplace quando uma sessão o carrega. Com ele, Claude Code faz o seguinte em cada início de sessão:
- Compara o que os usuários instalaram a partir de seu marketplace contra as entradas e o mapa
renames, e trata qualquer plugin que não esteja listado nem renomeado como removido. - Desinstala cada plugin removido do usuário, projeto e escopos locais. Os plugins que apenas configurações gerenciadas instalaram permanecem no lugar.
- Lista cada plugin removido em um cabeçalho Flagged em
/plugincom o statusRemoved from marketplace.
Authenticate archive downloads
Para autenticar um downloadarchive, como um download de um registro privado, defina os cabeçalhos HTTP que Claude Code envia com ele. Você pode definir headers em um destes lugares:
- O source
urldo marketplace: o sourceurlque você registrou o marketplace a partir de, como uma entradaextraKnownMarketplaces. - A entrada do plugin: em Claude Code v2.1.238 ou posterior, você pode defini-lo na entrada
marketplace.jsondo plugin em vez disso, ao lado desource.
headersHelper em vez de headers quando o valor é de curta duração, como um token que seu registro gera sob demanda. Claude Code executa o comando e envia o objeto JSON que ele imprime como os headers desse lugar. Requer Claude Code v2.1.238 ou posterior.
A marketplace reference lista os campos de entrada headers e headersHelper.
O lugar que você escolhe decide quais downloads obtêm os headers e quando Claude Code executa o comando:
Onde ambos os lugares definem um header do mesmo nome, Claude Code envia o valor da entrada. Dentro de um lugar, um header que o comando imprime substitui um header do mesmo nome listado em
headers.
Add a headersHelper to a plugin entry
Esta entrada defineheadersHelper ao lado de source. Ela também define "strict": false, que Claude Code exige de uma entrada marketplace.json que define headersHelper:
claude plugin install my-plugin@your-marketplace em seu shell. Claude Code mostra a você o comando e a URL do archive, e baixa o zip depois que você aceita.
Write the headersHelper command
Se você defineheadersHelper em um source url de um marketplace ou em uma entrada de plugin, escreva o comando para atender a estes requisitos:
- Texto do comando: no máximo 500 caracteres de ASCII imprimível, sem uma sequência de quatro ou mais espaços.
- Saída: imprima um objeto JSON de nomes de headers e valores de string em stdout, depois saia com 0 dentro de 10 segundos.
- Shell e diretório de trabalho: Claude Code executa o comando através de
shou através decmd.exeno Windows. O diretório de trabalho é o diretório de configuração, que é~/.claudeouCLAUDE_CONFIG_DIR. Dê um caminho absoluto ou um comando emPATH, porque um caminho relativo se resolve contra esse diretório, não o projeto do usuário. - Variáveis que Claude Code remove: quando o comando é definido em uma entrada
marketplace.jsonou no.claude/settings.jsonou.claude/settings.local.jsonde um projeto, Claude Code remove do ambiente cada variável cujo nome parece uma credencial, pela mesma regra que aplica a umheadersHelperMCP.ANTHROPIC_API_KEYeMY_REGISTRY_TOKENsão ambos removidos, então tenha o comando ler sua credencial de um arquivo ou um armazenamento de credenciais. Esta remoção não se aplica a um comando definido em configurações de usuário, um arquivo--settingsou configurações gerenciadas. - Variáveis que Claude Code define:
CLAUDE_CODE_MARKETPLACE_URLeCLAUDE_CODE_MARKETPLACE_NAMEpara o comando de um sourceurl, eCLAUDE_CODE_PLUGIN_NAMEeCLAUDE_CODE_PLUGIN_ARCHIVE_URLpara o comando de uma entrada.CLAUDE_CODE_MARKETPLACE_NAMEnão está definido na primeira busca depois que um usuário adiciona um marketplace por URL, porque essa busca é o que fornece o nome.
When Claude Code skips a headersHelper command or drops its output
Um comandoheadersHelper não é executado ou headers de headers ou da saída do comando são descartados quando um dos seguintes se aplica:
- Comando falha: se o comando sair com não-zero, executar por mais de 10 segundos ou imprimir qualquer coisa que não seja um objeto JSON de valores de string, a busca ou download para o qual o comando foi executado não acontece.
- URL do marketplace não começa com
https://: o comando desse sourceurlnão é executado e as solicitações carregam apenas os headers listados em seu campoheaders. - Redirecionamento deixa a origem: quando um download é redirecionado para fora da origem da URL do archive, a solicitação redirecionada não carrega valores de
headersde nenhum sourceurldo marketplace ou entrada de plugin. - Entrada define um header de roteamento ou identidade: Claude Code descarta nomes de roteamento de solicitação e identidade de cliente como
Host,CookieeX-Forwarded-*deheadersde uma entrada e saída de comando, e mantém nomes de autenticação comoAuthorization. Cada entradamarketplace.jsoné filtrada dessa forma. Para uma entrada de plugin inline em configurações, vejaextraKnownMarketplaces. - Comando definido em configurações de um diretório
--add-dir: o comando é ignorado, em um sourceurle em uma entrada de plugin inline igualmente, e apenas osheadersdesse arquivo são enviados. - Configurações gerenciadas bloqueiam o comando: definir
disableCommandPluginSourcesparatruebloqueia comandosheadersHelper, eallowManagedHooksOnlytambém os bloqueia a menos quedisableCommandPluginSourcesseja explicitamentefalse. Sob um desses bloqueios, Claude Code ainda executa o comando para um marketplace que as próprias configurações gerenciadas declaram.
How users accept a headersHelper command
Um usuário aceita o comando de uma entrada de plugin cada vez que instala ou atualiza apenas esse plugin. Eles fazem isso a partir da própria visualização do plugin em/plugin ou com claude plugin install ou claude plugin update. Claude Code mostra o comando e a URL do archive, e executa o comando apenas depois que o usuário aceita.
Em um shell não-interativo, passe --yes para aceitar o comando. Para aceitar apenas o comando que uma execução anterior --json exibiu, passe --accept-command com o sha256 que a execução relatou.
Claude Code executa apenas o comando que mostrou, para a URL do archive que mostrou. Se o comando da entrada ou a URL do archive mudaram no meio, Claude Code recusa a instalação ou atualização. Uma mudança na string de consulta sozinha não conta.
Installs and updates that refuse a command instead of asking
Em qualquer operação que não seja uma instalação ou atualização de um único plugin, Claude Code não executa o comando de uma entrada nem baixa seu archive. O plugin permanece em sua versão instalada ou permanece desinstalado, e o usuário vê um destes resultados:- Instalando vários plugins ao mesmo tempo, a partir de uma sugestão de plugin ou como dependência de outro plugin: Claude Code recusa o plugin que tem o comando e direciona o usuário para a própria visualização desse plugin em
/plugin. Os outros plugins em uma instalação em massa ainda instalam. Um plugin que depende do plugin recusado falha em instalar até que o usuário instale o plugin recusado por conta própria. - Background auto-update ou início de sessão para um plugin cujo archive nunca foi baixado: Claude Code lista o plugin na aba Errors do
/pluginpara que o usuário saiba instalá-lo ou atualizá-lo por conta própria.
When a marketplace url source’s command runs
Você declara o headersHelper de um source url do marketplace em um arquivo de configurações, como uma entrada extraKnownMarketplaces, em vez de no catálogo que o marketplace publica. Claude Code portanto não pede ao usuário para aceitá-lo em cada instalação ou atualização. Em vez disso, o arquivo de configurações que o declara decide quando Claude Code o executa:
Para uma entrada de plugin inline em um desses arquivos, Claude Code exige a mesma confiança de pasta ou aprovação de configurações que para um comando de nível de marketplace nesse arquivo, e o usuário também aceita o comando da entrada em cada instalação ou atualização.
Depend on and recommend other plugins
Uma entrada pode declarar dependências em outros plugins.- Intervalos de versão: uma dependência pode carregar um intervalo semver.
- Dependências entre marketplaces: uma dependência de outro marketplace instala apenas quando seu marketplace lista esse marketplace em
allowCrossMarketplaceDependenciesOn.
<plugin>--v<version> que eles se resolvem contra e confiança entre marketplaces, veja Plugin dependencies.
Para ter Claude Code sugerir um plugin quando um projeto o corresponde, adicione um bloco relevance à entrada com os sinais que identificam o projeto. Os usuários veem sugestões do seu marketplace apenas quando um administrador o lista em pluginSuggestionMarketplaces. Para os sinais e a etapa de habilitação, veja Plugin relevance.
Work around what a marketplace can’t do
Algumas coisas que proprietários pedem não têm campo emmarketplace.json. Aqui está a opção mais próxima para cada:
- Restringir o que mais os usuários instalam: a lista de permissões do marketplace é uma configuração gerenciada,
strictKnownMarketplaces. Veja Restrict what users can install. - Instalar ou ativar um plugin sem o usuário pedir: nenhum campo de entrada instala um plugin.
enabledPluginsgerenciado faz isso para uma frota; veja Pre-install and require plugins. - Mostrar entradas diferentes para usuários diferentes: as entradas não carregam campo de audiência, e cada usuário que adiciona o marketplace vê o catálogo inteiro. Hospede marketplaces separados para audiências separadas.
- Marcar um plugin como descontinuado: não há estado de descontinuação. A opção é remover a entrada, mapear seu nome para
nullemrenamese opcionalmente definirforceRemoveDeletedPlugins. - Ativar auto-update para seus usuários: cada usuário o ativa em Marketplaces em
/pluginou um administrador defineautoUpdateem configurações gerenciadas. Veja Turn on auto-update. - Carregar credenciais git: nenhum campo de marketplace mantém um token git. O acesso a um marketplace ou plugin hospedado em git segue a configuração git do usuário, por Grant access to a private marketplace. Para sources
archive, uma entrada pode definirheadersouheadersHelperem vez disso.
Next steps
- Marketplace reference: campos
marketplace.json, tipos de source e mensagens de validação - Manage plugins for your organization: exija, restrinja ou semeie seu marketplace nas máquinas da sua organização
- Plugin dependencies: marque lançamentos para que plugins que dependem do seu possam resolver versões
- Troubleshoot plugins: os erros que seus usuários veem ao adicionar ou atualizar a partir de seu marketplace