--- name: version description: RELEASE-NOTES.md 기반으로 버저닝 릴리즈 노트(VERSION-HISTORY.md)를 생성합니다 user-invokable: true argument-hint: "[version: 1.0.0] (생략 시 자동 결정)" --- `docs/RELEASE-NOTES.md`의 내부 릴리즈 노트를 기반으로 사용자 관점의 `docs/VERSION-HISTORY.md`를 생성/갱신합니다. 버전: $ARGUMENTS (생략 시 변경 타입에 따라 자동 결정) ## 수행 단계 ### 0. 권한 확인 ```bash REMOTE_URL=$(git remote get-url origin) GITEA_HOST=$(echo "$REMOTE_URL" | sed -E 's|^https?://([^/]+)/.*|\1|') REPO_PATH=$(echo "$REMOTE_URL" | grep -oE '[^/]+/[^/]+\.git$' | sed 's/.git$//') PERMISSIONS=$(curl -sf "https://${GITEA_HOST}/api/v1/repos/${REPO_PATH}" \ -H "Authorization: token ${GITEA_TOKEN}") IS_ADMIN=$(echo "$PERMISSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin)['permissions']['admin'])") ``` - `IS_ADMIN`이 `False`이면: "버전 릴리즈는 프로젝트 관리자만 실행할 수 있습니다." 안내 후 종료 - `GITEA_TOKEN` 미설정: 설정 안내 후 종료 ### 1. RELEASE-NOTES.md 분석 `docs/RELEASE-NOTES.md`가 없으면 종료: "RELEASE-NOTES.md가 없습니다. 먼저 /mr로 릴리즈 노트를 생성하세요." ```bash cat docs/RELEASE-NOTES.md ``` ### 2. 수집 범위 결정 - `docs/VERSION-HISTORY.md`가 있으면: 마지막 버전의 날짜를 확인 - 해당 날짜 이후의 RELEASE-NOTES.md 항목을 수집 - VERSION-HISTORY.md가 없으면: 전체 RELEASE-NOTES.md 항목 수집 ### 3. 버전 결정 **인자가 있으면** ($ARGUMENTS): 해당 버전 사용 **인자가 없으면** 자동 결정: - `feat` 포함 → minor 버전 올림 (x.Y.0) - `fix`만 → patch 버전 올림 (x.y.Z) - breaking change 포함 → major 버전 올림 (X.0.0) - 이전 버전이 없으면 `1.0.0`부터 시작 ### 4. 사용자 관점으로 재작성 수집된 항목을 다음 섹션으로 재구성: | 섹션 | 포함 기준 | |------|----------| | **주요 변경** | 사용자가 눈에 띄게 느낄 수 있는 기능 (feat 중 UI/UX 영향 큰 것) | | **개선** | 성능/편의성 향상 (refactor, perf, 사소한 feat) | | **버그 수정** | 사용자 영향 있는 문제 해결 | | **보안** | 보안 관련 수정 (해당 시) | 변환 규칙: - 기술 용어 → 사용자 언어로 재작성 - 관련 항목 그룹핑 (여러 커밋이 하나의 기능이면 합침) - docs, test, chore, ci 등 사용자에게 보이지 않는 변경은 제외 - 각 항목은 사용자가 "이게 뭐가 바뀐 거지?" 이해할 수 있는 수준으로 ### 5. 초안 표시 + 첨삭 확인 초안을 표시하고 **AskUserQuestion**으로 확인: - **질문**: "VERSION-HISTORY.md 초안입니다. 수정할 내용이 있으면 알려주세요." - 옵션 1: 이대로 진행 (추천) - 옵션 2: 수정 (Other 입력) ### 6. VERSION-HISTORY.md 갱신 파일이 없으면 새로 생성: ```markdown # Version History 이 프로젝트는 [Semantic Versioning](https://semver.org/lang/ko/)을 따릅니다. ``` 새 버전을 기존 내용 위에 추가: ```markdown ## [1.2.0] - 2026-03-01 ### 주요 변경 - **해역별 조업 현황 대시보드 추가**: 지도에서 해역을 선택하면 실시간 조업 통계를 확인할 수 있습니다 ### 개선 - 지도 레이어 전환 속도 향상 ### 버그 수정 - 야간 배치 실행 시 타임아웃 발생하던 문제 수정 > 내부 릴리즈: 2026-02-28 ~ 2026-03-01 (3건) ``` 마지막 줄에 참조한 내부 릴리즈 날짜 범위와 건수를 표시. ### 7. 커밋 ```bash git add docs/VERSION-HISTORY.md git commit -m "docs: v$VERSION 릴리즈 노트 작성" git push ``` ### 8. 결과 출력 ``` ✅ 버전 릴리즈 노트 작성 완료 버전: 1.2.0 파일: docs/VERSION-HISTORY.md 기반: RELEASE-NOTES.md (2026-02-28 ~ 2026-03-01, 3건) ``` ## 필요 환경변수 - `GITEA_TOKEN`: Gitea API 접근 토큰 (필수)