name: release description: Build, version bump, update README/marketplace, commit, push, create GitHub release, and clean local caches argument-hint: "[version] [description]" allowed-tools: Bash, Read, Edit, Write, Glob, Grep, AskUserQuestion user-invocable: true disable-model-invocation: true
claude-ultimate-hud Release Workflow
새 버전을 릴리즈하는 전체 워크플로우를 자동 실행합니다.
Arguments
$0: 새 버전 번호 (예:1.6.0). 생략 시 사용자에게 질문합니다.$1~: 릴리즈 한줄 설명 (예:API stability & git extensions). 생략 시 자동 생성합니다.
Pre-check
- 작업 디렉토리가
claude-ultimate-hud플러그인 루트인지 확인합니다.- 아니면
cd ~/.claude/plugins/claude-ultimate-hud또는 마켓플레이스 캐시 경로로 이동합니다.
- 아니면
git status로 현재 상태를 확인합니다.- 변경 사항이 없으면 사용자에게 알리고 중단합니다.
Step 1: Gather Info
버전이 $0으로 제공되지 않으면 AskUserQuestion으로 물어봅니다:
- header: "Version"
- question: "새 버전 번호를 입력하세요 (현재: {현재 package.json 버전})"
릴리즈 설명이 없으면 git diff HEAD --stat과 변경된 소스 파일을 분석해서 한줄 제목과 changelog를 자동 생성합니다.
Step 2: Build
bun run build
빌드 실패 시 중단합니다.
Step 3: Version Bump
아래 3개 파일에서 버전을 $0으로 업데이트합니다:
package.json:"version": "{OLD}"→"version": "{NEW}".claude-plugin/plugin.json:metadata.version.claude-plugin/marketplace.json:metadata.version
Step 4: Update README
4-1. README.md (한국어)
## 기능 섹션 아래, 기존 최신 버전 항목 위에 새 버전 feature highlight를 추가합니다:
### v{VERSION} - {한줄 설명}
- 주요 변경 사항 목록 (git diff에서 추출)
## 출력 예시 섹션의 코드 블록을 새 기능이 반영된 예시로 업데이트합니다 (변경 필요시에만).
## 변경 이력 섹션 맨 위에 상세 changelog를 추가합니다:
### v{VERSION}
- 변경 항목들 (구체적, 기술적)
4-2. README.en.md (English)
동일한 구조로 영문 README도 업데이트합니다. 한국어 changelog를 영어로 번역하여 추가합니다.
Changelog 작성 규칙
git diff HEAD또는 커밋된 변경 사항을 분석하여 changelog를 생성합니다.- 각 항목은 적절한 이모지 prefix를 사용합니다:
- 🔒 보안/안정성, 🌿 Git, 📊 데이터/표시, 🔥 성능
- 📝 코드 변경, 🔍 디버그/추적, 📋 기능, 📏 UI
- ⚙️ 설정, 📦 빌드/파일, 🛡️ 검증, ❄️ 캐시
- 변경 유형별로 그룹핑합니다 (API, Git, UI, Config 등).
- 짧고 구체적으로 작성합니다 — "개선" 같은 모호한 표현 금지.
Step 5: Rebuild dist
README/metadata 변경 후 dist가 변경되었을 수 있으므로 리빌드합니다:
bun run build
Step 6: Commit
커밋 1 — 소스 변경 (이미 unstaged인 경우):
feat: upgrade to v{VERSION} — {한줄 설명}
{상세 변경 사항 요약}
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
커밋 2 — README/메타데이터:
docs: add v{VERSION} changelog, update marketplace and plugin metadata
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
모든 소스+docs가 한 번에 커밋 가능하면 1개 커밋으로 통합해도 됩니다.
Step 7: Push
git push origin main
push가 rejected되면 git pull --rebase origin main을 먼저 실행합니다.
rebase 충돌 시 git checkout --theirs로 우리 코드를 우선합니다.
Step 8: GitHub Release
gh release create 명령으로 릴리즈를 생성합니다:
gh release create v{VERSION} \
--title "v{VERSION} — {한줄 설명}" \
--notes "$(cat <<'EOF'
## What's New
{Phase별 또는 카테고리별 변경 사항}
### Output Example
{HUD 출력 예시}
### Files Changed
- {변경 파일 수} files modified, {신규 파일} new, {삭제 파일} deleted
- Bundle size: {dist/index.js 크기}
**Full Changelog**: https://github.com/hadamyeedady12-dev/claude-ultimate-hud/compare/v{PREV}...v{VERSION}
EOF
)"
Step 9: Clean Local Cache & Rebuild
rm -f ~/.claude/claude-ultimate-hud-cache.json \
~/.claude/claude-ultimate-hud-ncache.json \
~/.claude/claude-ultimate-hud-git-cache.json \
~/.claude/claude-ultimate-hud-transcript-cache.json \
~/.claude/claude-ultimate-hud-config-cache.json \
~/.claude/claude-ultimate-hud-speed-cache.json \
~/.claude/claude-ultimate-hud-usage.lock
bun install && bun run build
Step 10: Verify
최종 동작 테스트를 실행합니다:
echo '{"model":{"display_name":"Opus"},"cwd":"'$(pwd)'","transcript_path":"","context_window":{"context_window_size":200000,"current_usage":{"input_tokens":50000,"cache_creation_input_tokens":0,"cache_read_input_tokens":0}},"cost":{"total_cost_usd":0.5}}' | bun dist/index.js
출력이 정상이면 릴리즈 URL을 사용자에게 보여주고 완료를 알립니다.
Summary Template
작업 완료 후 아래 형식으로 요약합니다:
v{VERSION} 릴리즈 완료:
1. Build — {번들 크기}
2. Version bump — package.json, plugin.json, marketplace.json
3. README — KO/EN changelog 추가
4. Commit — {커밋 수}개 ({커밋 해시})
5. Push — origin/main
6. Release — {릴리즈 URL}
7. Cache cleanup & rebuild — 완료