# Publish Extension

Use when releasing the Cline VS Code extension, stable (standalone SDK build of main...

- Repository: https://github.com/cline/cline (71178 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add cline/cline --skill publish-extension -g -a claude-code -y`
Codex: `npx skills add cline/cline --skill publish-extension -g -a codex -y`
Cursor: `npx skills add cline/cline --skill publish-extension -g -a cursor -y`
Gemini CLI: `npx skills add cline/cline --skill publish-extension -g -a gemini-cli -y`

## Description

Use when releasing the Cline VS Code extension, stable (standalone SDK build of main via ext-vscode-publish), nightly (ext-vscode-publish-nightly, manual dispatch), or an emergency legacy-branch hotfix (ext-vscode-publish-legacy). Guides version selection, changelog, workflow dispatch, environment approvals, tagging, post-publish verification, and the remaining retirement of the finished A/B rollout machinery.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# VS Code Extension Release

Use this skill when the user asks to release, publish, or ship the VS Code extension, stable, nightly, or an emergency legacy hotfix, or to retire the leftover A/B rollout machinery.

> Working directory: repo root. All workflows are dispatched from `main` (GitHub requires the workflow file on the default branch; each workflow checks out the refs it actually builds).

## The current era: standalone SDK extension from `main`

**The legacy → SDK migration is complete.** The PostHog flag `ext-sdk-bundle-rollout` reached 100% (verified empirically 2026-09-15: 200/200 `/decide` probes returned `true`), so every user on the combined VSIX runs the `next` (SDK, bun) bundle and the `legacy/` half is dead weight. Stable releases now ship a **plain build of `main`** through `ext-vscode-publish.yml`, a copy of the A/B workflow with the loader, `legacy/` bundle and stitching removed, and the same build-artifact-then-`vsce publish --packagePath` publish step. The combined A/B path (`ext-vscode-ab-package.yml`) is no longer used for releases and is pending deletion, see "Retiring the A/B machinery" at the bottom for what is still left to clean up and the one caveat (leave the flag at 100%).

**Do not use `ext-vscode-publish-stable.yml`.** Its publish step (`bun run publish:marketplace` → bare `vsce publish`, which re-runs `vscode:prepublish` and repacks the source tree) hung on all five attempts for v4.1.18 (2026-09-15/17), each exactly 180s after "Publishing ..." with `Request timeout: /_apis/gallery`. That path is the client's FIRST request (route discovery, no body), the VSIX was never uploaded, so nothing about the artifact is the cause. The same code line went out as 4.1.19 through the prebuilt-artifact path in seconds. Root cause is not established (see the gotcha at the bottom); the stable workflow is kept only until the new one has shipped a release, then deleted.

The rest: https://github.com/cline/cline/blob/HEAD/.cline/skills/publish-extension/SKILL.md
