---
description: Version bump + changelog + tag.
argument-hint: <major|minor|patch>
---

# /release

## Purpose

Cut a release: bump version, update changelog, tag.

## Required context

- `package.json`, `CHANGELOG.md`, `.claude/agents/release-manager-agent.md`, `docs/runbooks/`

## Inputs

- `$1` — semver bump level

## Execution steps

1. Run `/prepare-deploy` first; abort on any blocker.
2. Compute the new version; update `package.json` (+ .NET version props).
3. Generate changelog from Conventional Commits since the last tag.
4. Commit `chore(release): vX.Y.Z`, tag `vX.Y.Z`. Do NOT push without confirmation.

## Validation checklist

- [ ] Pre-deploy checklist green
- [ ] Version bumped everywhere
- [ ] Changelog accurate
- [ ] Tag created

## Expected output

A tagged release commit, ready to push on approval.

## Failure handling

Never tag a release with failing tests. Pushing tags requires explicit user approval.
