| name | release-check |
| description | claude-pet 릴리스/배포 전 점검 — gradle.properties 버전 정합성, 3단 빌드 검증(compile → 개발 실행 → 번들), README/docs 동기화, release-please 상태를 확인한다. 트리거 — '릴리스 점검', '배포 전 확인', 'release-check', '릴리스 준비됐는지 봐줘'. |
release-check
이 skill은 claude-pet 릴리스/배포 전에 사람이 매번 손으로 확인하던 항목을 한 절차로 점검한다.
"컴파일 성공 = 동작 성공"이 아니라는 프로젝트 규칙(.claude/CLAUDE.md "작업 흐름")을 강제한다.
검증 전용이며 파일을 만들거나 수정하지 않는다.
사용 시점
- release-please Release PR을 머지해
v* 태그로 배포하기 직전.
- 기능 PR을 올리기 전, 번들 단계에서만 드러나는 회귀를 미리 잡고 싶을 때.
- UI/리소스 경로/패키징 설정을 바꾼 뒤.
사용하지 않는 경우
- 문서만 바뀐 변경(빌드·번들 영향 없음).
- 하네스 파일(
.claude/, docs/, .mcp.json)만 바뀐 경우 — 이건 /verify가 담당한다.
절차
모든 gradle 명령은 프로젝트 루트에서 실행한다.
- 버전 정합성
gradle.properties의 projectVersion 라인이 # x-release-please-start-version ~
# x-release-please-end 마커 사이에 있는지 확인한다(release-please가 bump하는 위치).
git tag --list 'v*'의 최신 태그와 projectVersion을 비교한다. 이미 배포된 버전과
같으면 새 릴리스가 아니므로 사용자에게 확인한다.
- 3단 빌드 검증 (
.claude/CLAUDE.md "작업 흐름" 기준)
- 1단계 컴파일:
./gradlew :composeApp:compileKotlinJvm
- 2단계 개발 실행:
./gradlew :composeApp:run — 창이 뜨고 펫이 렌더되는지 육안 확인.
UI 변경이 없으면 생략 가능하며, 생략 시 "미검증"으로 기록한다.
- 3단계 번들 실행: 현재 OS 기준
./gradlew :composeApp:packageDmg(macOS) 또는
./gradlew.bat :composeApp:packageMsi(Windows). 산출물이 dist/에 생성됐는지 확인하고,
번들 앱을 실제로 실행해 jlink 런타임 누락·리소스 경로 이슈가 없는지 본다.
- 문서 동기화
- 기능이 추가/변경됐다면
README.md의 해당 섹션이 갱신됐는지 확인한다(프로젝트 규칙: README 동기화).
- 사용자 노출 변경이면
docs/설치방법.txt 등 설치 가이드 영향 여부를 확인한다.
- release-please 상태
release-please-config.json과 .release-please-manifest.json이 존재하는지 확인한다.
- 최근 커밋 메시지가 Conventional Commits(
docs/commit-convention.md)를 따르는지 확인한다 —
release-please가 버전·CHANGELOG를 이 커밋으로 계산한다.
검증 기준
- 1·3단계 gradle 명령의 종료 코드가 0이다.
dist/에 ClaudePet-<projectVersion>.dmg 또는 ClaudePet-<projectVersion>.msi가 생성됐다.
projectVersion이 최신 v* 태그보다 높은 SemVer다.
- 기능 변경이 있으면
README.md diff에 해당 섹션 변경이 있다.
- 실행하지 못한 단계(예: 다른 OS의 번들)는 PASS로 적지 않고 "미검증"으로 분리한다.
출력 형식
## release-check 결과
- 버전 정합성: PASS / FAIL / 미검증 — projectVersion=<값>, 최신 태그=<값>
- 컴파일(1단계): PASS / FAIL — <gradle 결과>
- 개발 실행(2단계): PASS / FAIL / 생략 — <육안 확인 결과>
- 번들(3단계): PASS / FAIL / 미검증 — <산출물 경로>
- 문서 동기화: PASS / FAIL / 해당 없음
- release-please 상태: PASS / FAIL / 미검증
## 문제
- <항목>: <문제와 근거>
## 미검증
- <실행하지 못한 단계와 이유 — 예: Windows 번들은 현재 OS(macOS)에서 빌드 불가>