Skip to content

Commit 8fea0a5

Browse files
ryu1knclaude
andcommitted
Add release skill and local e2e test scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ec076ae commit 8fea0a5

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

.claude/skills/release/SKILL.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
name: release
3+
description: Cut a new release of the Partial Diff VS Code extension - guides through version bump, changelog, validation, and publish
4+
---
5+
6+
Guide the user through cutting a release of the Partial Diff extension. The argument, if given, is the new version number (e.g. `1.4.4`). If omitted, ask the user.
7+
8+
## Execution rules
9+
10+
1. Before starting, create a task for each step below using TaskCreate.
11+
2. Work through the tasks strictly in order. Mark each task `in_progress` when starting and `completed` when done.
12+
3. Do NOT skip, reorder, or combine steps.
13+
4. At each step, confirm with the user before moving to the next.
14+
15+
### 1. Determine scope
16+
17+
- Run `git log v<current-version>..HEAD --oneline` to list commits since the last release.
18+
- Summarise the user-facing changes (skip purely internal/CI/tooling commits unless they affect the shipped package).
19+
- Confirm the new version number with the user.
20+
21+
### 2. Bump version
22+
23+
- Update `version` in `package.json` and `package-lock.json`.
24+
25+
### 3. Update CHANGELOG.md
26+
27+
- Add a new entry at the top following the existing Keep a Changelog format.
28+
- Only include changes relevant to users. Infrastructure-only changes can be omitted or summarised briefly.
29+
- Use today's date.
30+
31+
### 4. Run pre-publish checks
32+
33+
- Run `npm run prep` (compile:prod + lint + test). All must pass.
34+
35+
### 5. Verify package contents
36+
37+
- Run `npx @vscode/vsce ls` and show the output.
38+
- 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.).
39+
- For reference, the v1.4.4 release contained exactly these files:
40+
- package.json
41+
- README.md
42+
- LICENSE.txt
43+
- CHANGELOG.md
44+
- images/partial-diff_128x128.png
45+
- dist/extension.js.map
46+
- dist/extension.js
47+
48+
### 6. Test locally
49+
50+
- Install into VS Code: `npm run test:e2e:vscode`
51+
- Install into Cursor: `npm run test:e2e:cursor`
52+
- Ask the user to verify that the extension works correctly in both editors and that no errors appear.
53+
54+
### 7. Commit
55+
56+
- Stage `package.json` and `CHANGELOG.md`.
57+
- Commit with message: `Release v<version>`
58+
59+
### 8. Publish
60+
61+
- Remind the user they need a Personal Access Token for the VS Code Marketplace if they haven't set one up.
62+
- Run `npx @vscode/vsce publish` — this triggers:
63+
- `vscode:prepublish` (production build)
64+
- Upload to VS Code Marketplace
65+
- `vscode:postpublish``tag-release.sh` (creates and pushes git tag `v<version>`)
66+
- After publish completes, push the release commit: `git push origin main`

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@
187187
"prep": "npm run compile:prod && npm run lint && npm test",
188188
"test": "mocha",
189189
"test-mode": "mocha --watch",
190+
"test:e2e:vscode": "npx @vscode/vsce package && code --install-extension partial-diff-$(jq -r .version package.json).vsix",
191+
"test:e2e:cursor": "npx @vscode/vsce package && cursor --install-extension partial-diff-$(jq -r .version package.json).vsix",
190192
"vscode:prepublish": "npm run compile:prod",
191193
"vscode:postpublish": "./tag-release.sh"
192194
},

0 commit comments

Comments
 (0)