--- name: create-mr description: 현재 브랜치에서 Gitea MR(Merge Request)을 생성합니다 allowed-tools: "Bash, Read, Grep" argument-hint: "[target-branch: develop|main] (기본: develop)" --- 현재 브랜치의 변경 사항을 기반으로 Gitea에 MR을 생성합니다. 타겟 브랜치: $ARGUMENTS (기본: develop) ## 수행 단계 ### 1. 사전 검증 - 현재 브랜치가 main/develop이 아닌지 확인 - 커밋되지 않은 변경 사항 확인 (있으면 경고) - 리모트에 현재 브랜치가 push되어 있는지 확인 (안 되어 있으면 push) ### 2. 변경 내역 분석 ```bash git log develop..HEAD --oneline git diff develop..HEAD --stat ``` - 커밋 목록과 변경된 파일 목록 수집 - 주요 변경 사항 요약 작성 ### 3. MR 정보 구성 - **제목**: 브랜치의 첫 커밋 메시지 또는 브랜치명에서 추출 - `feature/ISSUE-42-user-login` → `feat: ISSUE-42 user-login` - **본문**: ```markdown ## 변경 사항 - (커밋 기반 자동 생성) ## 관련 이슈 - closes #이슈번호 (브랜치명에서 추출) ## 테스트 - [ ] 빌드 성공 확인 - [ ] 기존 테스트 통과 ``` ### 4. Gitea API로 MR 생성 ```bash # Gitea remote URL에서 owner/repo 추출 REMOTE_URL=$(git remote get-url origin) # Gitea API 호출 curl -X POST "GITEA_URL/api/v1/repos/{owner}/{repo}/pulls" \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "title": "MR 제목", "body": "MR 본문", "head": "현재브랜치", "base": "타겟브랜치" }' ``` ### 5. 결과 출력 - MR URL 출력 - 리뷰어 지정 안내 - 다음 단계: 리뷰 대기 → 승인 → 머지 ## 필요 환경변수 - `GITEA_TOKEN`: Gitea API 접근 토큰 (없으면 안내)