chore(vscode): move the extension to the pymodel.pythinker Marketplace id - #78
Conversation
…e id pythoughts.pythinker-code@0.8.8 was live on the Visual Studio Marketplace and Open VSX on 2026-08-08 and has since been deleted. Both publisher pages exist and list zero extensions, and vsce, the gallery API and the Open VSX API all report not-found. The Marketplace permanently reserves the name of a removed extension even against its original publisher, which is why every one of the six targets on 0.18.0 failed with 'The extension pythinker-code already exists in the Marketplace'. The name cannot be recovered, so the extension takes a new one: pythinker, matching the CLI binary. The manifest name is also the pnpm workspace name, so the release workflow and the extension release script move with it. The ten pythinker.* command ids, the publisher, and the display name are unchanged.
There was a problem hiding this comment.
elkaix has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (14)
📝 WalkthroughWalkthroughThe VS Code extension identifier changes from ChangesVS Code Marketplace ID rename
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR updates the VS Code Marketplace/workspace identifier and matching release and documentation references; no actionable merge-blocking risk remains after normal checks. Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Comment |
commit: |
Related Issue
No issue — the problem is described below.
Problem
The 0.18.0 release failed all six VS Code targets with:
pythoughts.pythinker-code@0.8.8was published to both the Visual Studio Marketplace and Open VSXon 2026-08-08 (visible in the release run for #44) and has since been deleted. Evidence:
marketplace.visualstudio.com/publishers/pythoughtsand/pymodelreturn 200 and listzero extensions.
vsce show pythoughts.pythinker-codeandvsce show pymodel.pythinker-code→ not found.filterType: 7, and a text search forpythinker) → no results.Extension not foundfor both namespaces.marketplace.visualstudio.com/items?itemName=…→ 404 for both (a known-good control,ms-python.python, returns 200, so the probe is calibrated).The Marketplace permanently reserves the name of a removed extension, even against its original
publisher. The old id is unrecoverable, so the extension needs a new one. This blocked 0.17.1 as
well — the extension has not shipped to either registry since the org migration.
What changed
apps/vscode/package.jsonname:pythinker-code→pythinker. The Marketplace id becomespymodel.pythinker, matching the CLI binary name.Unchanged on purpose:
publisher(pymodel),displayName("Pythinker Code"), the npm scope, theCLI, and all ten
pythinker.*contributed command ids — Marketplace identity and runtime commandids are different namespaces and only the former moves. Renaming the command ids would break every
keybinding and menu contribution.
The manifest
nameis also the pnpm workspace package name, so the rename mechanically forces:.github/workflows/release.yml— threepnpm --filter pythinker-code run …calls (package,publish:vsix, publish:ovsx) would fail with "no projects matched".
apps/vscode/scripts/release-extension.mjs— seven filter references plus the hardcodedMarketplace query identifier.
Run:header comments underapps/vscode/test/that print a command that no longer works.Install links and snippets updated in
apps/vscode/README.mdandapps/site/src/App.vue.flake.nixneeds no change —apps/vscodeis in neitherworkspacePathsnorworkspaceNames.Verification
Every check confirmed red on the unchanged tree before being trusted:
MANIFEST_OK 10— name, publisher and displayName correct, and all ten command ids still startwith
pythinker.(asserts a non-zero command count first, so an empty list cannot satisfy it).pymodel.pythinker-code/pythoughts.pythinker-codeanywhere in the repo.--filter pythinker-codeinapps/vscode,.github, orpackage.json.pnpm --filter pythinker exec … | grep -q FILTER_RESOLVES— the new workspace name resolves.(Piped through
grep -qon purpose: barepnpm --filterprints "No projects matched" and stillexits 0, so the obvious form of this check cannot fail.)
pnpm --filter pythinker run typecheck(both the extension and webview-ui tsconfigs) → exit 0.pnpm run lint→ exit 0.Note for the next release: a reserved-because-deleted name is invisible to every public query,
so
pythinkerbeing free can only be proven by the publish itself. If it collides too, the publishscript skips already-published targets, so a re-run after a second rename is safe.
Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.Summary by CodeRabbit
Release Update
pymodel.pythinker.Documentation