Skip to content

chore(vscode): move the extension to the pymodel.pythinker Marketplace id - #78

Merged
elkaix merged 1 commit into
mainfrom
fix/vscode-extension-rename
Aug 15, 2026
Merged

chore(vscode): move the extension to the pymodel.pythinker Marketplace id#78
elkaix merged 1 commit into
mainfrom
fix/vscode-extension-rename

Conversation

@elkaix

@elkaix elkaix commented Aug 15, 2026

Copy link
Copy Markdown
Member

Related Issue

No issue — the problem is described below.

Problem

The 0.18.0 release failed all six VS Code targets with:

The extension 'pythinker-code' already exists in the Marketplace.
Please use a different 'name' in the package.json file

pythoughts.pythinker-code@0.8.8 was published to both the Visual Studio Marketplace and Open VSX
on 2026-08-08 (visible in the release run for #44) and has since been deleted. Evidence:

  • Both marketplace.visualstudio.com/publishers/pythoughts and /pymodel return 200 and list
    zero extensions.
  • vsce show pythoughts.pythinker-code and vsce show pymodel.pythinker-code → not found.
  • The gallery API (filterType: 7, and a text search for pythinker) → no results.
  • The Open VSX API → Extension not found for 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.json name: pythinker-codepythinker. The Marketplace id becomes
pymodel.pythinker, matching the CLI binary name.

Unchanged on purpose: publisher (pymodel), displayName ("Pythinker Code"), the npm scope, the
CLI, and all ten pythinker.* contributed command ids — Marketplace identity and runtime command
ids are different namespaces and only the former moves. Renaming the command ids would break every
keybinding and menu contribution.

The manifest name is also the pnpm workspace package name, so the rename mechanically forces:

  • .github/workflows/release.yml — three pnpm --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 hardcoded
    Marketplace query identifier.
  • Seven Run: header comments under apps/vscode/test/ that print a command that no longer works.

Install links and snippets updated in apps/vscode/README.md and apps/site/src/App.vue.

flake.nix needs no change — apps/vscode is in neither workspacePaths nor workspaceNames.

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 start
    with pythinker. (asserts a non-zero command count first, so an empty list cannot satisfy it).
  • No pymodel.pythinker-code / pythoughts.pythinker-code anywhere in the repo.
  • No --filter pythinker-code in apps/vscode, .github, or package.json.
  • pnpm --filter pythinker exec … | grep -q FILTER_RESOLVES — the new workspace name resolves.
    (Piped through grep -q on purpose: bare pnpm --filter prints "No projects matched" and still
    exits 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 pythinker being free can only be proven by the publish itself. If it collides too, the publish
script skips already-published targets, so a re-run after a second rename is safe.

Checklist

  • I have read the CONTRIBUTING document.
  • I have linked a related issue, or explained the problem above.
  • I have added tests that prove my feature works.
  • Ran gen-changesets skill, or this PR needs no changeset.
  • Ran gen-docs skill, or this PR needs no doc update.

Summary by CodeRabbit

  • Release Update

    • Renamed the VS Code extension to Pythinker with the new Marketplace ID pymodel.pythinker.
    • Updated installation commands, Marketplace links, and publishing destinations to reflect the new identifier.
    • Existing installations must be reinstalled using the new extension listing.
  • Documentation

    • Updated extension documentation and setup references with the new package and Marketplace details.

…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.

@greptile-apps greptile-apps 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.

elkaix has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 472aef39-03fa-48ef-96d4-ca7db65a8dbb

📥 Commits

Reviewing files that changed from the base of the PR and between b3f5c0a and b25ae31.

📒 Files selected for processing (14)
  • .changeset/rename-vscode-marketplace-id.md
  • .github/workflows/release.yml
  • apps/site/src/App.vue
  • apps/vscode/README.md
  • apps/vscode/package.json
  • apps/vscode/scripts/release-extension.mjs
  • apps/vscode/test/baseline.manager.test.ts
  • apps/vscode/test/bridge-handler.test.ts
  • apps/vscode/test/extension-host-smoke.test.ts
  • apps/vscode/test/extension-host/index.cjs
  • apps/vscode/test/pythinker-harness.integration.test.ts
  • apps/vscode/test/replay-resume.integration.test.ts
  • apps/vscode/test/vsix-package.test.ts
  • apps/vscode/test/workspace-paths.test.ts

📝 Walkthrough

Walkthrough

The VS Code extension identifier changes from pymodel.pythinker-code to pymodel.pythinker. Packaging, publishing, installation references, release documentation, and test commands now use the new identifier.

Changes

VS Code Marketplace ID rename

Layer / File(s) Summary
Extension identity and release targets
.changeset/..., .github/workflows/release.yml, apps/vscode/package.json, apps/vscode/scripts/release-extension.mjs
The package name, Marketplace lookup, packaging commands, and publishing commands now target pythinker and pymodel.pythinker.
Installation references
apps/site/src/App.vue, apps/vscode/README.md
Installation links and commands now reference pymodel.pythinker.
Test command and smoke-test references
apps/vscode/test/*
Test commands use the pythinker package filter. The smoke test checks pymodel.pythinker.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to b25ae

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)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title uses the required prefix and imperative mood and matches the changes, but it is 73 characters and exceeds the 72-character limit. Shorten the title to 72 characters or fewer while preserving the conventional-commit prefix and main change.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description follows the required sections, explains the problem and changes, and includes a completed checklist with verification details.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

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

@pkg-pr-new

pkg-pr-new Bot commented Aug 15, 2026

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@b25ae31
npx https://pkg.pr.new/@pymodel/pythinker-code@b25ae31

commit: b25ae31

@elkaix
elkaix merged commit 86a4f9a into main Aug 15, 2026
13 checks passed
@elkaix
elkaix deleted the fix/vscode-extension-rename branch August 15, 2026 02:27
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