| title | Creating a plugin marketplace for {% data variables.copilot.copilot_cli %} | |||
|---|---|---|---|---|
| shortTitle | Plugins: Create a marketplace | |||
| allowTitleToDifferFromFilename | true | |||
| intro | You can make CLI plugins that you've created easy to install by adding them to a marketplace. | |||
| versions |
|
|||
| category |
|
|||
| contentType | how-tos | |||
| docsTeamMetrics |
|
Plugin marketplaces are registries of plugins for {% data variables.copilot.copilot_cli_short %}. They can be located on {% data variables.product.prodname_dotcom_the_website %}, in any other online Git hosting service, or on your local or shared file system. By creating a marketplace and adding your plugins to it, you can make it easy for other users to find and install your plugins.
{% data reusables.copilot.copilot-cli.cli-help-note %}
You have created one or more plugins that you want to share. See AUTOTITLE.
-
Create a
marketplace.jsonfile that provides metadata about your marketplace and lists the plugins that are available in the marketplace.[!NOTE] The
marketplace.jsonfile is the only required component of a plugin marketplace. Adding it to a repository allows {% data variables.copilot.copilot_cli_short %} to recognize the repository as a plugin marketplace, and provides an easy way for users to install plugins.Example
marketplace.jsonfile{% data reusables.copilot.copilot-cli.cli-example-marketplace-file %}
Online examples:
- marketplace.json in the github/copilot-plugins repository.
- marketplace.json in the github/awesome-copilot repository.
The top-level
pluginsfield is an array of plugin objects, each containing metadata about a plugin, including its name, description, version, and source.{% data reusables.copilot.copilot-cli.cli-path-to-plugins %}
For details of the full set of fields you can include in this file, see AUTOTITLE.
-
Add the
marketplace.jsonfile to the.github/plugindirectory of a repository.{% data reusables.copilot.copilot-cli.cli-claude-plugin-dir %}
-
For each plugin defined in the
marketplace.jsonfile, add the relevant plugin directory to the appropriate location in the repository.For example, if your
marketplace.jsonfile includes a plugin with"source": "./plugins/frontend-design", add thefrontend-designplugin directory to thepluginsdirectory at the root of your repository. -
Share the repository with your intended users, and provide them with instructions to add the marketplace to {% data variables.copilot.copilot_cli_short %}. For example, if your repository is hosted on {% data variables.product.github %} in the
octo-org/octo-reporepository, instruct users to enter:copilot plugin marketplace add octo-org/octo-repo