# Project Mu GitHub Feature Request Template
#
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
#       instead of the file in this repo.
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#

name: 🚀 Feature Request
description: Request a feature change
title: "[Feature]: <title>"
labels: ["type:feature-request", "state:needs-triage"]

body:
  - type: markdown
    attributes:
      value: |
        👋 Thanks for taking the time to help us improve our features!

  - type: textarea
    id: feature_overview
    attributes:
      label: Feature Overview
      description: Provide a high-level summary of your feature request.
    validations:
      required: true

  - type: textarea
    id: solution_overview
    attributes:
      label: Solution Overview
      description: Give a clear and concise description of what you want to happen.
    validations:
      required: true

  - type: textarea
    id: alternatives_considered
    attributes:
      label: Alternatives Considered
      description: Describe alternatives you've considered.
    validations:
      required: false

  - type: markdown
    attributes:
      value: |
        **Urgency Key**
        - 🟢 **Low**
          - A minor enhancement
          - It is not important to address this request in a specific time frame
        - 🟡 **Medium**
          - An important enhancement
          - Will be prioritized above *low* requests in the normal course of development
        - 🔥 **High**
          - A critical enhancement with significant value
          - Should be prioritized above *low* and *medium* requests

  - type: dropdown
    id: urgency
    attributes:
      label: Urgency
      description: How urgent is it to resolve this feature request?
      multiple: false
      options:
        - Low
        - Medium
        - High
    validations:
      required: true

  - type: dropdown
    id: request_owner
    attributes:
      label: Are you going to implement the feature request?
      description: Indicate if you are going to do the work to close this feature request.
      multiple: false
      options:
        - I will implement the feature
        - Someone else needs to implement the feature
    validations:
      required: true

  - type: dropdown
    id: needs_maintainer_feedback
    attributes:
      label: Do you need maintainer feedback?
      description: Indicate if you would like a maintainer to provide feedback on this submission.
      multiple: false
      options:
        - No maintainer feedback needed
        - Maintainer feedback requested
    validations:
      required: true

  - type: textarea
    id: anything_else
    attributes:
      label: Anything else?
      description: |
        Links? References? Anything that will give us more context about the feature you are requesting.

        Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
    validations:
      required: false
