# Bug report issue form by BugsQA (bugsqa.com/bug-report-template/). Free to use and share.
# Save as .github/ISSUE_TEMPLATE/bug_report.yml in your repository.
name: Bug report
description: Report something that is broken. Fill in every required field so it can be reproduced.
title: "[Bug]: "
labels: ["bug"]
body:
  - type: markdown
    attributes:
      value: "Thanks for reporting! One bug per report, please. Remove passwords and personal data from screenshots and logs. Report security problems privately, not here."
  - type: textarea
    id: summary
    attributes:
      label: "Summary"
      description: "One or two sentences on impact: who is affected and how."
      placeholder: "Who is affected and how badly."
    validations:
      required: false
  - type: input
    id: environment
    attributes:
      label: "Environment"
      description: "Where you saw it. URL or app screen, Environment (production or staging), App version or build, Device and model, OS and version, Browser and version, Screen size, Account or role used, Network."
      placeholder: "https://app.example.com/checkout, production, build 2.4.1, iPhone 15, iOS 27.0, Safari"
    validations:
      required: true
  - type: textarea
    id: preconditions
    attributes:
      label: "Preconditions"
      description: "What must be true before step 1 (logged in as a customer, cart has 2 items)."
      placeholder: "Logged in as a customer with 1 item in the cart."
    validations:
      required: false
  - type: textarea
    id: steps
    attributes:
      label: "Steps to reproduce"
      description: "Numbered, one action per step, starting from a known place. Include the exact data you typed."
      placeholder: "1. \n2. \n3. "
    validations:
      required: true
  - type: textarea
    id: expected
    attributes:
      label: "Expected result"
      description: "What should happen, based on the requirement or common sense."
    validations:
      required: true
  - type: textarea
    id: actual
    attributes:
      label: "Actual result"
      description: "What actually happened. Include exact error text."
    validations:
      required: true
  - type: dropdown
    id: frequency
    attributes:
      label: "How often"
      description: "If sometimes, say how many times out of how many tries."
      options:
        - "Always"
        - "Sometimes"
        - "Once"
    validations:
      required: true
  - type: dropdown
    id: severity
    attributes:
      label: "Severity"
      description: "How bad the impact is."
      options:
        - "S1 Critical"
        - "S2 Major"
        - "S3 Minor"
        - "S4 Trivial"
    validations:
      required: true
  - type: textarea
    id: evidence
    attributes:
      label: "Screenshots, video and logs"
      description: "A screenshot or short screen recording, console errors, network response. Hide passwords and personal data."
      placeholder: "Drag screenshots or a short screen recording here, or paste console errors."
    validations:
      required: false
  - type: textarea
    id: workaround
    attributes:
      label: "Workaround"
      description: "Any way users can get around it for now."
    validations:
      required: false
