diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index a1e4a88d..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-labels: bug
-
----
-
-
-- [ ] Yes, I'm using a binary release within 2 latest releases.
-- [ ] Yes, I've searched similar issues on GitHub and didn't find any.
-- [ ] Yes, I've included all information below (version, config, etc).
-
-### What did you expect to see?
-
-
-### What did you see instead?
-
-
-### Steps to reproduce
-
-1. ...
-2. ...
-3. ...
-
-### Details
-
-Version of lego
-
-```console
-$ lego --version
-# paste output here
-```
-
-
-
-Logs
-
-```console
-# paste output here
-```
-
-
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 00000000..96ba5fbb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,75 @@
+name: Bug Report
+description: Create a report to help us improve.
+labels: [bug]
+body:
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Welcome
+ options:
+ - label: Yes, I'm using a binary release within 2 latest releases.
+ required: true
+ - label: Yes, I've searched similar issues on GitHub and didn't find any.
+ required: true
+ - label: Yes, I've included all information below (version, config, etc).
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: What did you expect to see?
+ placeholder: Description.
+ validations:
+ required: true
+
+ - type: textarea
+ id: current
+ attributes:
+ label: What did you see instead?
+ placeholder: Description.
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: Reproduction steps
+ description: "How do you trigger this bug? Please walk us through it step by step."
+ value: |
+ 1. ...
+ 2. ...
+ 3. ...
+ ...
+ validations:
+ required: true
+
+ - type: textarea
+ id: version
+ attributes:
+ label: Version of lego
+ value: |-
+
+
+ ```console
+ $ lego --version
+ # paste output here
+ ```
+
+
+ validations:
+ required: true
+
+ - type: textarea
+ id: logs
+ attributes:
+ label: Logs
+ value: |-
+
+
+ ```console
+ # paste output here
+ ```
+
+
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index adfd87e8..00000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-
----
-
-
-- [ ] Yes, I've searched similar issues on GitHub and didn't find any.
-
-### Detailed Description
-
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 00000000..558bf745
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,18 @@
+name: Feature request
+description: Suggest an idea for this project.
+body:
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Welcome
+ options:
+ - label: Yes, I've searched similar issues on GitHub and didn't find any.
+ required: true
+
+ - type: textarea
+ id: description
+ attributes:
+ label: Detailed Description
+ placeholder: Description.
+ validations:
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/new_dns_provider.md b/.github/ISSUE_TEMPLATE/new_dns_provider.md
deleted file mode 100644
index 3725ec41..00000000
--- a/.github/ISSUE_TEMPLATE/new_dns_provider.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-name: New DNS provider support
-about: Request for the support of a new DNS provider.
-labels: enhancement, new-provider
-
----
-
-
-- [ ] Yes, I've searched similar issues on GitHub and didn't find any.
-- [ ] Yes, the DNS provider exposes a public API.
-- [ ] Yes, I know that the lego maintainers don't have an account in all DNS providers in the world.
-- [ ] Yes, I'm able to create a pull request and be able to maintain the implementation
-- [ ] Yes, I'm able to test an implementation if someone creates a pull request to add the support of this DNS provider.
-
-### Link to the DNS provider
-
-Put your link here.
-
-### Link to the API documentation
-
-Put your link here.
-
-### Additional Notes
-
-Your notes.
diff --git a/.github/ISSUE_TEMPLATE/new_dns_provider.yml b/.github/ISSUE_TEMPLATE/new_dns_provider.yml
new file mode 100644
index 00000000..a94051ca
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/new_dns_provider.yml
@@ -0,0 +1,44 @@
+name: New DNS provider support
+description: Request for the support of a new DNS provider.
+title: "Support for provider: "
+labels: [enhancement, new-provider]
+body:
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Welcome
+ options:
+ - label: Yes, I've searched similar issues on GitHub and didn't find any.
+ required: true
+ - label: Yes, the DNS provider exposes a public API.
+ required: true
+ - label: Yes, I know that the lego maintainers don't have an account in all DNS providers in the world.
+ required: true
+ - label: Yes, I'm able to create a pull request and be able to maintain the implementation.
+ required: false
+ - label: Yes, I'm able to test an implementation if someone creates a pull request to add the support of this DNS provider.
+ required: false
+
+ - type: input
+ id: provider-link
+ attributes:
+ label: Link to the DNS provider
+ placeholder: Put your link here.
+ validations:
+ required: true
+
+ - type: input
+ id: api-link
+ attributes:
+ label: Link to the API documentation
+ placeholder: Put your link here.
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: Additional Notes
+ placeholder: Your notes.
+ validations:
+ required: false