plugin-marketplace-files-not-found
Relative plugin source path does not resolve to a valid plugin directory
Rule Details
When a marketplace.json lists plugins with relative path sources (e.g., "./plugins/my-plugin"), this rule checks that the referenced directory exists and contains a .claude-plugin/plugin.json manifest. Relative sources resolve against the marketplace root - the directory containing .claude-plugin/ - not the .claude-plugin/ directory itself, and metadata.pluginRoot is prepended when present. External sources (github, url, npm, pip) are skipped since they cannot be validated locally. Entries with "strict": false are exempt from the plugin.json check - the marketplace entry is the entire definition for those plugins - but the source directory itself must still exist.
Incorrect
Plugin source points to non-existent directory
{
"name": "my-marketplace",
"owner": { "name": "Dev Team" },
"plugins": [
{
"name": "my-plugin",
"source": "./plugins/missing-plugin"
}
]
}Correct
Plugin source points to valid plugin directory
{
"name": "my-marketplace",
"owner": { "name": "Dev Team" },
"plugins": [
{
"name": "my-plugin",
"source": "./plugins/my-plugin"
}
]
}How To Fix
Ensure relative source paths in plugin entries point to existing directories that contain a .claude-plugin/plugin.json manifest. Create the plugin directory structure or correct the source path.
Options
This rule does not have any configuration options.
Related Rules
Resources
Version
Available since: v0.2.0