marketplace.json в месте, где другие люди смогут добавить его с помощью /plugin marketplace add, установить его плагины и продолжать получать ваши изменения после их публикации.
Эта страница предназначена для человека, который управляет маркетплейсом.
Эти случаи рассматриваются на других страницах:
- Вы еще не написали файл каталога: начните с Создание маркетплейса
- Вы администратор, требующий, ограничивающий или предварительно устанавливающий маркетплейсы на машинах вашей организации: прочитайте Управление плагинами для вашей организации
name плагина.
Host your marketplace
Вы можете разместить marketplace на GitHub, на другом git-хосте, как размещенный URLmarketplace.json или в каталоге на общей файловой системе. Отправьте пользователям команду добавления для вашего хоста и скажите им, что им нужно на их машине:
Чтобы закрепить ветку или тег marketplace GitHub или git-URL, скажите пользователям добавить
#<ref>, как в your-org/your-marketplace#stable. Справочник команд плагинов перечисляет все формы, которые команда принимает.
Успешное добавление выводит Successfully added marketplace: your-marketplace. Claude Code берет это имя из поля name в вашем marketplace.json, а не из имени репозитория.
Затем пользователи устанавливают плагин по name его записи и name marketplace, как в /plugin install code-formatter@your-marketplace.
Register the marketplace for everyone in a repository
Чтобы поделиться marketplace со всеми, кто работает в одном репозитории, запуститеclaude plugin marketplace add your-org/your-marketplace --scope project там один раз из вашей оболочки и зафиксируйте .claude/settings.json, который он создает. Claude Code затем регистрирует marketplace для каждого товарища по команде, который доверяет папке.
Avoid relative-path entries in a URL-hosted marketplace
Когда пользователи добавляют ваш marketplace как простой URLmarketplace.json, Claude Code загружает только этот файл. Запись в вашем массиве plugins, чей source является относительным путем, таким как ./plugins/formatter, затем не работает при установке с its marketplace entry path does not stay inside the marketplace directory. Дайте каждой записи источник, который можно получить самостоятельно, такой как репозиторий github или URL archive, или разместите marketplace в git-репозитории, чтобы Claude Code клонировал все дерево.
Edit plugins in place on a shared directory
Когда пользователи добавляют ваш marketplace из общего каталога, Claude Code читает плагины с источниками относительных путей непосредственно из этого каталога вместо их копирования. Пользователи видят ваши правки при следующем запуске сеанса или запуске/reload-plugins, без шага обновления или увеличения версии.
Keep plugin files out of Git LFS
Держите файлы, которые нужны вашим плагинам, вне Git LFS. Когда пользователи добавляют marketplace, размещенный в git-репозитории, или устанавливают основанный на git плагин, который он перечисляет, Claude Code клонирует этот marketplace или репозиторий плагина на их машину. Клон никогда не загружает содержимое LFS, поэтому отслеживаемые LFS файлы приходят как файлы указателей.Share files within a marketplace with symlinks
Чтобы поделиться файлами между вашим плагином и другими частями того же marketplace, создайте символические ссылки внутри каталога вашего плагина. Когда Claude Code копирует плагин в его кэш, он обрабатывает каждую символическую ссылку по тому, где разрешается цель:- В собственном каталоге плагина: символическая ссылка сохраняется как относительная символическая ссылка в кэше, поэтому она продолжает разрешаться скопированной цели во время выполнения.
- В другом месте в том же marketplace: символическая ссылка разыменовывается. Содержимое цели копируется в кэш на его место. Это позволяет каталогу
skills/мета-плагина ссылаться на навыки, определенные другими плагинами в marketplace. - Вне marketplace: символическая ссылка пропускается в целях безопасности.
command источника, чей mode является стандартным copy, Claude Code сохраняет только символические ссылки, которые разрешаются в собственном каталоге плагина, и пропускает все остальные.
Следующая команда создает ссылку из плагина marketplace на общий навык, определенный соседним плагином. На Windows используйте mklink /D из повышенной командной строки или включите режим разработчика:
Distribute through organization settings
На плане Team или Enterprise вы также можете распространять marketplace через Organization settings > Plugins & skills на claude.ai вместо размещения его где-то, где пользователи добавляют его сами. Organization sync читает репозиторий через подключение GitHub или GitLab вашей организации на claude.ai, поэтому учетные данные git ваших пользователей не задействованы. Organization sync более строг к репозиторию, чем/plugin marketplace add:
- Репозиторий Marketplace: на github.com и gitlab.com он должен быть приватным или внутренним
- Источники плагинов: каждый источник плагина должен быть типа
github,urlилиgit-subdir, или относительный путь, который начинается с./ - Каталог
bin/верхнего уровня: claude.ai отклоняет плагин, который его имеет, и синхронизирует остальную часть marketplace. Сообщение об ошибке начинается сPlugin contains a top-level bin/ directory. Держите исполняемые файлы в другом каталоге, таком какscripts/, и ссылайтесь на них как${CLAUDE_PLUGIN_ROOT}/scripts/<name>из ваших hooks или конфигов MCP сервера
Grant access to a private marketplace
Когда пользователь добавляет, устанавливает из или обновляет ваш marketplace, Claude Code запускаетgit на их машине с отключенными интерактивными подсказками и полагается на любые учетные данные, которые эта машина уже держит. Claude Code не имеет собственного git токена, и marketplace.json не имеет поля для него.
Вы выбираете, работает ли клон по SSH или HTTPS по форме команды добавления, которую вы отправляете пользователям:
- GitHub
owner/repo: Claude Code проверяетssh -T git@github.comи клонирует по SSH, когда проверка успешна. Если проверка не удается, или сам SSH клон не удается, он клонирует по HTTPS. Пользователи на машинах без ключа GitHub SSH могут установитьCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1, чтобы пропустить проверку и клонировать по HTTPS. git@host:path.git: SSH.https://example.com/repo.git: HTTPS.
- SSH: ключ должен работать без подсказки парольной фразы, например потому что он загружен в
ssh-agent. Хост должен уже быть вknown_hosts. - HTTPS: Claude Code оставляет помощника учетных данных git пользователя включенным, но запрещает ему подсказывать. Учетные данные, которые помощник уже хранит, работают; те, которые ему пришлось бы просить, не работают. На GitHub запустите
gh auth login, затемgh auth setup-git, чтобы сохранить один.
Serve users who have no git-host account
Пользователи без учетной записи git-хоста могут добавить marketplace, который вы обслуживаете, как URLmarketplace.json или из общего каталога, но они могут устанавливать только плагины, чьи источники записей они также могут достичь. Запись, которая указывает на приватный репозиторий github, все еще не работает при установке для них, потому что Claude Code получает его с тем же неинтерактивным git, который он использует для marketplace, размещенного на git.
Эти источники записей не нуждаются в учетной записи git:
archive: zip, загруженный по HTTPS. Пользователям не нужны ниgit, ни учетная запись, только сетевой доступ к URL. Требует Claude Code v2.1.224 или позже. Закрепите каждый архив сsha256, чтобы Claude Code отказал в измененной загрузке. Чтобы отправить учетные данные с загрузкой, смотрите Authenticate archive downloads.- Публичный git репозиторий: Claude Code клонирует публичный источник
urlилиgit-subdirпо HTTPS без учетных данных, когда запись дает URLhttps://. Для источникаgithubили источникаgit-subdir, написанного какowner/repo, пользователи без набора ключа GitHub SSH устанавливаютCLAUDE_CODE_PLUGIN_PREFER_HTTPS=1.
directory на общей файловой системе также работает без учетных записей git. Пользователям нужен только доступ на чтение к пути.
What background auto-update does with credentials
Background auto-update — это автоматическое обновление Claude Code для marketplaces и установленных плагинов после запуска сеанса. Оно отключено для вашего marketplace, пока пользователь или администратор его не включит, как описано в Keep users up to date. Когда оно включено для приватного marketplace, фоновая проверка новых коммитов использует помощников учетных данных git, настроенных пользователем, и никогда не подсказывает. Каждый вид удаленного и помощника дает другой результат:- SSH удаленные: ключ, загруженный в
ssh-agent, аутентифицирует проверку. - HTTPS удаленные с сохраненными учетными данными: помощник, который может предоставить сохраненные учетные данные без подсказки, аутентифицирует проверку. Git Credential Manager, помощник macOS Keychain и
git-credential-storeработают таким образом, как только они держат учетные данные для хоста. - HTTPS удаленные с помощником, который нужно подсказать: помощник не может ответить в фоне. Обновление не удается тихо и существующий checkout остается на месте, поэтому плагины пользователя продолжают работать из последнего синхронизированного состояния.
- Checkout актуален: Claude Code оставляет его как есть.
- Проверка находит новые коммиты, или не удается, потому что не может достичь или аутентифицировать удаленное: Claude Code клонирует marketplace снова и заменяет существующий checkout новым клоном. Если этот клон не удается, существующий checkout остается на месте. Повторный клон может истечь по времени на больших репозиториях.
- Сохранить учетные данные: сначала войдите в помощника учетных данных, чтобы он держал учетные данные для хоста. Для GitHub запустите
gh auth login, затемgh auth setup-git. - Держать checkout при сбое: если пользователь установит
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1, Claude Code держит существующий checkout без попытки повторного клона, когда фоновая проверка не может достичь или аутентифицировать удаленное. Плагины продолжают работать из последнего синхронизированного состояния.
GITHUB_TOKEN или другой токен поставщика в окружении, это само по себе не аутентифицирует фоновую проверку. Токен вступает в силу через помощника учетных данных, такого как помощник gh CLI, который читает GH_TOKEN и GITHUB_TOKEN.
Roll out to a whole company
Развертывание плагина в компании включает вас как владельца marketplace, администратора, который контролирует управляемые параметры, и каждого человека, который использует Claude Code. Вы можете запустить развертывание без администратора, в этом случае каждый человек добавляет marketplace и устанавливает плагин сам.
Для людей, у которых нет учетной записи git-хоста, эти разделы каждый охватывают один способ их достичь:
- Источники записей, которые не нуждаются в учетной записи git: Serve users who have no git-host account
- Предварительно заполненный каталог плагинов: Seed containers and CI, который также служит пользователям, у которых нет учетной записи git-хоста
- claude.ai organization settings: Distribute through organization settings, где учетные данные git ваших пользователей не задействованы
Keep users up to date
Ваши изменения достигают пользователей через background auto-update, как только оно включено для вашего marketplace, или когда пользователи обновляют плагин сами. В обоих случаях пользователь получает новую копию плагина только когда его вычисленная версия изменяется, как описано в Release a new version.Turn on auto-update
Background auto-update отключен для вашего marketplace по умолчанию, иmarketplace.json не имеет поля для его включения. Пользователь или администратор включает его:
- Скажите пользователям включить его: каждый пользователь идет в Marketplaces в
/plugin, выбирает ваш marketplace и выбирает Enable auto-update. - Попросите администратора установить его: если администратор установит
"autoUpdate": trueна записиextraKnownMarketplacesвашего marketplace в управляемых параметрах, оно включено для всех, кто получает эти параметры. Смотрите Set update policy.
/plugin marketplace update <name> в сеансе или claude plugin update <plugin>@<name> в оболочке.
Для того, что пользователи видят, когда обновление их достигает, смотрите When auto-update runs.
Release a new version
Чтобы выпустить новую версию пользователям, изменитеversion плагина. Пользователи получают новую копию только когда вычисленная версия плагина отличается от той, которая у них есть. Эта версия поступает из plugin.json сначала, затем из записи marketplace, согласно Versions and updates.
Плагин, который пользователи загружают на месте из marketplace, который они добавили как локальный каталог, не контролируется version. Он загружает ваши текущие файлы при каждом запуске сеанса, независимо от того, что говорит его строка версии.
Для каждой установки, кроме загрузки на месте или из источника command, либо увеличьте version при каждом выпуске, либо опустите его:
- Увеличьте
versionпри каждом выпуске: пользователи остаются на своей кэшированной копии, пока строка не изменится. Если вы установите"version": "1.0.0"и отправите новые коммиты без изменения его, пользователи их не получат. - Опустите
version: пользователи отслеживают ваши коммиты вместо этого. Оставьтеversionвне обоихplugin.jsonи записи marketplace.
version в обоих plugin.json и записи marketplace. Если вы это сделаете, Claude Code использует значение plugin.json без предупреждения, и claude plugin validate сообщает о несоответствии как Entry declares version "<a>" but <path>/plugin.json says "<b>".
Hold users on one version
Один marketplace служит одной версией каждого плагина одновременно, поэтому вы держите пользователей на версии, выбирая, на что указывает каждая запись:refиshaна записи плагина:refназывает ветку или тег иshaназывает коммит для источникаgithub,urlилиgit-subdir. Смотрите Plugin sources.#<ref>на команде добавления: пользователи, которые добавляютyour-org/your-marketplace#stable, получают эту ветку или тег каталога. Для двух линий выпуска одновременно, смотрите Run release channels.<plugin>--v<version>теги: диапазон версий зависимости разрешается против этих тегов. Смотрите Release a plugin that others depend on.
Change the command of a command source
Если вы изменитеcommand источника command, или переключите его mode, каждый пользователь должен принять новую команду перед тем, как Claude Code ее запустит. Claude Code запускает только точную команду, которую пользователь принял, когда установил или последний раз обновил плагин.
После того как копия marketplace пользователя подхватит изменение, этот пользователь видит следующее:
- Нет больше фоновых запусков: однократный запуск в сеансе команды останавливается для этого пользователя, поэтому новый вывод инструмента не достигает их.
- Запись на вкладке
/pluginErrors: запись показывает новую команду и командуclaude plugin updateдля запуска.
claude plugin update, которую показывает эта запись, в терминале. Claude Code показывает им новую команду и просит ее принять.
Run release channels
Чтобы предложить стабильные и ранние дорожки доступа, разместите два marketplace, чьи записи указывают на разные refs одного плагина, и позвольте каждому пользователю добавить тот, который он хочет. Claude Code не имеет концепции канала выпуска, и один marketplace служит одной версии каждого плагина одновременно. Дайте двум файламmarketplace.json разные значения name. Claude Code идентифицирует marketplace по его name, поэтому пользователь не может иметь два marketplace с одинаковым именем, зарегистрированные одновременно.
С этими двумя каталогами пользователи, которые добавляют stable-tools, устанавливают code-formatter из ветки stable, и пользователи, которые добавляют latest-tools, устанавливают его из latest:
plugin.json, или опустите version, чтобы SHA коммита их различал. Обновления обнаруживаются путем сравнения версий, поэтому ref, который движется без изменения версии, оставляет пользователей на кэшированной копии.
Чтобы назначить каналы группам пользователей вместо того, чтобы позволить пользователям выбирать, администратор дает каждой группе соответствующую запись extraKnownMarketplaces, как описано в Set update policy.
Переименование или удаление плагина
name плагина — это его идентификатор. Пользователи ссылаются на него в ключах настроек enabledPlugins и pluginConfigs и в /plugin install, поэтому его изменение нарушает каждую существующую установку.
Чтобы изменить метку, которую пользователи видят в /plugin, без нарушения чего-либо, установите displayName в plugin.json и оставьте name без изменений.
Миграция пользователей с помощью карты переименований
Когда вы должны изменитьname, добавьте карту верхнего уровня renames в marketplace.json, чтобы Claude Code перенёс существующих пользователей вместо того, чтобы сообщать об ошибке Plugin "<name>" not found in marketplace. Сделайте то же самое, когда вы удаляете запись из plugins. Автоматическая миграция требует Claude Code v2.1.193 или позже.
Сопоставьте каждое прежнее имя с его текущим именем или с null, когда плагин удалён. Этот marketplace переименовывает formatter в code-formatter и записывает, что legacy-linter был удалён:
- Переименованная запись: плагин загружается под своим новым именем.
claude plugin listи детали плагина в/pluginпоказываютRenamed to "code-formatter" in the "your-marketplace" marketplaceодин раз, и Claude Code переписывает старый ключ на новый вenabledPluginsиpluginConfigsв пользовательских, проектных и локальных областях настроек. - Запись
null: старый ключ удаляется из этих областей и пользователь видитRemoved from the "your-marketplace" marketplace. - Включено в управляемые настройки: плагин всё ещё загружается под своим новым именем, но Claude Code не может переписать управляемые настройки, поэтому уведомление повторяется до тех пор, пока администратор не обновит
enabledPluginsтам.
Plugin "<name>" not cached at <path> до тех пор, пока пользователь не запустит /plugin install code-formatter@your-marketplace один раз в сеансе.
Рассматривайте renames как историю только для добавления. Сохраняйте старые записи после того, как все перейдут. Когда вы переименуете снова, добавьте вторую запись вместо редактирования первой, потому что Claude Code следует цепочке от самого старого имени.
В вашей оболочке запустите claude plugin validate . после редактирования карты. Она отклоняет цепочку, которая циклится или заканчивается где-либо, кроме null или имени в plugins, с ошибкой renames.<name>: chain does not resolve.
Удаление удалённых плагинов с машин пользователей
Чтобы удалить удалённый плагин с машин пользователей вместо того, чтобы оставить копию, установите"forceRemoveDeletedPlugins": true на верхнем уровне marketplace.json. Без этого поля удалённый плагин остаётся установленным и сообщает об ошибке Plugin "<name>" not found in marketplace при загрузке сеанса. С ним Claude Code выполняет следующее при каждом запуске сеанса:
- Сравнивает то, что пользователи установили из вашего marketplace, с записями и картой
renames, и рассматривает любой плагин, который ни указан в списке, ни переименован, как удалённый. - Удаляет каждый удалённый плагин из пользовательской, проектной и локальной областей. Плагины, которые установили только управляемые настройки, остаются на месте.
- Перечисляет каждый удалённый плагин под заголовком Flagged в
/pluginсо статусомRemoved from marketplace.
Authenticate archive downloads
Чтобы аутентифицировать загрузкуarchive, такую как загрузка из приватного реестра, установите HTTP заголовки, которые Claude Code отправляет с ней. Вы можете установить headers в одном из этих мест:
- Источник
urlmarketplace: источникurl, из которого вы зарегистрировали marketplace, такой как записьextraKnownMarketplaces. - Запись плагина: на Claude Code v2.1.238 или позже, вы можете установить его на записи
marketplace.jsonплагина вместо этого, рядом сsource.
headersHelper вместо headers, когда значение недолговечно, такое как токен, который ваш реестр генерирует по запросу. Claude Code запускает команду и отправляет объект JSON, который она выводит, как заголовки этого места. Требует Claude Code v2.1.238 или позже.
Справочник marketplace перечисляет поля записи headers и headersHelper.
Место, которое вы выбираете, решает, какие загрузки получают заголовки и когда Claude Code запускает команду:
Где оба места устанавливают заголовок с одинаковым именем, Claude Code отправляет значение записи. В одном месте заголовок, который команда выводит, переопределяет заголовок с одинаковым именем, указанный в
headers.
Add a headersHelper to a plugin entry
Эта запись устанавливаетheadersHelper рядом с source. Она также устанавливает "strict": false, что Claude Code требует от записи marketplace.json, которая устанавливает headersHelper:
claude plugin install my-plugin@your-marketplace в вашей оболочке. Claude Code показывает вам команду и URL архива и загружает zip после того как вы принимаете.
Write the headersHelper command
Независимо от того, устанавливаете ли выheadersHelper на источник url marketplace или на запись плагина, напишите команду, чтобы соответствовать этим требованиям:
- Текст команды: максимум 500 символов печатного ASCII, без запуска четырех или более пробелов.
- Вывод: выведите один объект JSON имен заголовков и строковых значений на stdout, затем выйдите 0 в течение 10 секунд.
- Оболочка и рабочий каталог: Claude Code запускает команду через
sh, или черезcmd.exeна Windows. Рабочий каталог — это каталог конфигурации, который является~/.claudeилиCLAUDE_CONFIG_DIR. Дайте абсолютный путь или команду наPATH, потому что относительный путь разрешается против этого каталога, а не проекта пользователя. - Переменные, которые Claude Code удаляет: когда команда установлена в записи
marketplace.json, или в проектном.claude/settings.jsonили.claude/settings.local.json, Claude Code удаляет из окружения каждую переменную, чье имя выглядит как учетные данные, по тому же правилу, которое оно применяет к MCPheadersHelper.ANTHROPIC_API_KEYиMY_REGISTRY_TOKENоба удаляются, поэтому имейте команду, читающую свои учетные данные из файла или хранилища учетных данных. Это удаление не применяется к команде, установленной в пользовательских параметрах, файле--settingsили управляемых параметрах. - Переменные, которые Claude Code устанавливает:
CLAUDE_CODE_MARKETPLACE_URLиCLAUDE_CODE_MARKETPLACE_NAMEдля команды источникаurl, иCLAUDE_CODE_PLUGIN_NAMEиCLAUDE_CODE_PLUGIN_ARCHIVE_URLдля команды записи.CLAUDE_CODE_MARKETPLACE_NAMEне установлена при первой выборке после того как пользователь добавляет marketplace по URL, потому что эта выборка — это то, что поставляет имя.
When Claude Code skips a headersHelper command or drops its output
КомандаheadersHelper не запускается, или заголовки из headers или из вывода команды удаляются, когда применяется одно из следующего:
- Команда не удается: если команда выходит ненулевой, работает более 10 секунд, или выводит что-либо, кроме объекта JSON строковых значений, выборка или загрузка, для которой команда была запущена, не происходит.
- URL Marketplace не начинается с
https://: команда этого источникаurlне запускается, и запросы несут только заголовки, указанные в его полеheaders. - Перенаправление оставляет происхождение: когда загрузка перенаправляется с происхождения URL архива, перенаправленный запрос не несет значения
headersили вывод команды ни от источникаurlmarketplace, ни от записи плагина. - Запись устанавливает заголовок маршрутизации или идентификации: Claude Code удаляет имена маршрутизации запросов и идентификации клиента, такие как
Host,CookieиX-Forwarded-*, изheadersзаписи и вывода команды, и держит имена аутентификации, такие какAuthorization. Каждая записьmarketplace.jsonфильтруется таким образом. Для встроенной записи плагина в параметрах, смотритеextraKnownMarketplaces. - Команда установлена в параметрах каталога
--add-dir: команда игнорируется, на источникеurlи на встроенной записи плагина одинаково, и толькоheadersэтого файла отправляются. - Управляемые параметры блокируют команду: установка
disableCommandPluginSourcesнаtrueблокирует командыheadersHelper, иallowManagedHooksOnlyблокирует их тоже, еслиdisableCommandPluginSourcesявно неfalse. Под любым блоком Claude Code все еще запускает команду для marketplace, который сами управляемые параметры объявляют.
How users accept a headersHelper command
Пользователь принимает команду записи плагина каждый раз, когда они устанавливают или обновляют этот один плагин сам по себе. Они делают это из собственного представления плагина в/plugin, или с claude plugin install или claude plugin update. Claude Code показывает команду и URL архива и запускает команду только после того как пользователь принимает.
В неинтерактивной оболочке передайте --yes, чтобы принять команду. Чтобы принять только команду, которую предыдущий запуск --json отобразил, передайте --accept-command с sha256, который запуск сообщил.
Claude Code запускает только команду, которую он показал, для URL архива, который он показал. Если команда записи или URL архива изменились между тем, Claude Code отказывает в установке или обновлении. Изменение в строке запроса одного не считается.
Installs and updates that refuse a command instead of asking
На любой операции, кроме установки или обновления одного плагина, Claude Code ни не запускает команду записи, ни не загружает ее архив. Плагин остается на его установленной версии или остается неустановленным, и пользователь видит один из этих результатов:- Установка нескольких плагинов одновременно, из предложения плагина, или как зависимость другого плагина: Claude Code отказывает плагину, который имеет команду, и направляет пользователя к собственному представлению этого плагина в
/plugin. Другие плагины в массовой установке все еще устанавливаются. Плагин, который зависит от отказанного плагина, не устанавливается, пока пользователь не установит отказанный плагин сам по себе. - Background auto-update, или запуск сеанса для плагина, чей архив никогда не был загружен: Claude Code перечисляет плагин на вкладке
/pluginErrors, чтобы пользователь знал, чтобы установить или обновить его сам.
When a marketplace url source’s command runs
Вы объявляете команду headersHelper источника url marketplace в файле параметров, такой как запись extraKnownMarketplaces, вместо каталога, который marketplace публикует. Claude Code поэтому не просит пользователя принять его при каждой установке или обновлении. Вместо этого файл параметров, который объявляет его, решает, когда Claude Code запускает его:
Для встроенной записи плагина в одном из этих файлов Claude Code требует того же доверия папки или одобрения параметров, что и для команды уровня marketplace в этом файле, и пользователь также принимает команду записи при каждой установке или обновлении.
Depend on and recommend other plugins
Запись может объявить зависимости от других плагинов.- Диапазоны версий: зависимость может нести диапазон semver.
- Кросс-marketplace зависимости: зависимость от другого marketplace устанавливается только когда ваш marketplace перечисляет этот marketplace в
allowCrossMarketplaceDependenciesOn.
<plugin>--v<version>, против которого они разрешаются, и кросс-marketplace доверие, смотрите Plugin dependencies.
Чтобы Claude Code предложил плагин, когда проект соответствует ему, добавьте блок relevance к записи с сигналами, которые идентифицируют проект. Пользователи видят предложения из вашего marketplace только когда администратор перечисляет его в pluginSuggestionMarketplaces. Для сигналов и шага включения, смотрите Plugin relevance.
Work around what a marketplace can’t do
Некоторые вещи, которые владельцы просят, не имеют поля вmarketplace.json. Вот ближайший вариант для каждого:
- Ограничить то, что еще устанавливают пользователи: список разрешений marketplace — это управляемый параметр,
strictKnownMarketplaces. Смотрите Restrict what users can install. - Установить или включить плагин без того, чтобы пользователь просил: ни одно поле записи не устанавливает плагин. Управляемый
enabledPluginsделает это для флота; смотрите Pre-install and require plugins. - Показать разные записи разным пользователям: записи не несут поле аудитории, и каждый пользователь, который добавляет marketplace, видит весь каталог. Разместите отдельные marketplaces для отдельных аудиторий.
- Отметить плагин устаревшим: нет состояния устаревания. Вариант — удалить запись, сопоставить ее имя с
nullвrenamesи опционально установитьforceRemoveDeletedPlugins. - Включить auto-update для ваших пользователей: каждый пользователь включает его в Marketplaces в
/plugin, или администратор устанавливаетautoUpdateв управляемых параметрах. Смотрите Turn on auto-update. - Нести git учетные данные: ни одно поле marketplace не держит git токен. Доступ к marketplace или плагину, размещенному на git, следует настройке git пользователя, согласно Grant access to a private marketplace. Для источников
archive, запись может установитьheadersилиheadersHelperвместо этого.
Next steps
- Marketplace reference: поля
marketplace.json, типы источников и сообщения валидации - Manage plugins for your organization: требуйте, ограничивайте или заполняйте ваш marketplace на машинах вашей организации
- Plugin dependencies: отмечайте выпуски, чтобы плагины, которые зависят от вашего, могли разрешать версии
- Troubleshoot plugins: ошибки, которые видят ваши пользователи при добавлении или обновлении из вашего marketplace