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
75 changes: 75 additions & 0 deletions .claude/commands/branch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
description: Create or suggest a git branch name using this repository's branch convention.
argument-hint: "<type> #<issue-number> <brief Korean or English summary>"
allowed-tools: Bash(git status --short), Bash(git branch --show-current), Bash(git switch -c *)
---

You are creating or suggesting a git branch for this repository.

Use Korean.

Branch naming convention:

```text
<type>/#<issue-number>-<brief-english-description>
```

Examples:

```text
feat/#123-add-review-api
fix/#346-fix-null-pointer-login
refactor/#354-cleanup-partnership-period
hotfix/#390-fix-prod-token-expiry
docs/#12-update-claude-md
```

Input from the user:

```text
$ARGUMENTS
```

Process:

1. Identify the git commit type.
2. Identify the issue number.
3. Convert the feature/fix summary into short English kebab-case.
4. Check current branch and working tree before creating.
5. If the user only asks for a branch name, suggest the branch name only.
6. If the user explicitly asks to create the branch, run `git switch -c <branch-name>`.

Allowed commit types:

```text
feat, fix, refactor, style, docs, test, chore, hotfix
```

Rules:

- Always include `#` before the issue number.
- Use lowercase English in the description.
- Use kebab-case (not spaces, underscores, or Korean).
- Keep the description short, usually 2-6 words.
- If the issue number is missing, ask for it before creating a branch.
- If the type is unclear, choose the most conservative type and explain briefly.
- Before creating a branch, run `git status --short` and `git branch --show-current`.
- If there are uncommitted changes, mention that they will remain in the working tree after switching.

Output when suggesting:

```text
추천 브랜치명: feat/#123-add-review-api
```

Output when creating:

```text
생성할 브랜치명: feat/#123-add-review-api
```

Then run:

```bash
git switch -c feat/#123-add-review-api
```
39 changes: 39 additions & 0 deletions .claude/commands/chore-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
description: Create a GitHub chore issue body using this repository's chore issue template.
argument-hint: "<chore task summary>"
---

You are creating a chore issue for this repository.

Use Korean.

Use the repository template at `.github/ISSUE_TEMPLATE/chore.md`.

Input from the user:

```text
$ARGUMENTS
```

Output only the final issue content in Markdown.

Follow this exact structure:

```markdown
## 🔩 작업 내용
> 수행할 작업을 설명해주세요. (의존성 업데이트, 빌드 설정, CI/CD 변경 등)

## ✅ 작업 목록
- [ ] 작업 항목 1
- [ ] 작업 항목 2

## 📝 참고 사항
> 관련 문서, 참고 자료 등을 작성해주세요.
```

Rules:

- Keep the title suggestion separate at the top as `title: [CHORE] ...`.
- Chore covers: dependency updates, build/CI configuration, tooling, environment setup.
- Do not include feature or bug fix work in chore scope.
- If there is no reference/attachment, write `- 없음`.
90 changes: 90 additions & 0 deletions .claude/commands/commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
description: Create a git commit message using this repository's commit convention.
argument-hint: "<brief context or leave empty to auto-detect from staged changes>"
allowed-tools: Bash(git status --short), Bash(git diff --staged)
---

You are creating a git commit message for this repository.

Use Korean.

Commit message convention:

```text
[TYPE/#issue-number] 한글로 간결하게

- 작업 내용 상세 1
- 작업 내용 상세 2
```

Examples:

```text
[FEAT/#123] 리뷰 생성 API 추가

- ReviewController에 POST /reviews 엔드포인트 추가
- ReviewServiceImpl에 createReview 메서드 구현
- 리뷰 이미지 S3 업로드 로직 연동
```

```text
[FIX/#346] 로그인 시 NPE 수정

- JwtAuthFilter에서 null 토큰에 대한 방어 처리 추가
```

```text
[REFACTOR/#354] Partnership 기간 타입 정리

- Period 타입을 LocalDate에서 LocalDateTime으로 변경
- 관련 DTO 및 서비스 로직 일괄 수정
```

```text
[CHORE/#99] 의존성 버전 업데이트

- Spring Boot 3.5.2 → 3.5.3 업그레이드
- springdoc-openapi 2.6.0 → 2.7.0 업그레이드
```

Input from the user:

```text
$ARGUMENTS
```

Process:

1. Run `git status --short` to check staged files.
2. Run `git diff --staged` to inspect actual changes.
3. Identify the appropriate commit type from the changes.
4. Identify the issue number from context or ask if unclear.
5. Write a short Korean description summarizing what changed and why.

Allowed commit types:

```text
FEAT, FIX, REFACTOR, STYLE, DOCS, TEST, CHORE, HOTFIX, MERGE
```

Rules:

- TYPE is uppercase.
- Subject line is written in Korean, short and clear.
- Body lists specific changes as bullet points (Korean).
- Focus on "무엇을 왜" not "어떻게".
- Do not end lines with a period.
- Blank line between subject and body is mandatory.
- Body should have at least 1 bullet point; add more if multiple files or features changed.
- If nothing is staged, mention it and do not suggest a commit message.
- If the issue number is unknown, ask before suggesting.

Output format:

```text
커밋 메시지:
[FEAT/#123] 리뷰 생성 API 추가

- ReviewController에 POST /reviews 엔드포인트 추가
- ReviewServiceImpl에 createReview 메서드 구현
```
40 changes: 40 additions & 0 deletions .claude/commands/feature-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
description: Create a GitHub feature issue body using this repository's issue template.
argument-hint: "<feature summary>"
---

You are creating a feature issue for this repository.

Use Korean.

Use the repository template at `.github/ISSUE_TEMPLATE/feature.md`.

Input from the user:

```text
$ARGUMENTS
```

Output only the final issue content in Markdown.

Follow this exact structure:

```markdown
## 📝 Description
> 추가하려는 기능을 간결하게 설명해주세요.

## 📝 Todo
- [ ] 구현 항목 1
- [ ] 구현 항목 2

## 📝 참고 사항
> 참고해야 하는 내용, 레퍼런스, 스크린샷 등을 작성해주세요.
```

Rules:

- Keep the title suggestion separate at the top as `title: [FEAT] ...`.
- If the user did not provide enough detail, infer a reasonable feature scope from the repository context.
- Do not invent implementation details that are not implied by the request.
- Prefer concrete Todo items over vague descriptions.
- If there is no reference/attachment, write `- 없음`.
41 changes: 41 additions & 0 deletions .claude/commands/fix-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
description: Create a GitHub fix issue body using this repository's fix issue template.
argument-hint: "<bug or issue summary>"
---

You are creating a fix issue for this repository.

Use Korean.

Use the repository template at `.github/ISSUE_TEMPLATE/fix.md`.

Input from the user:

```text
$ARGUMENTS
```

Output only the final issue content in Markdown.

Follow this exact structure:

```markdown
## 🐛 버그 설명
> 현재 발생하는 문제를 설명해주세요. (현상, 기대 동작, 실제 동작)

## ✅ 수정 목록
- [ ] 수정 항목 1
- [ ] 수정 항목 2

## 📝 참고 사항
> 관련 로그, 스크린샷, 재현 방법 등을 작성해주세요.
```

Rules:

- Keep the title suggestion separate at the top as `title: [FIX] ...`.
- Describe the current problem, expected behavior, and affected area when possible.
- If the issue is in production, mention the affected environment (prod/dev).
- Do not claim a root cause unless it is directly supported by the given context.
- If there is no reference/attachment, write `- 없음`.
- Before including any logs, error messages, or screenshots in the output, mask or remove sensitive information: passwords, API keys, tokens, cookies, Authorization headers, and personal data (email, phone, name). Replace with `[MASKED]`.
44 changes: 44 additions & 0 deletions .claude/commands/hotfix-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
description: Create a GitHub hotfix issue body using this repository's hotfix issue template.
argument-hint: "<critical production issue summary>"
---

You are creating a hotfix issue for this repository.

Use Korean.

Use the repository template at `.github/ISSUE_TEMPLATE/hotfix.md`.

Input from the user:

```text
$ARGUMENTS
```

Output only the final issue content in Markdown.

Follow this exact structure:

```markdown
## 🚨 긴급 수정 내용
> 운영 환경에서 발생한 문제를 설명해주세요. (현상, 영향 범위, 발생 시점)

## ✅ 수정 목록
- [ ] 수정 항목 1
- [ ] 수정 항목 2

## 📝 영향 범위
> 해당 버그로 영향받는 기능, API, 사용자 역할을 명시해주세요.

## 📝 참고 사항
> 관련 로그, 알림, 스크린샷 등을 첨부해주세요.
```

Rules:

- Keep the title suggestion separate at the top as `title: [HOTFIX] ...`.
- Hotfix is reserved for critical production issues requiring immediate resolution.
- Clearly describe the impact scope and urgency.
- Include any relevant logs or error messages if available.
- If there is no reference/attachment, write `- 없음`.
- Before including any logs, error messages, or screenshots in the output, mask or remove sensitive information: passwords, API keys, tokens, cookies, Authorization headers, and personal data (email, phone, name). Replace with `[MASKED]`.
53 changes: 53 additions & 0 deletions .claude/commands/pr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
description: Draft a pull request body using this repository's PR template and current git changes.
argument-hint: "<issue number or brief context>"
allowed-tools: Bash(git status --short), Bash(git diff --stat), Bash(git diff --name-only), Bash(git diff)
---

You are drafting a pull request for this repository.

Use Korean.

Use the repository template at `.github/PULL_REQUEST_TEMPLATE.md`.

Input from the user:

```text
$ARGUMENTS
```

Before writing the PR body:

1. Check changed files with `git status --short`.
2. Check the diff summary with `git diff --stat`.
3. Inspect relevant diffs with `git diff`.

Output only the final PR content in Markdown.

Follow this exact structure:

```markdown
## #️⃣연관된 이슈
> close #이슈번호

## 📝작업 내용
> 무엇을 왜 변경했는지 작성해주세요.

## 🔎코드 설명(스크린샷(선택))
> 핵심 변경 사항을 설명해주세요.

## 💬고민사항 및 리뷰 요구사항 (Optional)
> 리스크, 테스트 누락, 배포 고려사항, 의견 받고 싶은 부분을 적어주세요.

## 비고 (Optional)
> 참고 링크, 스크린샷 등 참고 사항을 자유롭게 적어주세요.
```

Rules:

- Fill `close #이슈번호` with the issue number if provided. If not, keep `close #`.
- Explain what changed and why, not just how.
- Mention key files or behavior changes when helpful.
- In `고민사항 및 리뷰 요구사항`, call out risks, test gaps, migration concerns, deployment concerns, or areas needing focused review.
- Do not include unrelated refactoring in the summary.
- Keep each section concise but informative.
Loading
Loading