GitHub PR를 고객이 읽을 수 있는 릴리즈 노트로 변환하는 서비스를 만들었습니다.
출처: Dev.to
사용자는 PR 제목을 읽지 않습니다. 특히 사용자분들은요.
PR을 “수정: 페이지네이션 엔드포인트 오프셋 버그”이라고 머지하고, PM이 “이번 주에 뭐 배포됐어?”라고 묻습니다. 이제 당신은 GitHub을 뒤져서 고객이 이해할 수 있는 형태로 커밋 메시지를 다시 적고 있습니다.
그 루프에 지쳤기 때문에 Shiplog라는 파이썬 CLI를 만들었습니다. 이 도구는 머지된 PR을 읽고 깔끔하고 카테고리별로 정리된 출시 노트(changelog)를 만들어 줍니다.
한 줄 명령:
bash
머지된 PR을 가져와 각 PR에 AI 변환을 적용하고, 카테고리별(새로운, 개선된, 수정된, 인프라) 그룹화된 출시 노트를 출력합니다.
PR 제목이 “수정: 페이지네이션 엔드포인트 오프셋 버그”일 경우:
▎ 수정
작동 방식
GitHub PRs → Shiplog API → { category, title, body } → 마크다운 또는 JSON
git origin에서 자동으로 저장소를 감지 — 설정 필요 없음
기본적으로 의존성 봇 PR(dependabot, renovate)를 건너뜁니다
병렬로 실행을 수행하고 자동 리밋 제한 재시도
마크다운 또는 JSON을 출력하며, stdout 혹은 파일에 저장
간단한 예시
cd your-project
특정 저장소에 파일로 쓰기
shiplog generate owner/repo —days 30 -o CHANGELOG.md
다른 도구에 전달용 JSON 출력
shiplog generate owner/repo —format json
GitHub 없이 단일 PR 변환
shiplog single “Add dark mode support” —body “Adds theme toggle in settings”
git log를 사용하지 않는 이유?
git log는 개발자 컨텍스트를 제공합니다. 출시 노트는 사용자 컨텍스트가 필요합니다. “인증 미들웨어 리팩터링을 JWT 검증을 위해”라고 하면 고객에게는 의미가 없습니다.
▎ 개선
그 격차를 메웁니다.
시도해 보세요
pip install shiplog-cli
공개 저장소는 인증 없이도 작동합니다. 개인 저장소의 경우 자동으로 GH 인증 토큰을 사용합니다.
사이트: https://shiplog.arksoft.xyz
피드백을 듣고 싶습니다 — 여러분의 워크플로에 어떤 기능이 유용할까요?