release-preplisted
Install: claude install-skill barockok/slaude
# Release Prep
## Overview
Slaude release workflow. Granular commits, hand-written release notes, automated verification. Follows `docs/releases/<tag>.md` convention from `CLAUDE.md`.
## When to Use
- User asks to prep/cut/ship a release
- Version bump needed
- Release notes need writing
- Post-merge release verification needed
## Quick Reference
| Step | Command / Action |
|---|---|
| Find last tag | `git describe --tags --abbrev=0` |
| Diff commits | `git log <tag>..HEAD --oneline` |
| Check changed files | `git diff --stat <tag>..HEAD` |
| Type check | `bun run typecheck` |
| Run tests | `bun test` |
## Release Workflow
### 1. Diff since last tag
```bash
git describe --tags --abbrev=0
git log <tag>..HEAD --oneline --no-decorate
git diff --stat <tag>..HEAD
```
### 2. Determine version (semver)
- **Major** (`X.0.0`): breaking schema/config/API change
- **Minor** (`x.Y.0`): new features, non-breaking additions
- **Patch** (`x.y.Z`): bugfixes only, no new features
Default to minor if any `feat:` commits since last tag. Patch only if all commits are `fix:`, `docs:`, `test:`, `chore:`.
### 3. Bump version
Edit `package.json` `"version"` field. Commit separately:
```
chore(release): bump version to X.Y.Z
```
### 4. Write release notes
Create `docs/releases/vX.Y.Z.md`. Structure:
```markdown
## vX.Y.Z — <one-line summary>
<paragraph describing release theme/motivation>
### Features
- **Area: feature name.** Description. Link to files if non-obvious.
### Fixes