release-workflowlisted
Install: claude install-skill sardonyx0827/dotfiles
# Release Workflow
A repeatable, auditable release process built on Conventional Commits, annotated
tags, and the `gh` CLI. Each section explains the command and why it matters.
## 1. Semver Decision from Conventional Commits
Survey every commit since the last tag before picking a version level:
```bash
git log $(git describe --tags --abbrev=0)..HEAD --oneline
```
Apply the highest-ranked change type found:
| Commit signal | Semver bump |
| ----------------------------------------------------------- | ----------- |
| `fix:` | patch |
| `feat:` | minor |
| `BREAKING CHANGE:` footer or `!` after type (e.g. `feat!:`) | major |
Precedence is strict: a single `feat!:` overrides all `fix:` commits in the
same batch. When there are no conventional commits at all, default to patch and
document why in the tag message.
❌ WRONG — picking minor because "it feels minor":
```
feat: add dark mode toggle
fix: correct button alignment
# Released as v1.2.1 (patch) — "it's just a toggle"
```
✅ CORRECT — `feat:` mandates minor regardless of perceived size:
```
feat: add dark mode toggle
fix: correct button alignment
# Released as v1.3.0 (minor)
```
## 2. Pre-Release Verification
Never tag a commit you have not verified. Run all of the following before
creating the tag:
```bash
# 1. Working tree must be clean
git sta