Repository navigation
Conversation
…nd address them via CURSOR_PLUGIN_ROOT; add MIT LICENSE
This was referenced Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Four things a fresh clone of the template gets wrong today, fixed together because they all touch how the starter is validated and run:
node scripts/validate-template.mjsmust pass, but nothing runs it: the repo has no workflows, so PRs (Replace placeholder logos with Cursor avatar PNG #1, Fix: Support single plugin validation without marketplace.json #8, Add Agent Plugins starter template #11) are never checked. Adds.github/workflows/validate.ymlrunning the validator on pushes tomainand on pull requests. The validator has no dependencies, so no lockfile is needed.plugins/starter-advanced/scripts/*.share committed as100644, andhooks.jsoncalls them as./scripts/format-code.sh. Plugin hooks do not run from the plugin directory, so the template ships hooks that fail with exit 127 (andPermission deniedeven from the right directory). Switches them tobash "${CURSOR_PLUGIN_ROOT}/scripts/<name>.sh", the form used across cursor/plugins (see fix(advisor): address hook scripts via CURSOR_PLUGIN_ROOT plugins#315 for the background), sets the executable bit, and adds the required"version": 1tohooks.json.starter-advanced/.cursor-plugin/plugin.jsonhas nohooks/mcpServersfields. Cursor discovers components from their default directories, so this is not a loading failure, but the template is meant to show the manifest shape, and the other fields (logo) are already explicit. Adds"hooks": "./hooks/hooks.json"and"mcpServers": "./mcp.json"so the manifest documents what the plugin ships. (Correction: an earlier version of this description claimed neither would load without the fields; the docs say default directories are discovered.)"license": "MIT"while the repository itself has none. Adds the MIT text.Verification
node scripts/validate-template.mjs: Validation passed (the one remaining warning is the expected "starter-simple has no mcp.json").git ls-files -s plugins/starter-advanced/scripts: all three scripts now100755.