Skip to content

Commit 6fd9283

Browse files
authored
Merge pull request #153 from SEMOSAN/feat/#151-claude-command
[Feat] Claude 커스텀 슬래시 커맨드 추가 (/commit, /issue, /pr)
2 parents 2cee668 + 55c1002 commit 6fd9283

4 files changed

Lines changed: 183 additions & 1 deletion

File tree

.claude/commands/commit.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Git Commit 커맨드
2+
3+
## 동작 순서
4+
5+
1. `git status``git diff` (staged + unstaged)를 실행해 변경사항 전체를 파악한다.
6+
2. 변경된 파일과 내용을 분석해 커밋 타입과 한글 메시지를 결정한다.
7+
3. 스테이징되지 않은 파일이 있으면 어떤 파일을 포함할지 사용자에게 먼저 확인한다.
8+
4. 아래 형식으로 커밋 메시지를 제안하고 승인을 받은 뒤 커밋한다.
9+
10+
## 커밋 메시지 형식
11+
12+
```
13+
<type>: <한글 메시지>
14+
```
15+
16+
### 타입 선택 기준
17+
18+
| 타입 | 사용 시점 |
19+
|------|----------|
20+
| `feat` | 새로운 기능 추가 |
21+
| `fix` | 버그 수정 |
22+
| `refactor` | 기능 변경 없는 코드 개선 |
23+
| `docs` | 문서, 주석 변경 |
24+
| `test` | 테스트 코드 추가/수정 |
25+
| `chore` | 빌드, 설정, 의존성 등 기타 변경 |
26+
27+
### 한글 메시지 작성 규칙
28+
29+
- 무엇을 했는지가 아니라 **왜 했는지, 어떤 문제를 해결했는지** 중심으로 작성
30+
- 명사형 종결 (예: `~추가`, `~수정`, `~제거`, `~개선`)
31+
- 50자 이내로 간결하게
32+
33+
### 예시
34+
35+
```
36+
feat: 산 좋아요 기능 추가
37+
fix: 토큰 만료 시 재발급 로직 누락 수정
38+
refactor: TrackingService 버퍼 flush 조건 분리
39+
chore: Flyway 마이그레이션 스크립트 추가
40+
```
41+
42+
## 주의사항
43+
44+
- `.env`, 시크릿, 비밀번호가 포함된 파일은 절대 커밋하지 않는다.
45+
- 관련 없는 변경사항이 섞여 있으면 분리 커밋을 제안한다.

.claude/commands/issue.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# GitHub Issue 생성 커맨드
2+
3+
## 사용법
4+
5+
```
6+
/issue <작업 내용을 간단히 설명>
7+
```
8+
9+
## 동작 순서
10+
11+
1. `$ARGUMENTS`로 전달된 설명을 바탕으로 작업 내용을 파악한다.
12+
2. 아래 이슈 템플릿을 채워 초안을 제안한다.
13+
3. 사용자 확인 후 `gh issue create` 명령으로 GitHub에 이슈를 생성한다.
14+
15+
## 이슈 템플릿
16+
17+
```markdown
18+
## 📖 작업 개요
19+
<!-- 무엇을 왜 하는지 한 줄로 -->
20+
-
21+
22+
23+
## 🧩 작업 내용
24+
<!-- 실제 해야 할 작업을 구체적으로 -->
25+
- [ ]
26+
- [ ]
27+
- [ ]
28+
29+
---
30+
31+
## 📱 관련 화면 / 기능
32+
<!-- 해당 기능이 속한 영역 -->
33+
- [ ] 지도
34+
- [ ] 등산 기록
35+
- [ ] 코스 추천
36+
- [ ] 커뮤니티
37+
- [ ] 기타:
38+
39+
---
40+
41+
## 💬 기타 사항
42+
<!-- 논의 필요, 고민되는 부분 -->
43+
-
44+
```
45+
46+
## 각 항목 작성 규칙
47+
48+
### 📖 작업 개요
49+
- "무엇을 왜 하는지" 한 줄로 작성
50+
- 예: `산 좋아요 API 추가 — 사용자가 관심 산을 저장할 수 있도록`
51+
52+
### 🧩 작업 내용
53+
- 실제 구현 단위로 체크박스 항목을 3~5개 작성
54+
- 너무 크면 세분화, 너무 작으면 합치기
55+
- 예:
56+
- `[ ] MountainLike 엔티티 및 Repository 추가`
57+
- `[ ] 좋아요 토글 API (POST /mountains/{id}/like) 구현`
58+
- `[ ] 좋아요 여부 조회 응답 필드 추가`
59+
60+
### 📱 관련 화면 / 기능
61+
- 해당하는 항목의 `[ ]``[x]`로 변경
62+
- 해당 없으면 `기타:` 뒤에 직접 작성
63+
64+
### 💬 기타 사항
65+
- 논의가 필요하거나 고민되는 부분을 작성
66+
- 없으면 `없음`으로 작성
67+
68+
## 이슈 생성 명령 예시
69+
70+
```bash
71+
gh issue create \
72+
--title "<이슈 제목>" \
73+
--body "<채워진 템플릿 내용>" \
74+
--label "feat"
75+
```

.claude/commands/pr.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# GitHub PR 생성 커맨드
2+
3+
## 동작 순서
4+
5+
1. `git log``git diff <base-branch>...HEAD`로 현재 브랜치의 전체 변경사항을 파악한다.
6+
2. 브랜치명에서 이슈 번호를 추출한다. (예: `feat/#151-claude-command``#151`)
7+
3. 아래 PR 템플릿을 채워 초안을 제안한다.
8+
4. 사용자 확인 후 `gh pr create` 명령으로 GitHub에 PR을 생성한다.
9+
10+
## PR 템플릿
11+
12+
```markdown
13+
## 🧾 요약
14+
-
15+
16+
## 🔗 이슈
17+
- close #
18+
19+
## ✨ 변경 내용
20+
-
21+
-
22+
23+
## ✅ 확인
24+
- [ ] 빌드 OK
25+
- [ ] 테스트 OK
26+
```
27+
28+
## 각 항목 작성 규칙
29+
30+
### 🧾 요약
31+
- 이 PR이 무엇을 왜 하는지 한 줄로 작성
32+
- 예: `산 좋아요 토글 API 구현 — 사용자가 관심 산을 저장할 수 있도록`
33+
34+
### 🔗 이슈
35+
- 브랜치명에서 추출한 이슈 번호로 자동 연결
36+
- 예: `close #151`
37+
- 이슈 번호를 알 수 없으면 사용자에게 확인
38+
39+
### ✨ 변경 내용
40+
- 실제 변경된 내용을 구체적으로 나열 (커밋 단위가 아닌 기능 단위)
41+
- 예:
42+
- `MountainLike 엔티티 및 Repository 추가`
43+
- `좋아요 토글 API (POST /mountains/{id}/like) 구현`
44+
- `좋아요 여부 조회 응답 필드 추가`
45+
46+
### ✅ 확인
47+
- `빌드 OK` / `테스트 OK` 항목은 사용자가 직접 체크하도록 체크박스로 남겨둔다.
48+
49+
## PR 생성 명령 예시
50+
51+
```bash
52+
gh pr create \
53+
--title "<타입>: <한글 제목>" \
54+
--body "<채워진 템플릿 내용>" \
55+
--base develop
56+
```
57+
58+
## 주의사항
59+
60+
- base 브랜치는 기본적으로 `develop`으로 설정한다. `main`으로 보내는 경우 사용자에게 확인한다.
61+
- 리뷰어 2명 승인 필요 — PR 생성 후 리뷰어 지정을 안내한다.
62+
- 셀프 머지 금지 규칙을 사용자에게 상기시킨다.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ k8s/minio/secret.yaml
5151
.omc
5252

5353
# Claude Code
54-
.claude/
54+
.claude/settings.local.json
5555

5656
# Firebase
5757
src/main/resources/firebase/

0 commit comments

Comments
 (0)