Skip to content

chore: prepare VS Code extension for Marketplace publishing#705

Merged
waleedkadous merged 2 commits intomainfrom
feat/vscode-marketplace-publish-ready
Apr 26, 2026
Merged

chore: prepare VS Code extension for Marketplace publishing#705
waleedkadous merged 2 commits intomainfrom
feat/vscode-marketplace-publish-ready

Conversation

@amrmelsayed
Copy link
Copy Markdown
Collaborator

@amrmelsayed amrmelsayed commented Apr 26, 2026

Summary

Gets the VS Code extension publishable on the Marketplace by adding the missing metadata and resolving identifier conflicts. The extension is now live at cluesmith.codev-vscode (3.0.0 stable).

Two commits

1. `chore: prepare VS Code extension for Marketplace publishing` (`d1ef54b6`)

Marketplace metadata (gaps that would have made the listing look unfinished):

  • `icon`: `icons/codev.png` — copied from `marketing/logo.png` (1024×1024 PNG; the Marketplace doesn't accept SVG for the listing icon)
  • `categories`: `["AI", "Other"]` for discoverability
  • `keywords`: nine search terms (`ai`, `agent`, `claude`, `codev`, `agent-farm`, `multi-agent`, `autonomous`, `tower`, `spir`)
  • `homepage`, `bugs.url` (issues), `qna` (Discussions, instead of Marketplace-hosted Q&A), `galleryBanner` (#1e1e1e dark), `pricing` ("Free")

Identifier rename (Marketplace global-uniqueness conflicts):

  • `name`: `codev` → `codev-vscode` — the `codev` slug is taken by sk-aicoding.codev. Marketplace requires the `name` field to be globally unique, not just unique per publisher.
  • `displayName`: `Codev` → `Codev for VS Code` — same conflict at the display level. Adopted the standard `X for VS Code` pattern.

Version alignment:

  • `0.2.0` → `3.0.0` to align with the codev npm package's 3.0.x series. Stripped the codev RC suffix because the Marketplace doesn't accept SemVer pre-release tags (`-rc.12`); the `--pre-release` flag at publish time covers that channel separately.

Build / publish scripts:

  • `vsix`: `vsce package --no-dependencies` (esbuild bundles deps inline; vsce's npm-ls walk fails in pnpm workspaces without this flag)
  • `vscode:publish`: stable channel
  • `vscode:publish:pre`: `--pre-release` channel (added explicitly because pnpm's `-- --pre-release` forwarding doesn't work cleanly through vsce)

2. `docs: update arch.md Marketplace identifier` (`cf667c0c`)

Updates the directory map's `cluesmith.codev` reference to `cluesmith.codev-vscode` so it matches the actual published identifier.

Publishing flow after this lands

```bash

Stable

pnpm --filter codev-vscode vscode:publish

Pre-release (use this for RCs)

pnpm --filter codev-vscode vscode:publish:pre
```

Both run `vscode:prepublish` (`pnpm package` → check-types + lint + esbuild --production) before uploading, so you don't need to `vsce package` first.

Live verification

The extension is already published as a result of getting through the conflicts during this PR's prep work:

Test plan

  • `pnpm --filter codev-vscode vsix` builds a clean .vsix (52KB, includes `extension/icons/codev.png`, no `node_modules/`, no `src/`)
  • `code --install-extension codev-vscode-3.0.0.vsix` succeeds
  • `vsce publish --no-dependencies` succeeds against publisher `cluesmith`
  • Listing renders the new icon, displayName "Codev for VS Code", description, README, GitHub links
  • Sidebar smoke test: install from Marketplace (not local .vsix) and confirm sidebar/terminals work end-to-end

Out of scope

Marketplace metadata
- Add icon (icons/codev.png, 1024x1024 PNG copied from marketing/logo.png).
  Marketplace requires PNG; SVG isn't accepted for the listing icon.
- Add categories ['AI', 'Other'] and 9 search keywords for discoverability.
- Add homepage, bugs.url (GitHub issues), qna (GitHub Discussions),
  galleryBanner (#1e1e1e dark), pricing ('Free').

Identifier changes (Marketplace global-uniqueness conflicts)
- name: 'codev' -> 'codev-vscode'. The 'codev' slug is already taken
  by sk-aicoding.codev; the Marketplace requires the name field to be
  globally unique, not just unique per publisher.
- displayName: 'Codev' -> 'Codev for VS Code'. The 'Codev' display
  name is also taken; using the 'X for VS Code' pattern (ESLint,
  GitHub Copilot use this) keeps branding clear without conflict.

Version alignment
- 0.2.0 -> 3.0.0 to align with the codev npm package's 3.0.x series.
  Stripped the codev RC suffix because the Marketplace doesn't accept
  SemVer pre-release tags; --pre-release flag at publish time covers
  that channel instead.

Build / publish scripts
- vsix: 'vsce package --no-dependencies' (esbuild bundles deps inline,
  so vsce's npm-ls walk would fail in pnpm workspaces).
- vscode:publish: stable channel publish.
- vscode:publish:pre: --pre-release channel publish.

After this lands, publish via:
  pnpm --filter codev-vscode vscode:publish:pre   # while iterating
  pnpm --filter codev-vscode vscode:publish       # GA

Final identifier: cluesmith.codev-vscode (assuming publisher 'cluesmith'
is created on the Marketplace; existing publisher CluesmithLLC works
too if you prefer to skip the create step).
Reflects the rename in the previous commit (the 'codev' slug is taken
on the Marketplace by sk-aicoding.codev, so the published identifier
is now cluesmith.codev-vscode).
@waleedkadous waleedkadous merged commit 248cf7e into main Apr 26, 2026
6 checks passed
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.

2 participants