SpyBara
Go Premium

plugins/create-marketplace.md 2026-09-24 22:57 UTC to 2026-09-25 23:58 UTC

This page contains 251 additions and 0 deletions.

2026
Fri 25 23:58

Создание marketplace

Создайте plugin marketplace из файла marketplace.json и протестируйте его локально перед размещением.

Plugin marketplace — это каталог или репозиторий с файлом .claude-plugin/marketplace.json, который содержит список ваших плагинов и указывает, откуда их загружать. Вы отправляете каталог на хост git, и любой, у кого есть доступ, регистрирует его в Claude Code одной командой и устанавливает ваши плагины из него.

Создавайте собственный marketplace, когда вы хотите, чтобы выбранная вами группа, например ваша команда или организация, устанавливала ваши плагины и продолжала получать ваши обновления из каталога, который вы контролируете. Репозиторий может быть приватным, он может содержать столько плагинов, сколько вам нужно, и администратор может требовать его на каждой машине.

Начните с Создание marketplace, чтобы создать его на своей машине и установить плагин из него, затем добавьте больше записей плагинов.

Create a marketplace

Следующие шаги создают marketplace на вашей машине, добавляют плагин в него, регистрируют его в Claude Code и устанавливают плагин из него. Это весь цикл, и это тот же цикл, через который проходят ваши пользователи после того, как вы разместите marketplace где-то, где они смогут его достичь. Запустите каждую команду в своей оболочке из каталога, где вы хотите создать my-marketplace/.

Вам нужен плагин для списка. Пример использует my-first-plugin из Создание вашего первого плагина, плагин с одним skill, который вы запускаете как /my-first-plugin:hello; создайте его сначала, если у вас еще нет плагина. Чтобы использовать свой плагин, замените его каталог и его name везде, где в шагах говорится my-first-plugin. О том, что может содержать каталог плагина, см. обозреватель каталога плагина.

1

Настройка каталога marketplace

Marketplace — это каталог с файлом .claude-plugin/marketplace.json, плюс плагины, которые он содержит. Создайте каталог marketplace и его папку .claude-plugin/, затем скопируйте ваш плагин в plugins/:

mkdir -p my-marketplace/.claude-plugin my-marketplace/plugins
cp -r my-first-plugin my-marketplace/plugins/

Проверьте, что плагин действителен в его текущем расположении, чтобы любая последующая ошибка была о marketplace, а не о плагине:

claude plugin validate ./my-marketplace/plugins/my-first-plugin

Последняя строка вывода читается ✔ Validation passed.

2

Создание файла marketplace

Сохраните marketplace.json в my-marketplace/.claude-plugin/marketplace.json. Файл требует name, owner и массив plugins.

Каждый объект в plugins — это запись плагина и требует name и source. Напишите source записи как путь от корня marketplace. Корень — это my-marketplace/, каталог, который содержит .claude-plugin/.

{
"name": "my-marketplace",
"description": "Plugins for my team",
"owner": {
"name": "Your Name"
},
"plugins": [
{
"name": "my-first-plugin",
"source": "./plugins/my-first-plugin",
"description": "A greeting plugin to learn the basics"
}
]
}
3

Валидация marketplace

Запустите claude plugin validate на каталоге marketplace, чтобы проверить синтаксис JSON, требуемые поля и каждую запись плагина в его .claude-plugin/marketplace.json.

claude plugin validate ./my-marketplace

Для файла, написанного на шаге 2, последняя строка вывода читается ✔ Validation passed.

4

Добавление marketplace и установка плагина

Зарегистрируйте каталог как marketplace.

claude plugin marketplace add ./my-marketplace

Команда выводит ✔ Successfully added marketplace: my-marketplace (declared in user settings), что означает, что marketplace записан в ваш файл пользовательских настроек.

Установите плагин. ID установки — это name записи, @ и name marketplace.

claude plugin install my-first-plugin@my-marketplace

Команда выводит ✔ Successfully installed plugin: my-first-plugin@my-marketplace (scope: user).

Внутри сеанса /plugin marketplace add ./my-marketplace регистрирует marketplace таким же образом. /plugin install my-first-plugin@my-marketplace открывает детали плагина в панели /plugin, где вы его устанавливаете. Для этого потока см. Установка и управление плагинами.

5

Подтверждение загрузки плагина

Список установленных плагинов.

claude plugin list

Вывод содержит my-first-plugin@my-marketplace с Status: ✔ enabled.

Чтобы увидеть, что загрузил плагин, покажите его детали.

claude plugin details my-first-plugin

Раздел Component inventory читается Skills (1) hello.

Чтобы запустить skill, начните сеанс и введите /my-first-plugin:hello. Claude приветствует вас. Команда имеет имя плагина в качестве префикса, как и каждый skill плагина.

Add plugin entries

Каждый плагин, который вы распространяете, — это один объект в массиве plugins файла marketplace.json. Чтобы добавить второй плагин, добавьте второй объект. Эти поля охватывают большинство записей:

  • name: идентификатор, который люди вводят перед @ при установке. Он не может содержать пробелы.
  • source: откуда Claude Code загружает плагин. Напишите строку относительного пути для плагина внутри каталога marketplace, как в пошаговом руководстве, или объект source для плагина вне его. См. Выбор источника плагина.
  • description: строка, которую люди видят рядом с плагином при просмотре вашего marketplace в /plugin.

Для полного списка полей см. Записи плагинов.

Запись также может устанавливать любое поле plugin.json. Для того, когда поля plugin.json записи применяются к плагину, который имеет свой собственный plugin.json, см. Запись и plugin.json.

Rules for plugin entries

Большинство неудачных установок из нового marketplace происходят из-за относительного пути, написанного из неправильного каталога, или из-за имени записи, которое отличается от name в plugin.json плагина.

Write relative paths from the marketplace root

Корень marketplace — это каталог, который содержит .claude-plugin/. В пошаговом руководстве это my-marketplace/, поэтому source записи — это "./plugins/my-first-plugin". Путь не начинается внутри .claude-plugin/, поэтому не используйте .. для выхода из него.

Путь с .. и путь к отсутствующему каталогу не работают в разных командах:

  • Путь с ..: claude plugin validate сообщает о записи как недействительной. Сообщение начинается с Path contains "..": ./../plugins/my-first-plugin.
  • Путь к каталогу, который не существует: claude plugin validate проходит. claude plugin install не работает с Source path does not exist: <path>, и <path> — это абсолютное расположение, которое проверил Claude Code.

Keep the entry name and the manifest name the same

Plugin marketplace имеет запись name в marketplace.json и name в его собственном plugin.json, называемый именем манифеста. Каждое имя появляется в разных местах:

  • Имя записи: ID установки, <entry-name>@<marketplace>. Это то, что люди вводят для установки, что показывает claude plugin list, и ключ, который Claude Code записывает под enabledPlugins в их файле настроек.
  • Имя манифеста: префикс на skills плагина и имя, которое принимает claude plugin details.

Когда два имени отличаются и кто-то устанавливает по имени манифеста, Claude Code сообщает Plugin "<manifest-name>" not found in marketplace "<marketplace>". Держите два имени одинаковыми. Для получения дополнительной информации о том, как Claude Code использует два имени, см. Справочник по загрузке плагинов.

Choose a plugin source

Каждая запись плагина в marketplace.json имеет source, который говорит Claude Code, откуда загружать этот плагин. Выберите источник по тому, где хранятся файлы плагина. Таблица содержит источники, которые используют большинство владельцев marketplace.

Source Use it when Minimal source value
Relative path Файлы плагина находятся внутри самого каталога marketplace "./plugins/my-first-plugin"
github Плагин — это собственный репозиторий GitHub { "source": "github", "repo": "your-org/my-first-plugin" }
git-subdir Плагин — это подкаталог какого-то другого репозитория, например monorepo { "source": "git-subdir", "url": "your-org/monorepo", "path": "tools/my-first-plugin" }

В источнике git-subdir url принимает URL git или сокращение GitHub owner/repo.

Плагин также может поступать из одного из этих типов источников:

  • url: git репозиторий по URL на любом хосте
  • archive: zip файл, загруженный через HTTPS
  • npm: npm пакет
  • command: каталог, созданный путем запуска команды на машине, где установлен плагин

Для полей каждого типа источника и для привязки источника на основе git к ref или sha, см. Источники плагинов.

Validate and test

По мере добавления плагинов запускайте claude plugin validate ./my-marketplace в своей оболочке после каждого редактирования и устанавливайте из marketplace на своей машине перед тем, как поделиться им. Валидация и установка выявляют разные проблемы.

Problems that validation reports

claude plugin validate читает только файлы внутри каталога marketplace. Он сообщает:

  • Ошибки синтаксиса JSON, как json: Invalid JSON syntax: <reason>
  • Отсутствующие требуемые поля, такие как owner: Invalid input
  • Имя marketplace с пробелами, символами, отличными от ASCII, или форму, которая имитирует официальный marketplace Anthropic, такой как claude-official
  • Относительный source, содержащий ..
  • Неизвестные поля на верхнем уровне или в записи плагина, как предупреждения
  • Проблемы в plugin.json каждого плагина с относительным путем, как plugins[N] plugin.json → <field>: <message>

Для каждого сообщения, которое может вывести validate, см. Сообщения валидации. Для его флагов и кодов выхода см. plugin validate.

Problems that surface when you add or install

Проблемы, которые claude plugin validate не сообщает, появляются при добавлении marketplace или установке из него:

  • При добавлении marketplace: точные официальные имена marketplace, такие как claude-plugins-official, проходят валидацию. Когда вы добавляете marketplace с одним из этих имен, Claude Code отказывает ему с сообщением, которое начинается с The name '<name>' is reserved for official Anthropic marketplaces.
  • При установке плагина:
    • Claude Code сначала загружает источник github, git-subdir или другой удаленный источник при установке плагина, поэтому неправильный repo или path появляется тогда.
    • Относительный source, чей каталог не существует, также не работает при установке, с Source path does not exist: <path>.

Test an edit to a plugin

В пошаговом руководстве вы добавили my-marketplace из локального каталога с относительным путем source. С этой настройкой Claude Code читает файлы плагина непосредственно из my-marketplace/plugins/. Ваши изменения вступают в силу при следующем запуске сеанса или при запуске /reload-plugins в сеансе, без изменения version плагина.

Люди, которые устанавливают из вашего размещенного marketplace, получают копию в кэше плагина вместо этого. О том, как они получают новую версию, см. Держите пользователей в курсе.

Remove the marketplace to start over

Чтобы удалить все и начать заново, запустите claude plugin marketplace remove my-marketplace в своей оболочке. Команда удаляет marketplace и удаляет его плагины.

Host your marketplace

После того как вы сможете установить плагин из marketplace на своей машине, как в Создание marketplace, отправьте каталог marketplace на хост git.

Ваши товарищи по команде затем запускают claude plugin marketplace add <owner>/<repo> в своей оболочке для репозитория GitHub или ту же команду с URL репозитория. Затем они устанавливают плагин по имени, как в пошаговом руководстве.

Для доступа к приватному репозиторию, обновлений, версионирования и переименования или удаления записей см. Размещение и поддержка marketplace.

Следующие шаги