Skip to content

Marketplace Metadata

The marketplace.json file lives in .claude-plugin/ and defines a plugin catalog for distribution.

Fields

FieldTypeRequiredDescription
$schemastringnoSchema URL for IDE validation
namestringyesMarketplace name
descriptionstringnoMarketplace description
versionstringnoMarketplace version
ownerobjectyesOwner info
pluginsarrayyesArray of plugin entries
metadataobjectnoExtra metadata (pluginRoot, etc.)
allowCrossMarketplaceDependenciesOnstring[]noOther marketplaces that plugins in this marketplace may depend on. Dependencies from a marketplace not listed here are blocked at install

Owner

FieldTypeRequiredDescription
namestringyesOwner name
emailstringnoContact email
urlstringnoOwner URL

Plugin Entry

Each entry in the plugins array:

FieldTypeRequiredDescription
namestringyesPlugin name
sourcestring | objectyesRelative path or source object
descriptionstringnoPlugin description
versionstringnoPlugin version
authorobjectnoAuthor info (name, email, url)
homepagestringnoHomepage URL
repositorystringnoRepository URL
licensestringnoLicense identifier
keywordsstring[]noSearch keywords
categorystringnoPlugin category
tagsstring[]noCategorization tags
strictbooleannoEnable strict mode

Plugin Source

The source field can be a relative path string or an object:

FieldTypeRequiredDescription
sourcestringyesgithub, url, git-subdir, or npm
repostringnoGitHub owner/repo (for github)
urlstringnoGit URL (for url/git-subdir)
pathstringnoSubdirectory path (for git-subdir)
packagestringnoPackage name (for npm)
versionstringnoVersion constraint
registrystringnoCustom registry URL
refstringnoGit ref (tag, branch, commit)
shastringnoGit commit SHA for pinning

Example

A marketplace with one local plugin and one external plugin:

json
{
  "name": "my-plugins",
  "description": "Plugins for developer tooling.",
  "version": "1.0.0",
  "owner": { "name": "Dev Team", "email": "team@example.com" },
  "metadata": {
    "description": "Plugins for developer tooling."
  },
  "plugins": [
    {
      "name": "my-linter",
      "source": "./",
      "description": "A linter plugin bundled with this marketplace.",
      "version": "1.0.0",
      "author": { "name": "Dev Team" },
      "homepage": "https://example.com",
      "repository": "https://github.com/example/my-linter",
      "license": "MIT",
      "keywords": ["linting", "developer-tools"],
      "category": "developer-tools"
    },
    {
      "name": "external-plugin",
      "source": { "source": "github", "repo": "owner/repo", "ref": "v2.0.0" },
      "description": "An external plugin fetched from GitHub.",
      "category": "developer-tools"
    }
  ]
}