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
45 changes: 45 additions & 0 deletions .claude/commands/commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Git Commit 커맨드

## 동작 순서

1. `git status`와 `git diff` (staged + unstaged)를 실행해 변경사항 전체를 파악한다.
2. 변경된 파일과 내용을 분석해 커밋 타입과 한글 메시지를 결정한다.
3. 스테이징되지 않은 파일이 있으면 어떤 파일을 포함할지 사용자에게 먼저 확인한다.
4. 아래 형식으로 커밋 메시지를 제안하고 승인을 받은 뒤 커밋한다.

## 커밋 메시지 형식

```
<type>: <한글 메시지>
```

### 타입 선택 기준

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

### 한글 메시지 작성 규칙

- 무엇을 했는지가 아니라 **왜 했는지, 어떤 문제를 해결했는지** 중심으로 작성
- 명사형 종결 (예: `~추가`, `~수정`, `~제거`, `~개선`)
- 50자 이내로 간결하게

### 예시

```
feat: 산 좋아요 기능 추가
fix: 토큰 만료 시 재발급 로직 누락 수정
refactor: TrackingService 버퍼 flush 조건 분리
chore: Flyway 마이그레이션 스크립트 추가
```

## 주의사항

- `.env`, 시크릿, 비밀번호가 포함된 파일은 절대 커밋하지 않는다.
- 관련 없는 변경사항이 섞여 있으면 분리 커밋을 제안한다.
75 changes: 75 additions & 0 deletions .claude/commands/issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# GitHub Issue 생성 커맨드

## 사용법

```
/issue <작업 내용을 간단히 설명>
```

## 동작 순서

1. `$ARGUMENTS`로 전달된 설명을 바탕으로 작업 내용을 파악한다.
2. 아래 이슈 템플릿을 채워 초안을 제안한다.
3. 사용자 확인 후 `gh issue create` 명령으로 GitHub에 이슈를 생성한다.

## 이슈 템플릿

```markdown
## 📖 작업 개요
<!-- 무엇을 왜 하는지 한 줄로 -->
-


## 🧩 작업 내용
<!-- 실제 해야 할 작업을 구체적으로 -->
- [ ]
- [ ]
- [ ]

---

## 📱 관련 화면 / 기능
<!-- 해당 기능이 속한 영역 -->
- [ ] 지도
- [ ] 등산 기록
- [ ] 코스 추천
- [ ] 커뮤니티
- [ ] 기타:

---

## 💬 기타 사항
<!-- 논의 필요, 고민되는 부분 -->
-
```

## 각 항목 작성 규칙

### 📖 작업 개요
- "무엇을 왜 하는지" 한 줄로 작성
- 예: `산 좋아요 API 추가 — 사용자가 관심 산을 저장할 수 있도록`

### 🧩 작업 내용
- 실제 구현 단위로 체크박스 항목을 3~5개 작성
- 너무 크면 세분화, 너무 작으면 합치기
- 예:
- `[ ] MountainLike 엔티티 및 Repository 추가`
- `[ ] 좋아요 토글 API (POST /mountains/{id}/like) 구현`
- `[ ] 좋아요 여부 조회 응답 필드 추가`

### 📱 관련 화면 / 기능
- 해당하는 항목의 `[ ]`를 `[x]`로 변경
- 해당 없으면 `기타:` 뒤에 직접 작성

### 💬 기타 사항
- 논의가 필요하거나 고민되는 부분을 작성
- 없으면 `없음`으로 작성

## 이슈 생성 명령 예시

```bash
gh issue create \
--title "<이슈 제목>" \
--body "<채워진 템플릿 내용>" \
--label "feat"
```
62 changes: 62 additions & 0 deletions .claude/commands/pr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# GitHub PR 생성 커맨드

## 동작 순서

1. `git log`와 `git diff <base-branch>...HEAD`로 현재 브랜치의 전체 변경사항을 파악한다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

[P2] <base-branch>와 같은 플냬이스홀더 표기는 Claude가 명령어를 문자 그대로 실행하려고 시쌈하다가 에러가 발생하거나 혼란을 야기할 수 있습니다.\n\n이 프로젝트는 기밸 서브 브랜치로 develop을 사용하뭀로(55행 및 60행 참고), 플냬이스홀더 대신 develop을 명시적으로 지정하는 왃이 좋습니다.

Suggested change
1. `git log``git diff <base-branch>...HEAD`로 현재 브랜치의 전체 변경사항을 파악한다.
1. `git log``git diff develop...HEAD`로 현재 브랜치의 전체 변경사항을 파악한다.
References
  1. 리뷰 의견은 항송 한국어로 작성하며, 지관적이고 실용적이어야 합니다. (link)

2. 브랜치명에서 이슈 번호를 추출한다. (예: `feat/#151-claude-command` → `#151`)
3. 아래 PR 템플릿을 채워 초안을 제안한다.
4. 사용자 확인 후 `gh pr create` 명령으로 GitHub에 PR을 생성한다.

## PR 템플릿

```markdown
## 🧾 요약
-

## 🔗 이슈
- close #

## ✨ 변경 내용
-
-

## ✅ 확인
- [ ] 빌드 OK
- [ ] 테스트 OK
```

## 각 항목 작성 규칙

### 🧾 요약
- 이 PR이 무엇을 왜 하는지 한 줄로 작성
- 예: `산 좋아요 토글 API 구현 — 사용자가 관심 산을 저장할 수 있도록`

### 🔗 이슈
- 브랜치명에서 추출한 이슈 번호로 자동 연결
- 예: `close #151`
- 이슈 번호를 알 수 없으면 사용자에게 확인

### ✨ 변경 내용
- 실제 변경된 내용을 구체적으로 나열 (커밋 단위가 아닌 기능 단위)
- 예:
- `MountainLike 엔티티 및 Repository 추가`
- `좋아요 토글 API (POST /mountains/{id}/like) 구현`
- `좋아요 여부 조회 응답 필드 추가`

### ✅ 확인
- `빌드 OK` / `테스트 OK` 항목은 사용자가 직접 체크하도록 체크박스로 남겨둔다.

## PR 생성 명령 예시

```bash
gh pr create \
--title "<타입>: <한글 제목>" \
--body "<채워진 템플릿 내용>" \
--base develop
```

## 주의사항

- base 브랜치는 기본적으로 `develop`으로 설정한다. `main`으로 보내는 경우 사용자에게 확인한다.
- 리뷰어 2명 승인 필요 — PR 생성 후 리뷰어 지정을 안내한다.
- 셀프 머지 금지 규칙을 사용자에게 상기시킨다.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ k8s/minio/secret.yaml
.omc

# Claude Code
.claude/
.claude/settings.local.json
Comment on lines 53 to +54

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

[P2] .claude/settings.local.json만 제외하면, Claude Code가 로컬에서 생성하는 다른 임시 파일(예: 세션 파일, 로그, 히스토리 등)이 Git에 추적되어 커밋될 위험이 있습니다.\n\n.claude/ 디렉토리 내부의 다른 파일들은 모두 무시하면서 commands/ 디렉토리만 Git에 추적되도록 설정하는 것이 안전합니다.

# Claude Code\n.claude/*\n!.claude/commands/
References
  1. 리뷰 의견은 항송 한국어로 작성하며, 지관적이고 실용적이어야 합니다. (link)


# Firebase
src/main/resources/firebase/
Expand Down