From 0b723c30699c81fbcc84e333bd8df1ef2ca2bbe7 Mon Sep 17 00:00:00 2001 From: Alex Newman Date: Sat, 5 Sep 2026 05:22:19 +0000 Subject: [PATCH] fix: stop sync-plugin-manifests clobbering Cursor/Grok plugin copy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit syncCursorPlugin() copied `description` and `homepage` straight from the root package.json into claude-mem-cursor/.cursor-plugin/plugin.json and claude-mem-grok-bot/.cursor-plugin/plugin.json. Those are independent marketplace plugins for products that are not Claude Code, and they carry their own curated copy from 1c7aaff3 ("Persistent memory for Cursor…", "Persistent memory for Grok Bot…"). Syncing overwrote both with the generic "Memory compression system for Claude Code" boilerplate. The bug stayed invisible through 13.24.0 because that bump was a hand edit that never ran the build -- the same omission that produced the stale bundles in #3857. Running `npm run build-and-sync` honestly is what fires it, so the fix has to land before the next real build or every release silently reverts the Cursor and Grok Bot listings. Both fields now fall back to package.json only when the manifest does not define its own. Version, repository, license and author.name still sync. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Fu9bpdG4AWZNq3m8zkUkYg --- scripts/sync-plugin-manifests.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/sync-plugin-manifests.js b/scripts/sync-plugin-manifests.js index e8e716e80..d4a0f76a2 100644 --- a/scripts/sync-plugin-manifests.js +++ b/scripts/sync-plugin-manifests.js @@ -77,8 +77,8 @@ function syncCursorPlugin(plugin, pkg) { return { ...plugin, version: pkg.version, - description: pkg.description, - homepage: pkg.homepage, + description: plugin.description ?? pkg.description, + homepage: plugin.homepage ?? pkg.homepage, repository: normalizeRepositoryUrl(pkg.repository), license: pkg.license, author: {