Skip to content

feat: add Cursor runtime support (multi-format manifests + scaffold skill)#240

Merged
amondnet merged 4 commits into
mainfrom
amondnet/cursor-plugin
Jun 30, 2026
Merged

feat: add Cursor runtime support (multi-format manifests + scaffold skill)#240
amondnet merged 4 commits into
mainfrom
amondnet/cursor-plugin

Conversation

@amondnet

@amondnet amondnet commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds full Cursor runtime support across three logical areas: skill renaming for disambiguation, vendoring of the Cursor scaffold skill, and multi-format manifest generation for all local plugins.

Changes

Group 1+2 — Skills: rename plugin-builder and vendor create-plugin-scaffold

  • Renamed .claude/skills/plugin-builder/.claude/skills/claude-code-plugin-builder/ (5 files: SKILL.md, README.md, CHANGELOG.md, examples.md, templates.md) to disambiguate from the Codex plugin-creator and Cursor create-plugin-scaffold sibling skills
  • Added cross-reference to both sibling skills in claude-code-plugin-builder/SKILL.md
  • Vendors the Cursor create-plugin-scaffold skill from cursor/plugins via skills.sh (bunx skills add), tracked in root skills-lock.json
  • Adds .agents/skills/create-plugin-scaffold/ (vendor, read-only) and .claude/skills/create-plugin-scaffold symlink (mirrors the plugin-creator precedent) to expose it to Claude Code

Group 3 — Multi-format: generate Cursor (.cursor-plugin) manifests and marketplace

  • Extends scripts/multi-format.ts with toCursorManifest, toCursorSource, toCursorMarketplace (+ types) and wires Cursor into generateForPlugin; schema-grounded from cursor/plugins schemas
  • scripts/cli.ts now also writes .cursor-plugin/marketplace.json
  • Adds 12 new tests in scripts/multi-format.test.ts — 72/72 tests pass
  • Generates .cursor-plugin/marketplace.json (root) and plugins/<name>/.cursor-plugin/plugin.json for 70 local plugins
  • Updates CLAUDE.md and .claude/rules/marketplace-sync.md to include Cursor runtime in the marketplace sync table
  • Adds .cursor-plugin/plugin.json to extra-files in release-please-config.json for the 26 entries already tracking .codex-plugin/plugin.json (version parity)

Test Plan

  • 72/72 tests pass (scripts/multi-format.test.ts)
  • .cursor-plugin/marketplace.json generated at repo root
  • plugins/<name>/.cursor-plugin/plugin.json generated for all 70 local plugins
  • Skill renaming verified — cross-references in place
  • bun scripts/cli.ts multi-format runs cleanly

Summary by cubic

Adds full Cursor runtime support with per-plugin .cursor-plugin/plugin.json generation and a root .cursor-plugin/marketplace.json. Also normalizes branding (display names and AI/UI categories) and vendors a scaffold skill for creating new Cursor plugins.

  • New Features

    • Multi-format: add toCursorManifest, toCursorSource, and toCursorMarketplace; wired into generateForPlugin. scripts/cli.ts now writes .cursor-plugin/marketplace.json.
    • Output: generate .cursor-plugin/plugin.json for all local plugins (70) and the root marketplace; add 12 tests for Cursor converters.
    • Skills: rename .claude/skills/plugin-builder to .claude/skills/claude-code-plugin-builder; vendor Cursor create-plugin-scaffold into .agents/skills/create-plugin-scaffold and expose via .claude/skills/create-plugin-scaffold; pin ref: main in skills-lock.json.
    • Branding: canonical displayName overrides for MarkItDown, MCP Dev, MCP Neo4j, and VueUse; map ai/ui categories to AI/UI; rebrand marketplace metadata description from “Claude Code” to “Cursor”; regenerate affected Cursor and Codex marketplaces.
    • Converters: preserve string mcpServers paths in Cursor manifests.
    • Docs/Rules: update CLAUDE.md and .claude/rules/marketplace-sync.md to include Cursor.
    • Releases: track .cursor-plugin/plugin.json in release-please-config.json for packages already tracking Codex manifests.
  • Migration

    • Run bun scripts/cli.ts multi-format after changing a plugin’s Claude manifest. Do not hand-edit generated Cursor files (.cursor-plugin/plugin.json, .cursor-plugin/marketplace.json).

Written for commit 0ea1ee7. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Generated Cursor plugin manifests and a Cursor marketplace file for local plugins, alongside existing marketplace outputs.
    • Added Cursor manifests to release tracking so published/plugin-discovery versions stay in sync.
  • Bug Fixes
    • Updated marketplace sync rules and globs so Cursor-related manifest files are consistently included.
  • Documentation
    • Added a guide for scaffolding Cursor plugins and expanded multi-runtime documentation to cover Cursor.
  • Tests
    • Added Cursor-focused conversion and marketplace generation test coverage, including manifest field mapping and formatting rules.

amondnet added 2 commits June 30, 2026 19:30
…d create-plugin-scaffold

- Rename .claude/skills/plugin-builder/ to .claude/skills/claude-code-plugin-builder/
  to disambiguate from the Codex plugin-creator and Cursor create-plugin-scaffold skills
- Cross-reference both sibling skills added to SKILL.md description
- Vendor create-plugin-scaffold skill from cursor/plugins via skills.sh (skills-lock.json)
- Add .agents/skills/create-plugin-scaffold/ (vendor, read-only) and
  .claude/skills/create-plugin-scaffold symlink (mirrors plugin-creator precedent)
…rketplace

- Extend scripts/multi-format.ts with toCursorManifest, toCursorSource,
  toCursorMarketplace functions (+ types); wire Cursor into generateForPlugin
  using schema grounded from cursor/plugins schemas
- scripts/cli.ts now also writes .cursor-plugin/marketplace.json
- Add 12 tests in scripts/multi-format.test.ts (72/72 pass)
- Generate .cursor-plugin/marketplace.json (root) and
  plugins/<name>/.cursor-plugin/plugin.json for 70 local plugins
- Docs: CLAUDE.md and .claude/rules/marketplace-sync.md add Cursor runtime
- release-please-config.json: add .cursor-plugin/plugin.json extra-files to
  the 26 entries already tracking .codex-plugin/plugin.json
@vercel

vercel Bot commented Jun 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
claude-code-plugins Ready Ready Preview, Comment Jun 30, 2026 10:55am

Request Review

@codacy-production

codacy-production Bot commented Jun 30, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 35 complexity · 6 duplication

Metric Results
Complexity 35
Duplication 6

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8fe0021f-3e4c-4458-bd63-eb53e53c68c5

📥 Commits

Reviewing files that changed from the base of the PR and between e81cf66 and 0ea1ee7.

📒 Files selected for processing (12)
  • .agents/plugins/marketplace.json
  • .claude-plugin/marketplace.json
  • plugins/ai-sdk/.cursor-plugin/plugin.json
  • plugins/markitdown/.cursor-plugin/plugin.json
  • plugins/mastra/.cursor-plugin/plugin.json
  • plugins/mcp-dev/.cursor-plugin/plugin.json
  • plugins/neo4j/.cursor-plugin/plugin.json
  • plugins/nuxt-ui/.cursor-plugin/plugin.json
  • plugins/vueuse/.cursor-plugin/plugin.json
  • plugins/web-design/.cursor-plugin/plugin.json
  • scripts/multi-format.test.ts
  • scripts/multi-format.ts
✅ Files skipped from review due to trivial changes (8)
  • plugins/markitdown/.cursor-plugin/plugin.json
  • plugins/mcp-dev/.cursor-plugin/plugin.json
  • plugins/ai-sdk/.cursor-plugin/plugin.json
  • plugins/mastra/.cursor-plugin/plugin.json
  • plugins/web-design/.cursor-plugin/plugin.json
  • plugins/vueuse/.cursor-plugin/plugin.json
  • plugins/nuxt-ui/.cursor-plugin/plugin.json
  • plugins/neo4j/.cursor-plugin/plugin.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • scripts/multi-format.ts
  • scripts/multi-format.test.ts

📝 Walkthrough

Walkthrough

Adds Cursor as a third runtime target for the multi-format manifest pipeline. The CLI now writes Cursor manifests and a Cursor marketplace catalog, release tracking points to .cursor-plugin/plugin.json, and new Cursor plugin manifests plus scaffold guidance were added.

Changes

Cursor Runtime Manifest Generation

Layer / File(s) Summary
Docs, rules, and scaffold skill
CLAUDE.md, .claude/rules/marketplace-sync.md, .claude/skills/claude-code-plugin-builder/SKILL.md, .agents/skills/create-plugin-scaffold/SKILL.md, .claude/skills/create-plugin-scaffold, skills-lock.json
Updates multi-runtime guidance and marketplace-sync rules for Cursor; adds the create-plugin-scaffold skill content, symlink, and lock entry.
Cursor manifest converters
scripts/multi-format.ts
Defines Cursor manifest and marketplace types; implements Cursor manifest conversion, source filtering, marketplace conversion, and category acronym normalization; extends Claude marketplace metadata.
CLI generation wiring
scripts/cli.ts, scripts/multi-format.ts
Extends multi-format generation to write .cursor-plugin/plugin.json and .cursor-plugin/marketplace.json, and updates the command text and logging to include Cursor.
Cursor conversion tests
scripts/multi-format.test.ts
Updates the nested-manifest generator test and adds coverage for Cursor manifest mapping, source filtering, marketplace conversion, author sanitization, and deduplication.
Generated Cursor manifests and marketplace
plugins/*/.cursor-plugin/plugin.json, .cursor-plugin/marketplace.json
Adds Cursor plugin manifests for the plugin set and generates the top-level Cursor marketplace catalog with owner, metadata, and local plugin entries.
release-please Cursor version tracking
release-please-config.json
Replaces tessl version sources with .cursor-plugin/plugin.json in release-please-config.json for the affected plugin packages.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐇 Hop hop, the Cursor path is clear,
New plugin shells appear here and there.
A marketplace list and manifests bloom,
With scaffolded rooms in the bunny's loom.
I twitched my nose and gave a cheer!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 55.56% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding Cursor runtime support through multi-format manifests and the scaffold skill.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch amondnet/cursor-plugin

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Jun 30, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds full Cursor runtime support by extending the multi-format manifest generator (scripts/multi-format.ts) with toCursorManifest, toCursorSource, and toCursorMarketplace, wiring them into generateForPlugin and generateMultiFormat in scripts/cli.ts. It also renames the plugin-builder skill to claude-code-plugin-builder for disambiguation and vendors a new create-plugin-scaffold skill from the Cursor plugins repo.

  • Manifest generation: .cursor-plugin/plugin.json is emitted for all 70 local plugins and a root .cursor-plugin/marketplace.json is produced; MCP servers are kept inline (no companion file needed), and component fields are omitted because Cursor auto-discovers them from default folders.
  • Skill changes: .claude/skills/plugin-builder/ is renamed to .claude/skills/claude-code-plugin-builder/; a create-plugin-scaffold vendor skill is added via skills-lock.json pinned to ref: main in cursor/plugins.
  • Release tracking: .cursor-plugin/plugin.json is added to extra-files in release-please-config.json for the 26 entries already tracking .codex-plugin/plugin.json, but 36 other tracked plugins that now have cursor manifests on disk are missing this entry and will experience version drift after the next release bump.

Confidence Score: 4/5

Safe to merge with a follow-up to complete release-please tracking for the 36 missing plugins.

The core generator logic and tests are solid. The one concrete gap is that 36 plugins now have .cursor-plugin/plugin.json committed on disk but their release-please-config.json entries were not updated — only the 26 entries that already tracked .codex-plugin/plugin.json were touched. The next release bump for any of those 36 plugins will leave the Cursor manifest version behind the Claude manifest version with no automated way to catch the drift.

release-please-config.json — the 36 plugins that track only .claude-plugin/plugin.json need .cursor-plugin/plugin.json added to their extra-files entries.

Important Files Changed

Filename Overview
scripts/multi-format.ts Adds toCursorManifest, toCursorSource, toCursorMarketplace, and wires Cursor into generateForPlugin; logic is correct and well-commented.
scripts/multi-format.test.ts Adds 12 Cursor-focused tests covering manifest conversion, source mapping, and marketplace generation; all cases are well covered.
scripts/cli.ts Wires toCursorMarketplace into generateMultiFormat to write .cursor-plugin/marketplace.json at repo root; change is minimal and correct.
release-please-config.json Adds .cursor-plugin/plugin.json to the 26 entries that already tracked .codex-plugin/plugin.json, but omits it for 36 other tracked plugins that now have cursor manifests on disk — those will drift on next version bump.
skills-lock.json Adds create-plugin-scaffold entry pinned to ref: main in the cursor/plugins repo; consistent with the existing plugin-creator entry.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[".claude-plugin/plugin.json\n(source of truth)"] --> B["generateForPlugin()"]
    B --> C[".codex-plugin/plugin.json\n+ .mcp.json"]
    B --> D["plugin.json\n+ mcp_config.json\n(Antigravity)"]
    B --> E[".cursor-plugin/plugin.json\n(NEW)"]

    F["Claude marketplace.json"] --> G["generateMultiFormat()"]
    G --> H[".codex-plugin/marketplace.json"]
    G --> I[".cursor-plugin/marketplace.json\n(NEW)"]

    J["toCursorManifest()"] --> K["name, displayName, description,\nversion, author, category"]
    J --> L["mcpServers: inline object OR\nstring path passed through"]
    J --> M["skills/commands/agents/rules\nomitted — auto-discovered"]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[".claude-plugin/plugin.json\n(source of truth)"] --> B["generateForPlugin()"]
    B --> C[".codex-plugin/plugin.json\n+ .mcp.json"]
    B --> D["plugin.json\n+ mcp_config.json\n(Antigravity)"]
    B --> E[".cursor-plugin/plugin.json\n(NEW)"]

    F["Claude marketplace.json"] --> G["generateMultiFormat()"]
    G --> H[".codex-plugin/marketplace.json"]
    G --> I[".cursor-plugin/marketplace.json\n(NEW)"]

    J["toCursorManifest()"] --> K["name, displayName, description,\nversion, author, category"]
    J --> L["mcpServers: inline object OR\nstring path passed through"]
    J --> M["skills/commands/agents/rules\nomitted — auto-discovered"]
Loading

Reviews (2): Last reviewed commit: "chore: apply review suggestions for plug..." | Re-trigger Greptile

Comment thread skills-lock.json
Comment thread scripts/multi-format.ts Outdated

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for generating Cursor plugin manifests (.cursor-plugin/plugin.json) and a Cursor marketplace manifest (.cursor-plugin/marketplace.json) from the Claude Code source of truth. The multi-format script, release configuration, and documentation have been updated accordingly, and a new create-plugin-scaffold skill has been introduced. One medium-severity issue was identified in scripts/multi-format.ts regarding a missing defensive null check on claudeMarketplace.plugins which could cause a runtime TypeError if the field is undefined.

Comment thread scripts/multi-format.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agents/skills/create-plugin-scaffold/SKILL.md:
- Around line 41-44: Update the `plugin.json` guidance in the scaffold so it
matches the repo’s Cursor manifest contract used by `multi-format`: make
`displayName`, `description`, `version`, `author`, and `category` explicit
required fields alongside `name`, and keep `license` and `keywords` as
optional/recommended metadata. Adjust the `plugin.json` step in
`create-plugin-scaffold` to reflect the actual manifest shape expected by the
generator, and only mention explicit component paths when non-default discovery
is needed.
- Around line 64-70: Add an explicit validation step to the scaffold workflow
before the readiness/summary output: after generating the plugin scaffold and
final plugin.json, run claude plugin validate and include the validation results
in the report. Update the create-plugin-scaffold instructions in SKILL.md so the
required validation is part of the process, and make sure the final checklist
references the validation report alongside the existing output items.
- Around line 19-27: The output location in the create-plugin-scaffold guidance
is hardcoded to the local Cursor plugins directory, which breaks repo-based
scaffolds like multi-plugin marketplace. Update the default target-directory
logic in the create-plugin-scaffold instructions so it derives from the
repository style or current repo context instead of always using
~/.cursor/plugins/local/<plugin-name>/. Keep the existing override behavior for
explicit user-specified paths, and adjust the wording around the output location
section to match that behavior.

In @.cursor-plugin/marketplace.json:
- Around line 7-10: The marketplace metadata still uses stale Claude Code
branding; update the description in the metadata object so it clearly references
Cursor instead. Locate the change in the marketplace.json metadata block and
replace the current bundled-plugins text with Cursor-specific wording, keeping
the rest of the structure unchanged.

In `@plugins/markitdown/.cursor-plugin/plugin.json`:
- Line 3: The plugin display name uses incorrect brand casing, which will appear
as a typo in the UI. Update the displayName value in the plugin.json manifest
for the Markitdown plugin to use the canonical casing “MarkItDown” instead of
“Markitdown”. Keep the change localized to the manifest field that controls the
plugin’s visible name.

In `@plugins/mastra/.cursor-plugin/plugin.json`:
- Line 9: The plugin metadata is using an inconsistent category label, so update
the category field in the plugin manifest to use the standard AI label instead
of Ai. Make this change in the plugin JSON entry that defines the category so it
matches other AI-oriented plugins and sorts correctly in the Cursor UI.

In `@plugins/mcp-dev/.cursor-plugin/plugin.json`:
- Line 3: The display name in plugin.json is using inconsistent branding; update
the displayName field from the current Mcp Dev value to preserve the MCP acronym
as MCP Dev. Make this change in the plugin manifest entry so the UI shows the
corrected brand consistently.

In `@plugins/neo4j/.cursor-plugin/plugin.json`:
- Line 3: The plugin display name has a branding typo: update the `displayName`
field in the Neo4j plugin manifest to preserve the `MCP` acronym and show `MCP
Neo4j` instead of `Mcp Neo4j`. Keep the change localized to the manifest entry
so the UI label is corrected wherever this plugin name is rendered.

In `@plugins/vueuse/.cursor-plugin/plugin.json`:
- Line 3: The generated manifest currently uses the incorrect branding casing in
the plugin metadata. Update the displayName field in the plugin.json manifest
for the VueUse plugin so it preserves the canonical `VueUse` casing, and verify
any related manifest generation code that writes this value keeps the same
capitalization.

In `@plugins/web-design/.cursor-plugin/plugin.json`:
- Line 9: The plugin metadata in the `plugin.json` category field uses `Ui`
instead of the standard `UI` label, which creates inconsistent catalog naming.
Update the `category` value in `plugin.json` to `UI` so it matches the expected
normalization used by the Cursor catalog.

In `@release-please-config.json`:
- Around line 42-45: The release-managed package entries in
release-please-config.json only track .claude-plugin/plugin.json, so Cursor
manifests can drift from the published version after the next bump. Update each
affected package block in the config to include the corresponding
.cursor-plugin/plugin.json in extra-files alongside the existing Claude
manifest, matching the same version jsonpath used by the other tracked
artifacts. Use the repeated package definitions in this file as the place to add
the new Cursor manifest entries for all plugins covered by the PR.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f92ee320-6e5b-437a-a835-8931d8d0011f

📥 Commits

Reviewing files that changed from the base of the PR and between d81d9eb and 11eceb5.

📒 Files selected for processing (85)
  • .agents/skills/create-plugin-scaffold/SKILL.md
  • .claude/rules/marketplace-sync.md
  • .claude/skills/claude-code-plugin-builder/CHANGELOG.md
  • .claude/skills/claude-code-plugin-builder/README.md
  • .claude/skills/claude-code-plugin-builder/SKILL.md
  • .claude/skills/claude-code-plugin-builder/examples.md
  • .claude/skills/claude-code-plugin-builder/templates.md
  • .claude/skills/create-plugin-scaffold
  • .cursor-plugin/marketplace.json
  • CLAUDE.md
  • plugins/agent-browser/.cursor-plugin/plugin.json
  • plugins/ai-sdk/.cursor-plugin/plugin.json
  • plugins/antfu/.cursor-plugin/plugin.json
  • plugins/ast-grep/.cursor-plugin/plugin.json
  • plugins/astro/.cursor-plugin/plugin.json
  • plugins/axi/.cursor-plugin/plugin.json
  • plugins/better-auth/.cursor-plugin/plugin.json
  • plugins/bun/.cursor-plugin/plugin.json
  • plugins/chat-sdk/.cursor-plugin/plugin.json
  • plugins/claude-md-management/.cursor-plugin/plugin.json
  • plugins/codegraph/.cursor-plugin/plugin.json
  • plugins/cubic/.cursor-plugin/plugin.json
  • plugins/dev3000/.cursor-plugin/plugin.json
  • plugins/docus/.cursor-plugin/plugin.json
  • plugins/edgeparse/.cursor-plugin/plugin.json
  • plugins/emulate/.cursor-plugin/plugin.json
  • plugins/eve/.cursor-plugin/plugin.json
  • plugins/fetch/.cursor-plugin/plugin.json
  • plugins/gatekeeper/.cursor-plugin/plugin.json
  • plugins/git-ai/.cursor-plugin/plugin.json
  • plugins/google-workspace/.cursor-plugin/plugin.json
  • plugins/graphify/.cursor-plugin/plugin.json
  • plugins/graphite/.cursor-plugin/plugin.json
  • plugins/java-development/.cursor-plugin/plugin.json
  • plugins/lavish/.cursor-plugin/plugin.json
  • plugins/markitdown/.cursor-plugin/plugin.json
  • plugins/mastra/.cursor-plugin/plugin.json
  • plugins/mcp-dev/.cursor-plugin/plugin.json
  • plugins/neo4j/.cursor-plugin/plugin.json
  • plugins/next/.cursor-plugin/plugin.json
  • plugins/nostics/.cursor-plugin/plugin.json
  • plugins/nuxt-i18n/.cursor-plugin/plugin.json
  • plugins/nuxt-seo/.cursor-plugin/plugin.json
  • plugins/nuxt-ui/.cursor-plugin/plugin.json
  • plugins/nuxt/.cursor-plugin/plugin.json
  • plugins/pinia/.cursor-plugin/plugin.json
  • plugins/playwright-cli/.cursor-plugin/plugin.json
  • plugins/please-plugins/.cursor-plugin/plugin.json
  • plugins/plugin-dev/.cursor-plugin/plugin.json
  • plugins/pnpm/.cursor-plugin/plugin.json
  • plugins/port/.cursor-plugin/plugin.json
  • plugins/portless/.cursor-plugin/plugin.json
  • plugins/portone/.cursor-plugin/plugin.json
  • plugins/prisma/.cursor-plugin/plugin.json
  • plugins/react-native/.cursor-plugin/plugin.json
  • plugins/react/.cursor-plugin/plugin.json
  • plugins/rtk/.cursor-plugin/plugin.json
  • plugins/semble/.cursor-plugin/plugin.json
  • plugins/skill-optimizer/.cursor-plugin/plugin.json
  • plugins/skillopt-sleep/.cursor-plugin/plugin.json
  • plugins/slack-agent/.cursor-plugin/plugin.json
  • plugins/slidev/.cursor-plugin/plugin.json
  • plugins/supabase/.cursor-plugin/plugin.json
  • plugins/tiptap/.cursor-plugin/plugin.json
  • plugins/tosspayments/.cursor-plugin/plugin.json
  • plugins/tsdown/.cursor-plugin/plugin.json
  • plugins/turborepo/.cursor-plugin/plugin.json
  • plugins/unocss/.cursor-plugin/plugin.json
  • plugins/vercel-sandbox/.cursor-plugin/plugin.json
  • plugins/vinext/.cursor-plugin/plugin.json
  • plugins/vite/.cursor-plugin/plugin.json
  • plugins/vitepress/.cursor-plugin/plugin.json
  • plugins/vitest/.cursor-plugin/plugin.json
  • plugins/vue/.cursor-plugin/plugin.json
  • plugins/vueuse/.cursor-plugin/plugin.json
  • plugins/web-design/.cursor-plugin/plugin.json
  • plugins/wordpress/.cursor-plugin/plugin.json
  • plugins/workflow-sdk/.cursor-plugin/plugin.json
  • plugins/worktree/.cursor-plugin/plugin.json
  • plugins/zod/.cursor-plugin/plugin.json
  • release-please-config.json
  • scripts/cli.ts
  • scripts/multi-format.test.ts
  • scripts/multi-format.ts
  • skills-lock.json

Comment thread .agents/skills/create-plugin-scaffold/SKILL.md
Comment thread .agents/skills/create-plugin-scaffold/SKILL.md
Comment thread .agents/skills/create-plugin-scaffold/SKILL.md
Comment thread .cursor-plugin/marketplace.json
Comment thread plugins/markitdown/.cursor-plugin/plugin.json Outdated
Comment thread plugins/mcp-dev/.cursor-plugin/plugin.json Outdated
Comment thread plugins/neo4j/.cursor-plugin/plugin.json Outdated
Comment thread plugins/vueuse/.cursor-plugin/plugin.json Outdated
Comment thread plugins/web-design/.cursor-plugin/plugin.json Outdated
Comment thread release-please-config.json

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 issues found across 85 files

Confidence score: 3/5

  • In release-please-config.json, only some release-managed plugin blocks include .cursor-plugin/plugin.json, so release bumps can update .claude-plugin/plugin.json while leaving Cursor manifests stale; this can ship inconsistent plugin versions across clients — add .cursor-plugin/plugin.json to every managed plugin block before merging.
  • In scripts/multi-format.ts, string-valued mcpServers are not handled and can be silently dropped during Cursor manifest generation, which risks broken MCP behavior for plugins that reference external config files — add explicit handling for string paths and regenerate manifests.
  • plugins/pnpm/.cursor-plugin/plugin.json is out of sync with the source plugin.json (1.1.1 vs 1.0.0), so publishing as-is can expose a version drift in generated artifacts — regenerate with bun scripts/cli.ts multi-format and commit the synced output.
  • In .agents/skills/create-plugin-scaffold/SKILL.md, Step 5 omits scaffold instructions for hooks and mcpServers despite accepting them as inputs, so generated scaffolds may be incomplete or misleading for users selecting those types — document the missing creation/config patterns before merge.

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread release-please-config.json
Comment thread plugins/pnpm/.cursor-plugin/plugin.json
Comment thread .agents/skills/create-plugin-scaffold/SKILL.md
Comment thread scripts/multi-format.ts Outdated
amondnet added 2 commits June 30, 2026 19:51
- skills-lock.json: pin create-plugin-scaffold to ref main (consistency)
- multi-format: pass through string mcpServers to Cursor instead of dropping
- multi-format: rebrand Cursor marketplace metadata description (Claude Code -> Cursor)
- add canonical displayName overrides (MarkItDown, MCP Dev, MCP Neo4j, VueUse)
- pickCategory: map acronym categories to canonical casing (ai->AI, ui->UI)
- regenerate affected Cursor manifests + Codex marketplace
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant