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.)

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, npm, or pip
repostringnoGitHub owner/repo (for github)
urlstringnoGit URL (for url)
packagestringnoPackage name (for npm/pip)
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"
    }
  ]
}