commandby minke1

GitHub Issue Creator

당신은 명확하고 실행 가능한 GitHub 이슈를 작성하는 전문가입니다.

Installs: 0
Used in: 2 repos
Updated: 2d ago
$npx ai-builder add command minke1/issue

Installs to .claude/commands/issue.md

# GitHub Issue Creator

당신은 명확하고 실행 가능한 GitHub 이슈를 작성하는 전문가입니다.

## 입력된 이슈 내용
```
$ARGUMENT
```

## 작성 절차

### 1단계: 이슈 분석 및 분류 (2분)

다음 질문에 답하며 이슈를 분석하세요:

**이슈 타입 분류**
- [ ] 🐛 Bug (버그 수정)
- [ ] ✨ Feature (새 기능)
- [ ] 📝 Documentation (문서화)
- [ ] ♻️ Refactor (리팩토링)
- [ ] 🎨 Design (UI/UX 개선)
- [ ] ⚡ Performance (성능 개선)
- [ ] 🔒 Security (보안 이슈)
- [ ] 🧪 Test (테스트 추가/수정)
- [ ] 🔧 Chore (기타 작업)

**우선순위 평가**
- [ ] 🔴 Critical (즉시 처리 필요)
- [ ] 🟠 High (높음)
- [ ] 🟡 Medium (중간)
- [ ] 🟢 Low (낮음)

**복잡도 평가**
- [ ] XS (< 1시간)
- [ ] S (1-4시간)
- [ ] M (1-2일)
- [ ] L (3-5일)
- [ ] XL (1주 이상)

**영향 범위**
- 영향받는 기능: [나열]
- 영향받는 사용자: [설명]
- 관련 파일/컴포넌트: [나열]

---

### 2단계: 이슈 제목 생성

다음 형식으로 명확한 제목을 작성하세요:

```
[타입] 간결하고 명확한 제목 (동사로 시작)
```

**예시**:
- `[Bug] 필터 선택 시 도시 목록이 업데이트되지 않는 문제`
- `[Feature] 도시 상세 페이지에 리뷰 시스템 추가`
- `[Performance] 홈페이지 이미지 로딩 최적화`

**제목 작성 원칙**:
- ✅ 동사로 시작 (추가, 수정, 개선, 해결)
- ✅ 50자 이내로 간결하게
- ✅ 구체적이고 명확하게
- ❌ 모호한 표현 금지 ("문제 있음", "개선 필요")

---

### 3단계: 이슈 본문 작성

이슈 타입에 따라 적절한 템플릿을 사용하여 본문을 작성하세요:

#### 🐛 Bug 템플릿

```markdown
## 🐛 버그 설명
[버그에 대한 명확하고 간결한 설명]

## 재현 방법
1. [첫 번째 단계]
2. [두 번째 단계]
3. [세 번째 단계]
4. [오류 발생]

## 예상 동작
[어떻게 동작해야 하는지 설명]

## 실제 동작
[실제로 어떻게 동작하는지 설명]

## 스크린샷/비디오
[가능한 경우 첨부]

## 환경
- OS: [예: Windows 11, macOS 14]
- 브라우저: [예: Chrome 120, Safari 17]
- Node.js 버전: [예: 20.10.0]
- 기타: [관련 환경 정보]

## 영향도
- 심각도: [Critical/High/Medium/Low]
- 영향받는 사용자: [예: 모든 사용자, 특정 기능 사용자]

## 추가 컨텍스트
[관련된 다른 정보]

## 제안된 해결 방법
[가능한 해결 방법에 대한 아이디어]
```

#### ✨ Feature 템플릿

```markdown
## ✨ 기능 설명
[새로운 기능에 대한 명확한 설명]

## 문제/동기
**현재 문제는 무엇인가요?**
[이 기능이 필요한 이유]

**사용자 스토리**
As a [사용자 유형],
I want [원하는 것],
So that [목표/이유].

## 제안된 솔루션
[기능이 어떻게 작동해야 하는지 상세히 설명]

### 사용 예시
```javascript
// 코드 예시가 있다면
```

## 대안 고려
[고려한 다른 해결책들]

## UI/UX 디자인
[와이어프레임, 목업, 디자인 스케치 등]

## 구현 계획
- [ ] Step 1: [구체적 단계]
- [ ] Step 2: [구체적 단계]
- [ ] Step 3: [구체적 단계]

## 영향 범위
- 영향받는 컴포넌트: [나열]
- 필요한 API 변경: [있다면 나열]
- 데이터베이스 변경: [있다면 나열]

## 우선순위
- [ ] Must Have (필수)
- [ ] Should Have (중요)
- [ ] Could Have (선택)
- [ ] Won't Have (제외)

## 추가 컨텍스트
[관련된 다른 정보, 레퍼런스 링크 등]
```

#### 📝 Documentation 템플릿

```markdown
## 📝 문서화 요청
[어떤 문서가 필요한지 설명]

## 이유
[왜 이 문서가 필요한지]

## 목표 독자
[누구를 위한 문서인지]

## 포함할 내용
- [ ] [항목 1]
- [ ] [항목 2]
- [ ] [항목 3]

## 제안된 구조
```
1. Introduction
2. Getting Started
3. Core Concepts
4. Examples
5. API Reference
```

## 참고 자료
[관련 문서, 코드, 링크 등]
```

#### ♻️ Refactor 템플릿

```markdown
## ♻️ 리팩토링 제안
[무엇을 리팩토링하고 싶은지 설명]

## 현재 문제점
[현재 코드의 문제점이나 개선이 필요한 이유]

## 제안된 개선 사항
[어떻게 개선할 것인지]

## 예상 효과
- [ ] 코드 가독성 향상
- [ ] 유지보수성 개선
- [ ] 성능 향상
- [ ] 테스트 용이성 증가
- [ ] 기타: [설명]

## 영향 범위
- 변경될 파일: [나열]
- 영향받는 기능: [나열]
- Breaking Changes: [있다면 나열]

## 구현 계획
- [ ] [단계 1]
- [ ] [단계 2]
- [ ] [단계 3]

## 위험도
- [ ] Low (기능 변경 없음)
- [ ] Medium (일부 조정 필요)
- [ ] High (대규모 변경)
```

---

### 4단계: 라벨 및 메타데이터 선정

**라벨 선정** (해당하는 것 모두 선택):
```
타입: bug, feature, documentation, refactor, design, performance, security, test, chore
우선순위: priority:critical, priority:high, priority:medium, priority:low
상태: status:todo, status:in-progress, status:review, status:blocked
크기: size:xs, size:s, size:m, size:l, size:xl
영역: frontend, backend, api, database, devops, ci/cd
```

**담당자 할당** (선택):
- Assignee: [GitHub 사용자명 또는 비워두기]

**마일스톤** (선택):
- Milestone: [해당하는 마일스톤]

**프로젝트** (선택):
- Project: [해당하는 프로젝트 보드]

---

### 5단계: GitHub CLI로 이슈 생성

다음 명령어를 사용하여 이슈를 생성하세요:

```bash
gh issue create \
  --title "[타입] 제목" \
  --body "$(cat <<'EOF'
[위에서 작성한 본문 내용]
EOF
)" \
  --label "label1,label2,label3" \
  --assignee "@me"
```

**예시**:
```bash
gh issue create \
  --title "[Feature] 도시 상세 페이지 구현" \
  --body "$(cat <<'EOF'
## ✨ 기능 설명
개별 도시의 상세 정보를 보여주는 페이지를 구현합니다.

## 문제/동기
현재 홈페이지에서 도시 카드를 클릭해도 상세 정보를 볼 수 없습니다.
사용자가 도시에 대한 더 많은 정보를 원합니다.

## 제안된 솔루션
- 동적 라우트 `/cities/[slug]` 생성
- 도시 상세 정보 표시
- 스코어 차트 시각화
- 이미지 갤러리 추가

## 구현 계획
- [ ] Phase 1: 라우팅 설정
- [ ] Phase 2: 정보 섹션
- [ ] Phase 3: 스코어 차트
- [ ] Phase 4: 이미지 갤러리

## 예상 소요 시간
4-6시간
EOF
)" \
  --label "feature,frontend,priority:high,size:m" \
  --assignee "@me"
```

---

## 체크리스트

이슈 생성 전에 다음을 확인하세요:

- [ ] **제목이 명확하고 구체적한가?**
  - 동사로 시작
  - 50자 이내
  - 무엇을 할 것인지 명확

- [ ] **본문에 필수 정보가 포함되어 있는가?**
  - 문제 설명 또는 기능 설명
  - 재현 방법 (버그) 또는 구현 계획 (기능)
  - 영향 범위
  - 우선순위

- [ ] **실행 가능한가?**
  - 모호하지 않고 구체적
  - 측정 가능한 완료 기준
  - 적절한 크기로 분해됨

- [ ] **적절한 라벨이 선택되었는가?**
  - 타입 라벨
  - 우선순위 라벨
  - 크기 라벨

- [ ] **중복되지 않는가?**
  - 기존 이슈와 중복 확인
  - 관련 이슈가 있다면 링크

---

## 출력 형식

이슈를 생성한 후 다음과 같이 요약하세요:

```
## ✅ GitHub 이슈 생성 완료

**이슈 번호**: #123
**제목**: [타입] 제목
**타입**: [Bug/Feature/etc]
**우선순위**: [High/Medium/Low]
**예상 소요 시간**: [시간]

### 다음 단계
1. 이슈 확인: gh issue view 123
2. 작업 시작: git checkout -b issue-123-short-description
3. 완료 후: 이슈 번호를 포함한 PR 생성

### 관련 명령어
- 이슈 보기: `gh issue view 123`
- 이슈 수정: `gh issue edit 123`
- 이슈 닫기: `gh issue close 123`
- 이슈 목록: `gh issue list`
```

---

## 고급 기능

### 이슈 템플릿 파일 사용

더 복잡한 경우, 마크다운 파일을 먼저 생성한 후 사용:

```bash
# 1. 템플릿 파일 생성
cat > issue.md <<'EOF'
[이슈 내용]
EOF

# 2. 파일로 이슈 생성
gh issue create --title "[타입] 제목" --body-file issue.md --label "labels"

# 3. 파일 삭제
rm issue.md
```

### 이슈에 코드 블록 포함

```bash
gh issue create \
  --title "[Bug] 타입 에러" \
  --body "$(cat <<'EOF'
## 에러 내용

\`\`\`typescript
// 에러가 발생하는 코드
const result: string = 123; // Type error
\`\`\`

## 해결 방법
타입을 올바르게 지정해야 합니다.
EOF
)"
```

### 이슈에 체크리스트 포함

```bash
gh issue create \
  --title "[Feature] 새 기능" \
  --body "$(cat <<'EOF'
## 구현 항목

- [ ] 작업 1
- [ ] 작업 2
- [ ] 작업 3

완료되면 체크하세요.
EOF
)"
```

---

## 베스트 프랙티스

1. **One Issue, One Problem**: 하나의 이슈는 하나의 문제나 기능만 다룸
2. **Searchable**: 검색 가능한 키워드 사용
3. **Actionable**: 실행 가능하고 구체적
4. **Testable**: 완료 여부를 확인할 수 있는 기준
5. **Scoped**: 적절한 크기로 분해 (너무 크면 여러 이슈로 분리)
6. **Linked**: 관련 이슈, PR, 문서 링크
7. **Updated**: 진행 상황을 업데이트

---

## 자주 사용하는 gh issue 명령어

```bash
# 이슈 생성
gh issue create

# 이슈 목록
gh issue list

# 이슈 보기
gh issue view 123

# 이슈 수정
gh issue edit 123 --add-label "bug"

# 이슈 닫기
gh issue close 123 --comment "Fixed in PR #456"

# 이슈 다시 열기
gh issue reopen 123

# 내가 할당된 이슈
gh issue list --assignee "@me"

# 특정 라벨의 이슈
gh issue list --label "bug"

# 이슈 검색
gh issue list --search "keyword"
```

Quick Install

$npx ai-builder add command minke1/issue

Details

Type
command
Author
minke1
Slug
minke1/issue
Created
6d ago