Skip to main content
Skip to content

Creating and sharing a plugin marketplace on GitHub

Publish a GitHub-hosted marketplace so people can discover and install plugins in supported Copilot clients.

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.

  1. Add a marketplace.json catalog file to .github/plugin/.
  2. Add each plugin directory at the path listed by its source field. For example, if the source is ./plugins/frontend-design, add the frontend-design directory under plugins/ in the repository.
  3. Add a stable, kebab-case value for the marketplace's name.
  4. Update .github/CODEOWNERS, contribution instructions, and issue and pull request templates to match how you want to maintain the marketplace.
  5. 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.yml workflow 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:

Further reading