name: "Feature request or improvement"
description: "Suggest an idea or improvement for the project."
labels: ["enhancement", "help wanted", "v2"]
body:
  - type: markdown
    attributes:
      value: |
        **Thanks for taking the time to request a feature or improvement! Please fill out this form as completely as possible.**
  - type: checkboxes
    id: search-duplicate
    attributes:
      label: Search for duplicate feature request
      options:
        - label: I already searched, and this feature request or improvement is not a duplicate.
          required: true
  - type: dropdown
    id: feature-scope
    attributes:
      label: Feature scope
      description: What is the scope of this feature or improvement?
      options:
        - Completely new feature
        - Improve existing functionality
        - Target/OS/arch/platform
        - Library/API (crate)
        - Configuration (e.g. TOML) or CLI/env option
        - Build target (release binary)
        - Usability/User Experience
        - Documentation/Resources
        - Performance
        - Security
        - Project/structure/CI-CD/process
        - Other (specify below)
    validations:
      required: true
  - type: textarea
    id: feature-related
    attributes:
      label: Feature request related to a problem
      description: |
        If the case, provide a clear and concise description of what the problem is. E.g. I'm always frustrated when [...]
    validations:
      required: false
  - type: textarea
    id: describe-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: describe-alternatives
    attributes:
      label: Describe alternatives you've considered
      description: A clear and concise description of any alternative solutions or features you've considered.
    validations:
      required: true
  - type: dropdown
    id: build-target
    attributes:
      label: Build target
      description: Specify the SWS target(s) involved in this feature request or if a new one.
      options:
        - All targets
        - Only Unix targets
        - Only Linux targets
        - Only Unix/Linux targets
        - Only macOS targets
        - Only Windows targets
        - New target (specify below)
        - aarch64-apple-darwin
        - aarch64-linux-android
        - aarch64-pc-windows-msvc
        - aarch64-unknown-linux-gnu
        - aarch64-unknown-linux-musl
        - arm-unknown-linux-gnueabihf
        - arm-unknown-linux-musleabihf
        - armv7-unknown-linux-musleabihf
        - i686-pc-windows-msvc
        - i686-unknown-freebsd
        - i686-unknown-linux-gnu
        - i686-unknown-linux-musl
        - powerpc64le-unknown-linux-gnu
        - s390x-unknown-linux-gnu
        - x86_64-apple-darwin
        - x86_64-pc-windows-gnu
        - x86_64-pc-windows-msvc
        - x86_64-unknown-freebsd
        - x86_64-unknown-illumos
        - x86_64-unknown-linux-gnu
        - x86_64-unknown-linux-musl
        - x86_64-unknown-netbsd
        - Docker linux/386
        - Docker linux/amd64
        - Docker linux/arm/v6
        - Docker linux/arm/v7
        - Docker linux/arm64
        - Docker linux/ppc64le
        - Docker linux/s390x
    validations:
      required: true
  - type: textarea
    id: additional-context
    attributes:
      label: Additional context
      description: Add any other context information about the problem here if needed.
    validations:
      required: false
