From 8fa127abd0b430e3277e3d92d76a99c3b44a0cfd Mon Sep 17 00:00:00 2001
From: Jed Fox <git@jedfox.com>
Date: Wed, 25 Jan 2023 15:32:58 -0500
Subject: [PATCH] Add an issue template for feature requests (#575)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Bug report: switch “please search first” to a checkbox

* Add an issue template for feature requests

* Add a “willing to implement” checkbox

* + section about docs/learning

* Wording improvements
---
 .github/ISSUE_TEMPLATE/bug-report.yml      |  7 ++--
 .github/ISSUE_TEMPLATE/config.yml          |  4 --
 .github/ISSUE_TEMPLATE/feature-request.yml | 47 ++++++++++++++++++++++
 3 files changed, 51 insertions(+), 7 deletions(-)
 create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yml

diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
index 73ebbf170..b13c67682 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -7,14 +7,15 @@ body:
     id: intro-md
     attributes:
       value: |
-        Thanks for taking the time to fill out this bug report! Please ensure you provide as much information as asked to better assist in confirming and identifying a fix for the bug report.
-  - type: dropdown
+        Thanks for taking the time to fill out this bug report! Please ensure you provide as much information as possible to better assist in confirming and identifying a fix for the bug.
+  - type: checkboxes
     id: existing-issue
     attributes:
       label: 'Verified issue does not already exist?'
       description: 'Please search to see if an issue already exists for the issue you encountered.'
       options:
-        - 'I have searched and found no existing issue'
+        - label: 'I have searched and found no existing issue'
+          required: true
     validations:
       required: true
   - type: textarea
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 085ec8a19..3ba13e0ce 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1 @@
 blank_issues_enabled: false
-contact_links:
-  - name: Feature Request?
-    url: https://github.com/actualbudget/actual/discussions/new?category=ideas
-    about: Website is hosted via GitHub Discussions under actualbudget/actual
diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml
new file mode 100644
index 000000000..359e37fe1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature-request.yml
@@ -0,0 +1,47 @@
+name: Feature request
+description: Request a missing feature
+title: '[Feature] '
+labels: ['feature', 'needs triage']
+body:
+  - type: markdown
+    id: intro-md
+    attributes:
+      value: |
+        Thanks for taking the time to fill out this feature request! Please ensure you provide as much information as possible so we can better understand what you’re proposing so we can come up with the best solution for everyone.
+  - type: checkboxes
+    id: existing-issue
+    attributes:
+      label: 'Verified feature request does not already exist?'
+      description: 'Please search to see if an issue or PR already exists for the feature you’re requesting.'
+      options:
+        - label: 'I have searched and found no existing issue'
+          required: true
+    validations:
+      required: true
+  - type: checkboxes
+    attributes:
+      label: '💻'
+      description: (Optional) Please check this box if you’re willing to open a PR to implement this feature. We’ll help you get started and answer any questions you have along the way :)
+      options:
+        - label: Would you like to implement this feature?
+  - type: textarea
+    id: pitch
+    attributes:
+      label: 'Pitch: what problem are you trying to solve?'
+      description: Please describe, in as much detail as you can, the problem that motivated you to submit this feature request.
+    validations:
+      required: true
+  - type: textarea
+    id: solution
+    attributes:
+      label: Describe your ideal solution to this problem
+      description: Feel free to give multiple different ideas for how the problem could be solved — we’d love to have a discussion to find the best way to solve your problem and related problems others may face! (Or leave this blank if you don’t have a solution in mind yet.)
+    validations:
+      required: false
+  - type: textarea
+    id: learning
+    attributes:
+      label: Teaching and learning
+      description: How can we make sure future users find and enjoy this feature? (i.e. how do we make it discoverable? what kind of documentation should we write? are there aspects of the feature that could trip up users?)
+    validations:
+      required: false
-- 
GitLab