Marketplaces distribute plugins for supported Copilot clients. They can be hosted in a GitHub repository, another Git host, or a local directory. This article describes how to publish a marketplace in a GitHub repository. For an overview, see Complementos para GitHub Copilot.
Before you begin
- Create one or more plugins that work in the clients where people will use them. For GitHub Copilot CLI format and authoring guidance, see Creación de un complemento para GitHub Copilot CLI.
- For Visual Studio Code format and authoring guidance, see the Agent Plugins authoring reference.
- Choose a stable, kebab-case marketplace name, such as
engineering-tools. Plugin identifiers include this name, so changing it changes the identifier people use in settings and commands.
Create the marketplace repository
Create a repository for the marketplace. You can start with the plugin marketplace starter template and follow its README to install its development dependencies and set the marketplace name, or create the files yourself. If you use the template, remove any example plugins you do not want to share.
- Add a
marketplace.jsoncatalog file to.github/plugin/. - Add each plugin directory at the path listed by its
sourcefield. For example, if the source is./plugins/frontend-design, add thefrontend-designdirectory underplugins/in the repository. - Add a stable, kebab-case value for the marketplace's
name. - Update
.github/CODEOWNERS, contribution instructions, and issue and pull request templates to match how you want to maintain the marketplace. - If you use the starter template, follow its README to run
npm run verify. The template describes this command as checking the catalog, manifests, tests, and evaluation coverage. Keep its.github/workflows/validate.ymlworkflow enabled to run model-free checks on pull requests and pushes. Check the current README and workflow because template checks can change.
The marketplace.json file is the required marketplace catalog. It provides marketplace metadata and lists plugins. The top-level plugins field is an array of plugin entries with metadata such as each plugin's name, description, version, and source. For a sample catalog, see marketplace.json in github/awesome-copilot.
For supported catalog fields and other marketplace file locations, see Plugin and marketplace reference.
Review and maintain the marketplace
Review plugin changes as shared agent infrastructure. Test the plugin behavior before publishing updates and keep evaluations with the context they are intended to assess. Review catalog entries and plugin sources when you update the repository.
Share the marketplace
People who add the marketplace or receive its plugins need read access to the repository and must be signed in to GitHub in their client. For a private marketplace, host it in your organization and grant access to its users. Organization membership alone does not guarantee access to a private repository.
After publishing the repository, share its URL with people who need to add it to a client. You can also make plugins available through shared settings:
- For personal use, add the marketplace in the client where you want to use its plugins. For client instructions, see Using plugins in Visual Studio Code, Búsqueda e instalación de complementos para GitHub Copilot CLI, or Personalización del aplicación Copilot de GitHub.
- For a repository, declare marketplace and plugin defaults in
.github/copilot/settings.json. Contributors can override repository defaults locally in supported surfaces. Copilot in the cloud uses these repository settings and has no local override. See directorio de configuración de la CLI de GitHub Copilot. - For enterprise requirements, use managed settings to make marketplaces available and require or block plugins. See Managing plugin marketplaces and plugins with enterprise-managed settings.