- CLAUDE.md: React/TypeScript/Vite 프로젝트 가이드 - .claude/settings.json: npm/Node.js 빌드 도구 권한 설정 - .claude/rules/: TypeScript/React 코드 스타일, 네이밍, 테스트 규칙 - .githooks/pre-commit: TypeScript 타입체크 + ESLint 검증 - .npmrc: Nexus npm 프록시 레지스트리 - .prettierrc: 코드 포맷팅 설정 - .node-version: Node.js 버전 고정
1.8 KiB
1.8 KiB
| name | description | allowed-tools | argument-hint |
|---|---|---|---|
| create-mr | 현재 브랜치에서 Gitea MR(Merge Request)을 생성합니다 | Bash, Read, Grep | [target-branch: develop|main] (기본: develop) |
현재 브랜치의 변경 사항을 기반으로 Gitea에 MR을 생성합니다. 타겟 브랜치: $ARGUMENTS (기본: develop)
수행 단계
1. 사전 검증
- 현재 브랜치가 main/develop이 아닌지 확인
- 커밋되지 않은 변경 사항 확인 (있으면 경고)
- 리모트에 현재 브랜치가 push되어 있는지 확인 (안 되어 있으면 push)
2. 변경 내역 분석
git log develop..HEAD --oneline
git diff develop..HEAD --stat
- 커밋 목록과 변경된 파일 목록 수집
- 주요 변경 사항 요약 작성
3. MR 정보 구성
- 제목: 브랜치의 첫 커밋 메시지 또는 브랜치명에서 추출
feature/ISSUE-42-user-login→feat: ISSUE-42 user-login
- 본문:
## 변경 사항 - (커밋 기반 자동 생성) ## 관련 이슈 - closes #이슈번호 (브랜치명에서 추출) ## 테스트 - [ ] 빌드 성공 확인 - [ ] 기존 테스트 통과
4. Gitea API로 MR 생성
# 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 접근 토큰 (없으면 안내)