Skip to content

Commit 48a81ed

Browse files
author
1bcMax
committed
chore: add release checklist skill to prevent missed steps
1 parent 0b35565 commit 48a81ed

1 file changed

Lines changed: 182 additions & 0 deletions

File tree

skills/release/SKILL.md

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
---
2+
name: release
3+
description: Use this skill for EVERY ClawRouter release. Enforces the full checklist — version sync, CHANGELOG, blockrun server constant, build, tests, npm publish, git tag, GitHub release. No step can be skipped.
4+
---
5+
6+
# ClawRouter Release Checklist
7+
8+
**This skill is mandatory for every release. Execute every step in order. Do not skip.**
9+
10+
## Step 1: Confirm the New Version
11+
12+
Read the current version:
13+
14+
```bash
15+
cat package.json | grep '"version"'
16+
```
17+
18+
Ask: "What version are we releasing?" Confirm it follows semver and is higher than current.
19+
20+
---
21+
22+
## Step 2: Update `package.json` Version
23+
24+
Edit `package.json` — bump `"version"` to the new version.
25+
26+
---
27+
28+
## Step 3: Write CHANGELOG Entry
29+
30+
Open `CHANGELOG.md`. Add a new section at the top (after the header) in this format:
31+
32+
```markdown
33+
## v{VERSION} — {DATE}
34+
35+
- **Feature/Fix name** — description
36+
- **Feature/Fix name** — description
37+
```
38+
39+
Rules:
40+
- Date format: `Mar 8, 2026`
41+
- One bullet per logical change
42+
- Every bullet must be present — no "see git log"
43+
- Include **all** changes since the previous release
44+
45+
---
46+
47+
## Step 4: Sync `CURRENT_CLAWROUTER_VERSION` in blockrun
48+
49+
**This is the most commonly forgotten step.**
50+
51+
File: `/Users/vickyfu/Documents/blockrun-web/blockrun/src/app/api/v1/chat/completions/route.ts`
52+
53+
Find this line:
54+
```typescript
55+
const CURRENT_CLAWROUTER_VERSION = "x.y.z";
56+
```
57+
58+
Update it to match the new version. Verify with:
59+
```bash
60+
grep CURRENT_CLAWROUTER_VERSION /Users/vickyfu/Documents/blockrun-web/blockrun/src/app/api/v1/chat/completions/route.ts
61+
```
62+
63+
**Do not skip this.** It controls the update nudge shown to users running outdated versions.
64+
65+
---
66+
67+
## Step 5: Build
68+
69+
```bash
70+
npm run build
71+
```
72+
73+
Fix any TypeScript or build errors before proceeding.
74+
75+
---
76+
77+
## Step 6: Run Tests
78+
79+
```bash
80+
npm test
81+
npm run typecheck
82+
npm run lint
83+
```
84+
85+
All must pass. Fix failures before proceeding.
86+
87+
---
88+
89+
## Step 7: Commit Everything
90+
91+
Stage and commit:
92+
93+
```bash
94+
git add package.json CHANGELOG.md
95+
git commit -m "chore: bump version to {VERSION}"
96+
```
97+
98+
If blockrun's route.ts was updated, commit that separately in the blockrun repo.
99+
100+
---
101+
102+
## Step 8: Push to GitHub
103+
104+
```bash
105+
git push origin main
106+
```
107+
108+
---
109+
110+
## Step 9: Create Git Tag
111+
112+
```bash
113+
git tag v{VERSION}
114+
git push origin v{VERSION}
115+
```
116+
117+
---
118+
119+
## Step 10: Create GitHub Release
120+
121+
```bash
122+
gh release create v{VERSION} \
123+
--title "v{VERSION}" \
124+
--notes "$(sed -n '/^## v{VERSION}/,/^## v[0-9]/p' CHANGELOG.md | head -n -1)"
125+
```
126+
127+
Verify the release on GitHub: https://github.com/BlockRunAI/ClawRouter/releases
128+
129+
The release notes **must** match the CHANGELOG entry exactly.
130+
131+
---
132+
133+
## Step 11: Publish to npm
134+
135+
```bash
136+
npm publish --access public
137+
```
138+
139+
Verify: https://npmjs.com/package/@blockrun/clawrouter
140+
141+
Expected output: `+ @blockrun/clawrouter@{VERSION}`
142+
143+
---
144+
145+
## Step 12: Final Verification
146+
147+
Run this checklist to confirm everything is in sync:
148+
149+
```bash
150+
# 1. package.json version
151+
cat package.json | grep '"version"'
152+
153+
# 2. CHANGELOG has the entry
154+
head -10 CHANGELOG.md
155+
156+
# 3. blockrun CURRENT_CLAWROUTER_VERSION
157+
grep CURRENT_CLAWROUTER_VERSION /Users/vickyfu/Documents/blockrun-web/blockrun/src/app/api/v1/chat/completions/route.ts
158+
159+
# 4. npm package is live
160+
npm view @blockrun/clawrouter version
161+
162+
# 5. GitHub tag exists
163+
git tag | grep v{VERSION}
164+
165+
# 6. GitHub release exists
166+
gh release view v{VERSION}
167+
```
168+
169+
All 6 must match the new version. If any mismatch, fix before declaring the release done.
170+
171+
---
172+
173+
## Common Mistakes (Never Repeat These)
174+
175+
| Mistake | Prevention |
176+
|---------|-----------|
177+
| Forgot to update `CURRENT_CLAWROUTER_VERSION` in blockrun | Step 4 — always check |
178+
| CHANGELOG entry missing or incomplete | Step 3 — write it before building |
179+
| npm publish before tests pass | Steps 5-6 must precede Step 11 |
180+
| GitHub release notes empty | Step 10 — extract from CHANGELOG |
181+
| Git tag not pushed | Step 9 — push tag separately |
182+
| docs not reflecting new features | Update docs in same PR as the feature |

0 commit comments

Comments
 (0)