Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .claude/commands/branch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# 브랜치 생성 커맨드

## 사용법

```
/branch <이슈번호> <설명>
```

예시: `/branch 156 course-like`

## 동작 순서

1. `$ARGUMENTS`에서 이슈번호와 설명을 파싱한다.
2. 커밋 타입을 선택하도록 사용자에게 묻는다.
3. 브랜치명을 조합하고 확인을 요청한다.
4. 확인 후 아래 순서로 명령을 실행한다.
- `git fetch origin develop` — 최신 develop 동기화
- `git checkout -b <브랜치명> origin/develop` — 로컬 브랜치 생성
- `git push -u origin <브랜치명>` — 원격 브랜치 생성 및 추적 설정
5. 완료 후 생성된 브랜치명을 출력한다.

## 브랜치 명명 규칙

```
<type>/#<이슈번호>-<설명>
```

### 타입 선택 기준

| 타입 | 사용 시점 |
|------|----------|
| `feat` | 새로운 기능 추가 |
| `fix` | 버그 수정 |
| `refactor` | 기능 변경 없는 코드 개선 |
| `docs` | 문서, 주석 변경 |
| `test` | 테스트 코드 추가/수정 |
| `chore` | 빌드, 설정, 의존성 등 기타 변경 |

### 예시

```
feat/#156-course-like
fix/#149-semofeed-image-url-quote
refactor/#160-tracking-buffer-flush
```

## 실행 명령 예시

```bash
git fetch origin develop
git checkout -b feat/#156-course-like origin/develop
git push -u origin feat/#156-course-like
```
23 changes: 19 additions & 4 deletions .claude/commands/issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@

1. `$ARGUMENTS`로 전달된 설명을 바탕으로 작업 내용을 파악한다.
2. 아래 이슈 템플릿을 채워 초안을 제안한다.
3. 사용자 확인 후 `gh issue create` 명령으로 GitHub에 이슈를 생성한다.
3. 사용자에게 초안을 보여주고 "생성할까요?" 라고 확인을 요청한다.
4. 사용자가 확인하면 즉시 `gh issue create` 명령을 실행하고 생성된 이슈 URL을 출력한다.
5. 수정 요청이 있으면 해당 항목을 수정한 뒤 다시 확인을 요청한다.

## 이슈 템플릿

Expand Down Expand Up @@ -65,11 +67,24 @@
- 논의가 필요하거나 고민되는 부분을 작성
- 없으면 `없음`으로 작성

## 이슈 생성 명령 예시
## 이슈 생성 명령

사용자 확인 후 아래 순서로 실행한다.
본문은 특수문자·마크다운 이스케이프 오류를 막기 위해 임시 파일로 작성 후 `--body-file`로 전달한다.

```bash
# 1. 본문을 임시 파일에 저장
cat > /tmp/issue_body.md << 'EOF'
<채워진 템플릿 내용>
EOF

# 2. 이슈 생성
gh issue create \
--title "<이슈 제목>" \
--body "<채워진 템플릿 내용>" \
--label "feat"
--body-file /tmp/issue_body.md

# 3. 임시 파일 삭제
rm /tmp/issue_body.md
```

생성 완료 후 반환된 이슈 URL을 사용자에게 출력한다.
33 changes: 28 additions & 5 deletions .claude/commands/pr.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
1. `git log`와 `git diff <base-branch>...HEAD`로 현재 브랜치의 전체 변경사항을 파악한다.
2. 브랜치명에서 이슈 번호를 추출한다. (예: `feat/#151-claude-command` → `#151`)
3. 아래 PR 템플릿을 채워 초안을 제안한다.
4. 사용자 확인 후 `gh pr create` 명령으로 GitHub에 PR을 생성한다.
4. 사용자에게 초안을 보여주고 "생성할까요?" 라고 확인을 요청한다.
5. 사용자가 확인하면 즉시 `gh pr create` 명령을 실행하고 생성된 PR URL을 출력한다.
6. 수정 요청이 있으면 해당 항목을 수정한 뒤 다시 확인을 요청한다.

## PR 템플릿

Expand All @@ -27,6 +29,13 @@

## 각 항목 작성 규칙

### PR 제목 형식
- `[Feat] ~기능 추가` — 새로운 기능
- `[Fix] ~버그 수정` — 버그 수정
- `[Refactor] ~개선` — 리팩토링
- `[Chore] ~` — 설정, 빌드, 기타
- `[Docs] ~` — 문서

### 🧾 요약
- 이 PR이 무엇을 왜 하는지 한 줄로 작성
- 예: `산 좋아요 토글 API 구현 — 사용자가 관심 산을 저장할 수 있도록`
Expand All @@ -46,17 +55,31 @@
### ✅ 확인
- `빌드 OK` / `테스트 OK` 항목은 사용자가 직접 체크하도록 체크박스로 남겨둔다.

## PR 생성 명령 예시
## PR 생성 명령

사용자 확인 후 아래 순서로 실행한다.
본문은 특수문자·마크다운 이스케이프 오류를 막기 위해 임시 파일로 작성 후 `--body-file`로 전달한다.

```bash
# 1. 본문을 임시 파일에 저장
cat > /tmp/pr_body.md << 'EOF'
<채워진 템플릿 내용>
EOF

# 2. PR 생성
gh pr create \
--title "<타입>: <한글 제목>" \
--body "<채워진 템플릿 내용>" \
--title "[<타입>] <한글 제목>" \
--body-file /tmp/pr_body.md \
--base develop

# 3. 임시 파일 삭제
rm /tmp/pr_body.md
```

생성 완료 후 반환된 PR URL을 사용자에게 출력한다.

## 주의사항

- base 브랜치는 기본적으로 `develop`으로 설정한다. `main`으로 보내는 경우 사용자에게 확인한다.
- base 브랜치는 항상 `develop`으로 설정한다. `main`으로 보내는 경우 반드시 사용자에게 확인한다.
- 리뷰어 2명 승인 필요 — PR 생성 후 리뷰어 지정을 안내한다.
- 셀프 머지 금지 규칙을 사용자에게 상기시킨다.