Looks at your commits since the last release, picks the next version number, and creates a draft GitHub release with a highlights section and auto-generated changelog.
You review and publish.
Built for monorepos where multiple apps ship from one repo.
Each app gets its own tag prefix (api-v1.4.3, web-v0.3.0), so releases stay separate.
You can pass a specific version or let it patch-bump automatically.
Needs an AI agent with gh CLI access (Claude Code, Cursor, Codex, etc.).
Easy to simplify for single-app repos too.
Prompt
Create a GitHub release draft for the specified app.
**Usage:** `/release <api|web> [version]`
**Examples:**
- `/release api` → Patch bump (1.4.3 → 1.4.4)
- `/release web 0.3.0` → Specific version
## Instructions
Parse arguments from: $ARGUMENTS
- First arg: app name (`api` | `web`) - REQUIRED
- Second arg: version (`x.y.z`) - OPTIONAL
### 1. Validate app name and map to tag prefix
| App | Tag Prefix | Display Name |
| ----- | ---------- | ------------ |
| `api` | `api-v` | `[API]` |
| `web` | `web-v` | `[Web]` |
If app name is invalid, show usage and stop.
### 2. Get latest release tag for this app
```bash
gh release list --json tagName --limit 50 | \
jq -r '.[] | select(.tagName | startswith("PREFIX")) | .tagName' | head -1
```
### 3. Determine new version
**If version argument provided:** Use it directly (validate format `x.y.z`)
**If no version argument:** Extract version from latest tag and increment patch:
```bash
# api-v1.4.3 → VERSION=1.4.3
# Split: MAJOR=1, MINOR=4, PATCH=3
# New: 1.4.4
```
### 4. Show what will be released
Before creating, display:
- Previous tag
- New tag
- Commits that will be included (use `git log PREV_TAG..HEAD --oneline`)
### 5. Analyze commits for highlights
Review the commits since last release and identify 4-6 key highlights. Group by:
- **Features**: New capabilities (feat: commits)
- **Fixes**: Important bug fixes (fix: commits)
- **Improvements**: Refactors, performance, DX (chore:, refactor:, perf: commits)
Write a highlights section in this format:
```markdown
## Highlights
- **Feature Name**: Brief description of what it enables
- **Another Feature**: What users can now do
- **Bug Fix Area**: What was broken and is now fixed
```
### 6. Create draft release
Combine highlights with auto-generated notes:
```bash
gh release create "NEW_TAG" \
--title "[DISPLAY_NAME] vVERSION" \
--generate-notes \
--notes-start-tag "PREVIOUS_TAG" \
--draft \
--notes "## Highlights
- **Highlight 1**: Description
- **Highlight 2**: Description
- **Highlight 3**: Description
---
## What's Changed
"
```
The `--generate-notes` will append the auto-generated changelog after "What's Changed".
### 7. Output result
Show the draft release URL so user can review and publish.
## Error Cases
- Invalid app name → Show usage
- No previous releases → Require explicit version argument
- Invalid version format → Show error with expected format
- No commits since last release → Warn user but still create if they want