name: release description: Cut a new release of the Partial Diff VS Code extension - guides through version bump, changelog, validation, and publish
Guide the user through cutting a release of the Partial Diff extension. The argument, if given, is the bump level (major, minor, or patch). If omitted, ask the user.
Execution rules
- Before starting, create a task for each step below using TaskCreate.
- Work through the tasks strictly in order. Mark each task
in_progresswhen starting andcompletedwhen done. - Do NOT skip, reorder, or combine steps.
- At each step, confirm with the user before moving to the next. Use the format
Ready to <next step>? (y/N)so the user can reply with a single character.
1. Determine scope
- Run
git log v<current-version>..HEAD --onelineto list commits since the last release. - Summarise the user-facing changes (skip purely internal/CI/tooling commits unless they affect the shipped package).
- Confirm the bump level (major/minor/patch) with the user.
2. Bump version
- Run
npm version <major|minor|patch> --no-git-tag-version. This updates bothpackage.jsonandpackage-lock.json.
3. Update CHANGELOG.md
- Add a new entry at the top following the existing Keep a Changelog format. Valid change types are:
Added,Changed,Deprecated,Removed,Fixed,Security. Do NOT invent other types. - Only include changes relevant to users. Infrastructure-only changes can be omitted or summarised briefly.
- Reference related issues/PRs with links. If the change was reported or contributed by an external user, use the
(thanks to @user [#N](url))format (see existing entries for examples). - Use today's date.
4. Run pre-publish checks
- Run
npm run prep(compile:prod + lint + test). All must pass.
5. Verify package contents
- Run
npx @vscode/vsce lsand show the output. - Review the file list with the user. Every listed file will be delivered to users — flag anything that looks unnecessary (test files, local config, CI files, etc.).
- For reference, the v1.4.4 release contained exactly these files:
- package.json
- README.md
- LICENSE.txt
- CHANGELOG.md
- images/partial-diff_128x128.png
- dist/extension.js.map
- dist/extension.js
6. Test locally
- Install into VS Code:
npm run test:e2e:vscode - Install into Cursor:
npm run test:e2e:cursor - Ask the user to verify that the extension works correctly in both editors and that no errors appear.
7. Commit
- Stage
package.json,package-lock.json, andCHANGELOG.md. - Commit with message:
Bump up version to v<version>
8. Publish
- Remind the user they need Personal Access Tokens for both the VS Code Marketplace and Open VSX if they haven't set them up.
- VS Code Marketplace:
- Run
npx @vscode/vsce publish— this triggersvscode:prepublish(production build) and uploads to the VS Code Marketplace.
- Run
- Run
npm run vscode:postpublishto create and push the git tag, and optionally create a GitHub release (the script will prompt for confirmation). Note:vsce publishdoes NOT runpostpublishautomatically. - Open VSX:
- Run
npx ovsx publish partial-diff-<version>.vsix— reuses the .vsix already built byvsce publish.
- Run
- Push the release commit:
git push origin main