chore: improve issue creating and pr template (#261)

Drew Smirnoff created

Change summary

.github/ISSUE_TEMPLATE/bug_report.md       | 38 ------------
.github/ISSUE_TEMPLATE/bug_report.yml      | 71 ++++++++++++++++++++++++
.github/ISSUE_TEMPLATE/feature_request.md  | 23 -------
.github/ISSUE_TEMPLATE/feature_request.yml | 31 ++++++++++
.github/labeler-config.yml                 |  2 
.github/pull_request_template.md           |  7 ++
6 files changed, 110 insertions(+), 62 deletions(-)

Detailed changes

.github/ISSUE_TEMPLATE/bug_report.md 🔗

@@ -1,38 +0,0 @@
----
-name: "Bug Report"
-about: "Create a report to help us improve"
-title: "BUG: "
-labels: "bug, needs-triage"
-assignees: ""
----
-
-### Describe the bug
-
-A clear and concise description of what the bug is.
-
-### To Reproduce
-
-Steps to reproduce the behavior:
-
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-### Expected behavior
-
-A clear and concise description of what you expected to happen.
-
-### Screenshots
-
-If applicable, add screenshots to help explain your problem.
-
-### Environment (please complete the following information):
-
-- **OS**: [e.g. macOS, Windows, Linux]
-- **Terminal**: [e.g. iTerm2, Windows Terminal, Alacritty]
-- **Go Version**: [e.g. 1.19]
-
-### Additional context
-
-Add any other context about the problem here.

.github/ISSUE_TEMPLATE/bug_report.yml 🔗

@@ -0,0 +1,71 @@
+name: Bug Report
+description: Create a report to help us improve
+title: "BUG: "
+labels: ["bug", "needs-triage"]
+body:
+  - type: textarea
+    id: description
+    attributes:
+      label: Describe the bug
+      description: A clear and concise description of what the bug is.
+    validations:
+      required: true
+
+  - type: textarea
+    id: reproduce
+    attributes:
+      label: To reproduce
+      description: Steps to reproduce the behavior.
+      placeholder: |
+        1. Go to '...'
+        2. Click on '...'
+        3. See error
+    validations:
+      required: true
+
+  - type: textarea
+    id: expected
+    attributes:
+      label: Expected behavior
+      description: A clear and concise description of what you expected to happen.
+    validations:
+      required: true
+
+  - type: textarea
+    id: screenshots
+    attributes:
+      label: Screenshots
+      description: If applicable, add screenshots to help explain your problem.
+
+  - type: input
+    id: matcha-version
+    attributes:
+      label: Matcha version
+      placeholder: "e.g. 0.20.0"
+
+  - type: input
+    id: go-version
+    attributes:
+      label: Go version
+      description: "Run `go version` to find out. Only relevant if the issue is related to Go/compilation."
+      placeholder: "e.g. 1.22.0"
+
+  - type: input
+    id: os
+    attributes:
+      label: OS
+      placeholder: "e.g. macOS 14, Ubuntu 24.04, Windows 11"
+    validations:
+      required: true
+
+  - type: input
+    id: terminal
+    attributes:
+      label: Terminal
+      placeholder: "e.g. iTerm2, Windows Terminal, Alacritty"
+
+  - type: textarea
+    id: additional
+    attributes:
+      label: Additional context
+      description: Add any other context about the problem here.

.github/ISSUE_TEMPLATE/feature_request.md 🔗

@@ -1,23 +0,0 @@
----
-name: "Feature Request"
-about: "Suggest an idea for this project"
-title: "FEAT: "
-labels: "enhancement, needs-triage"
-assignees: ""
----
-
-### Is your feature request related to a problem?
-
-A clear and concise description of what the problem is. Ex. "I'm always frustrated when..."
-
-### Describe the solution you'd like
-
-A clear and concise description of what you want to happen.
-
-### Describe alternatives you've considered
-
-A clear and concise description of any alternative solutions or features you've considered.
-
-### Additional context
-
-Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/feature_request.yml 🔗

@@ -0,0 +1,31 @@
+name: Feature Request
+description: Suggest an idea for this project
+title: "FEAT: "
+labels: ["enhancement", "needs-triage"]
+body:
+  - type: textarea
+    id: problem
+    attributes:
+      label: Is your feature request related to a problem?
+      description: A clear and concise description of what the problem is.
+      placeholder: "I'm always frustrated when..."
+
+  - type: textarea
+    id: solution
+    attributes:
+      label: Describe the solution you'd like
+      description: A clear and concise description of what you want to happen.
+    validations:
+      required: true
+
+  - type: textarea
+    id: alternatives
+    attributes:
+      label: Describe alternatives you've considered
+      description: A clear and concise description of any alternative solutions or features you've considered.
+
+  - type: textarea
+    id: additional
+    attributes:
+      label: Additional context
+      description: Add any other context or screenshots about the feature request here.

.github/labeler-config.yml 🔗

@@ -1,4 +1,4 @@
-"bug": '\b([Bb]ug(s)?|[Ee]rror(s)?|[Ff]ix(es)?|[Ii]ssue(s)?|[Pp]roblem(s)?)\b'
+"bug": '\b([Bb]ug(s)?|[Ee]rror(s)?|[Ff]ix(es)?|[Ii]ssue(s)?)\b'
 
 "enhancement": '\b([Ee]nhancement(s)?|[Ff]eature(s)?|[Ii]dea(s)?|[Ss]uggestion(s)?[Ff]eat(s)?)\b'
 

.github/pull_request_template.md 🔗

@@ -0,0 +1,7 @@
+## What?
+
+<!-- Describe what this PR changes. Keep it concise — what code was added, removed, or modified? -->
+
+## Why?
+
+<!-- Explain the motivation behind this change. What problem does it solve, or what feature does it enable? Link related issues if applicable. -->