Skip to content

Commit baf7dbf

Browse files
authored
Add release skill for Claude Code (#1800)
## Summary - Adds a `/release` Claude Code skill that documents the lading release process - Covers: changelog update, version bump, lockfile sync via `cargo check`, commit, tag, and push ## Test plan - [x] Verify skill appears in `/release` invocation - [ ] Use skill to perform the 0.31.0 release on a separate branch
1 parent 0656ecb commit baf7dbf

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

.claude/skills/release/SKILL.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: release
3+
description: Prepare a lading release. Updates CHANGELOG.md, bumps version in Cargo.toml, updates Cargo.lock, commits, and creates a PR.
4+
allowed-tools: Read, Edit, Bash, AskUserQuestion
5+
---
6+
7+
# Release process for lading
8+
9+
## 1. Determine the next version
10+
11+
- Read `lading/Cargo.toml` and `CHANGELOG.md` to find the current version and unreleased changes.
12+
- If the user hasn't specified a version, suggest one based on semver:
13+
- Breaking changes in the unreleased section -> bump minor (we're pre-1.0).
14+
- Otherwise bump patch.
15+
- Confirm the version with the user before proceeding.
16+
17+
## 2. Create a release branch
18+
19+
- Create a branch from main: `git checkout -b prepare-release-v<version>`
20+
21+
## 3. Update CHANGELOG.md
22+
23+
- Read `CHANGELOG.md`.
24+
- Insert a new `## Unreleased` header (with empty subsections) above the current unreleased content.
25+
- Rename the existing unreleased content block to `## [<version>]`.
26+
- Ensure there is a blank line between the new empty `## Unreleased` and `## [<version>]`.
27+
28+
## 4. Bump version in Cargo.toml
29+
30+
- Edit `lading/Cargo.toml` to set `version = "<new_version>"`.
31+
32+
## 5. Update Cargo.lock
33+
34+
- Run `cargo check` to propagate the version change into the lockfile without re-resolving all dependencies.
35+
36+
## 6. Commit and create PR
37+
38+
- Stage `CHANGELOG.md`, `lading/Cargo.toml`, and `Cargo.lock`.
39+
- Commit with message: `release: v<version>`
40+
- Push the branch and create a PR targeting main.
41+
42+
## 7. Tag after merge
43+
44+
- After the PR is merged, remind the user to tag the merge commit on main:
45+
- `git checkout main && git pull`
46+
- `git tag -a v<version> -m "v<version>"`
47+
- `git push origin v<version>`
48+
- **NEVER use `git push --tags`** — always push exactly one tag at a time.
49+
- The `release.yml` GitHub Actions workflow will automatically create a GitHub Release from the tag, pulling notes from CHANGELOG.md.

0 commit comments

Comments
 (0)