release-changeloglisted
Install: claude install-skill AkaraChen/2code
# Release & Changelog
Full pipeline for releasing the 2code Tauri app: build DMG → draft release with changelog → upload artifact → publish.
## Steps
### 1. Gather context
```bash
# Version to release
cat src-tauri/tauri.conf.json | grep -A1 '"version"'
# Previous release tag
gh release list --limit 1 --json tagName -q '.[0].tagName'
# Commits since last release (for changelog)
git log $(gh release list --limit 1 --json tagName -q '.[0].tagName')..HEAD --oneline
```
### 2. Build DMG (run in background — takes ~5 min)
```bash
bun tauri build
```
Use `run_in_background: true`. Proceed to step 3 while building.
Output path: `src-tauri/target/release/bundle/dmg/two-code_<version>_aarch64.dmg`
### 3. Create draft release with changelog
Group commits by conventional prefix:
- `feat:` / `feat(scope):` → **Features**
- `fix:` / `fix(scope):` → **Bug Fixes**
- `chore:` / `build:` / `refactor:` → omit unless significant
- Unprefixed commits → use judgment
```bash
gh release create v<version> \
--title "v<version>" \
--notes "## What's Changed
### Features
- <feat commits, one per line>
### Bug Fixes
- <fix commits, one per line>
**Full Changelog**: https://github.com/AkaraChen/2code/compare/<prev-tag>...v<version>" \
--draft
```
Always create as **draft** — publish only after DMG is uploaded.
### 4. Upload DMG (after build completes)
```bash
gh release upload v<version> \
"src-tauri/target/release/bundle/dmg/two-code_<version>_aarch64.dmg" \
--clobber
```