You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(vscode): move the extension to the pymodel.pythinker Marketplace id (#78)
## 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-code` → `pythinker`. 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
- [x] I have read the CONTRIBUTING document.
- [x] I have linked a related issue, or explained the problem above.
- [x] I have added tests that prove my feature works.
- [x] Ran `gen-changesets` skill, or this PR needs no changeset.
- [x] Ran `gen-docs` skill, or this PR needs no doc update.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## 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.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Change the VS Code extension Marketplace ID to `pymodel.pythinker`. Existing users must install the extension again under the new ID because Microsoft permanently retired the previous ID.
0 commit comments