버전 업데이트, PR 생성/머지, 릴리즈 배포 및 release 브랜치 동기화
버전을 업데이트하고 PR을 생성/머지한 뒤, 릴리즈를 배포하고 main을 release 브랜치에 머지 Release Drafter가 있으면 draft 릴리즈를 배포하고, 없으면 GitHub auto-generated notes로 릴리즈를 생성
git remote get-url origin | sed 's|.*github.com[:/]||' | sed 's|\.git$||'git rev-parse --abbrev-ref origin/HEAD | sed 's|origin/||'git branch --show-current<version>: 배포할 버전 (형식: v{major}.{minor}.{patch})--sync: release 브랜치 동기화 활성화 (release 브랜치가 있는 프로젝트용)사용자 입력 인자: $ARGUMENTS
버전 인자 검증
v 접두사가 없으면 자동 추가버전 유효성 확인
로컬 상태 확인
git status --porcelain으로 uncommitted 변경사항 확인기본 브랜치 확인
릴리즈 방식 감지
gh api repos/{repo}/contents/.github/workflows/release-drafter.yml --silent 로 Release Drafter 워크플로 존재 여부 확인drafter 모드, 없으면 generate 모드로 설정Draft 릴리즈 존재 확인 (drafter 모드만)
gh release list --repo {repo} --limit 5로 draft 릴리즈 존재 여부 확인release 브랜치 존재 확인
--sync 인자가 없으면 이 단계 건너뛰기git ls-remote --heads origin release로 원격 release 브랜치 확인git push origin {default-branch}:release로 생성Linear 이슈 및 브랜치 생성
/start-issue 스킬 호출[area] {version} 배포버전 파일 변경
pyproject.toml의 version 필드package.json의 version 필드v 접두사 제거 후 업데이트 (예: v1.2.3 → 1.2.3)변경 내역 작성 (changelog 파일이 존재하는 경우에만)
CHANGELOG.md 또는 changelog.md 파일 탐색drafter 모드: gh release view로 draft 릴리즈 본문 조회generate 모드: gh api repos/{repo}/releases/generate-notes -f tag_name={version}으로 auto-generated notes 조회## {version} ({YYYY-MM-DD}) 섹션을 기존 최상단 버전 위에 추가변경 내역 사용자 확인 (10단계 실행 시에만)
변경사항 커밋
u: 프로젝트 버전을 {version}으로 업데이트PR 생성
/submit-pr 스킬 호출{version} 배포 작성PR 머지
/finish-pr 스킬 호출--admin --wait --donedrafter 모드Release Drafter 워크플로 완료 대기
gh run list --repo {repo} --workflow=release-drafter.yml --limit 1로 최근 실행 확인in_progress인 경우 gh run watch --repo {repo}로 완료 대기Draft 릴리즈 배포
gh release edit --repo {repo}로 태그/제목 수정gh release edit --repo {repo} {version} --draft=false로 릴리즈 배포generate 모드gh release create {version} --repo {repo} --generate-notes --target {default-branch}로 릴리즈 생성--sync 인자가 없거나 사용자가 "브랜치 동기화 없이 진행"을 선택한 경우 이 섹션 전체 건너뛰기.
release 브랜치에 main 머지
git fetch origingit switch releasegit merge origin/{default-branch} --no-editgit merge --abort 명령어 안내release 브랜치 푸시
git push origin release기본 브랜치로 복귀
git switch {default-branch}git pull origin {default-branch}drafter 모드: Draft 릴리즈가 존재해야 함