diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..52ef41e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -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 \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..b09d603 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -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๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”." \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..08ca49d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -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 / ๋งค์šฐ ๋†’์Œ \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..a252f8a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,53 @@ +--- +name: Pull Request +about: Pull Request template for the hop-gate repository / hop-gate ์ €์žฅ์†Œ๋ฅผ ์œ„ํ•œ Pull Request ํ…œํ”Œ๋ฆฟ +--- + +## Summary / ๊ฐœ์š” + + + +## 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. / ๋ณด์•ˆ/์„ฑ๋Šฅ ์˜ํ–ฅ์— ๋Œ€ํ•ด ๊ฒ€ํ† ํ–ˆ์Šต๋‹ˆ๋‹ค. \ No newline at end of file