[chore](templates): add GitHub issue and pull request templates

- Added pull request template to standardize PR descriptions and improve review process.
- Introduced bug report and feature request templates for structured issue reporting.
- Configured a default issue template with contact links and disabled blank issues.
This commit is contained in:
dalbodeule
2025-11-27 15:37:25 +09:00
parent 5ea992a0df
commit f110c33d4d
4 changed files with 184 additions and 0 deletions

66
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,66 @@
name: "🐞 Bug Report"
description: "Issue template for reporting bugs / 버그 신고를 위한 이슈 템플릿"
labels: ["bug"]
title: "[Bug] "
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug.
Please fill out the form below as clearly and in as much detail as possible.
감사합니다! 아래 양식을 가능한 한 자세히, 명확하게 작성해주세요.
- type: input
id: summary
attributes:
label: Bug summary / 버그 요약
description: Describe the bug in one sentence. / 한 줄로 버그를 설명해주세요.
placeholder: e.g. TLS handshake fails for a specific domain / 예) 특정 도메인에서 TLS 핸드셰이크 실패
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce / 재현 절차
description: List the steps to reproduce the bug in order. / 버그를 재현하기 위한 단계를 순서대로 적어주세요.
placeholder: |
1. ...
2. ...
3. ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior / 기대한 동작
description: What did you expect to happen? / 어떤 동작을 기대하셨나요?
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior / 실제 동작
description: What actually happened instead? / 실제로는 어떻게 동작했나요?
validations:
required: true
- type: input
id: version
attributes:
label: hop-gate version / commit / hop-gate 버전 / 커밋
placeholder: e.g. v0.1.0, 0123abcd / 예) v0.1.0, 0123abcd
- type: dropdown
id: env
attributes:
label: Environment / 실행 환경
multiple: true
options:
- macOS
- Linux
- Docker
- Other / 기타
- type: textarea
id: logs
attributes:
label: Related logs & stack traces / 관련 로그 및 스택트레이스
description: Please remove any sensitive information before attaching. / 민감한 정보는 제거 후 첨부해주세요.
render: shell

6
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
name: "Issue Templates"
blank_issues_enabled: false
contact_links:
- name: "Questions / Q&A / 질문"
url: "https://github.com/dalbodeule/hop-gate/discussions"
about: "For simple questions or discussions, please use GitHub Discussions. / 단순 질문이나 토론은 GitHub Discussions를 사용해주세요."

View File

@@ -0,0 +1,59 @@
name: "💡 Feature Request"
description: "Issue template for proposing new features / 새 기능 제안을 위한 이슈 템플릿"
labels: ["enhancement"]
title: "[Feature] "
body:
- type: markdown
attributes:
value: |
Thank you for proposing a new idea or feature.
Please fill out the form below as clearly and in as much detail as possible.
새로운 아이디어 제안 감사합니다!
아래 양식을 가능한 한 자세히, 명확하게 작성해주세요.
- type: input
id: summary
attributes:
label: Feature summary / 제안 요약
description: Describe the feature in one sentence. / 한 줄로 제안하시는 기능을 설명해주세요.
placeholder: e.g. Support custom routing rules per domain / 예) 특정 도메인별 커스텀 라우팅 규칙 지원
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Problem / Motivation / 문제 / 동기
description: Explain why this feature is needed and what problem it solves. / 왜 이 기능이 필요한지, 어떤 문제를 해결하는지 설명해주세요.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution / 제안하는 해결 방법
description: Describe your proposed solution in as much detail as possible. / 가능한 한 구체적으로 작성해주세요.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered / 고려한 대안들
description: List any alternatives you have tried or considered. / 이미 시도했거나 생각해본 다른 방법이 있다면 적어주세요.
- type: textarea
id: impact
attributes:
label: Impact / 영향 범위
description: Describe the impact on API, configuration, deployment, security, performance, etc. / API, 설정, 배포, 보안, 성능 등에 어떤 영향이 있을지 적어주세요.
- type: input
id: version
attributes:
label: Current hop-gate version / commit / 현재 사용 중인 hop-gate 버전 / 커밋
placeholder: e.g. v0.1.0, 0123abcd / 예) v0.1.0, 0123abcd
- type: dropdown
id: priority
attributes:
label: Priority (self-assessed) / 우선순위 (자체 평가)
options:
- Low / 낮음
- Medium / 보통
- High / 높음
- Very high / 매우 높음

53
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,53 @@
---
name: Pull Request
about: Pull Request template for the hop-gate repository / hop-gate 저장소를 위한 Pull Request 템플릿
---
## Summary / 개요
<!-- Briefly describe the changes in one or two sentences. / 변경 사항을 한두 문장으로 요약해주세요. -->
## Related Issues / 관련 이슈
- Closes #ISSUE_ID
- Related #ISSUE_ID
## Changes / 변경 내용
- [ ] Feature / 기능 추가
- [ ] Bug fix / 버그 수정
- [ ] Documentation / 문서 수정
- [ ] Tests / CI / 테스트 / CI
- [ ] Refactoring / 리팩터링
- [ ] Other: __________________ / 기타
Describe the concrete changes as a bullet list. / 구체적인 변경 사항을 bullet list로 정리해주세요.
## Testing / 테스트
Describe how you tested this change (manual/automated) and the results. / 수동/자동 테스트 방법과 결과를 적어주세요.
- [ ] `go test ./...`
- [ ] Other / 기타:
```bash
# Example / 예시:
go test ./...
```
## Compatibility / Migration / 호환성 / 마이그레이션
- [ ] Breaking change (affects existing usage) / Breaking change (기존 사용 방식에 영향을 줍니다)
- [ ] Database migration required / 데이터베이스 마이그레이션 필요
- [ ] Configuration changes/additions required / 설정값 변경 또는 추가 필요
- [ ] No compatibility impact / 기타 호환성 영향 없음
If necessary, describe how to migrate or update configuration. / 필요한 경우, 마이그레이션/설정 변경 방법을 설명해주세요.
## Checklist / 체크리스트
- [ ] Linked related issues. / 관련 이슈에 링크를 걸었습니다.
- [ ] Added/updated appropriate tests. / 적절한 테스트를 추가/수정했습니다.
- [ ] Updated documentation. / 문서를 최신 상태로 업데이트했습니다.
- [ ] Followed code style and lint rules. / 코드 스타일과 린트 규칙을 준수했습니다.
- [ ] Considered security and performance impact. / 보안/성능 영향에 대해 검토했습니다.