# Feature request issue template — requires codebase understanding
name: Feature Request
description: Suggest an improvement or new feature for Mudabbir
labels: ["enhancement", "needs-triage"]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for suggesting an improvement. Please demonstrate that you've explored the codebase
        before proposing changes. Requests without evidence of codebase familiarity will be closed.

  - type: textarea
    id: problem
    attributes:
      label: Problem Statement
      description: What problem does this solve? Why is it needed?
      placeholder: "I'm trying to do X but currently..."
    validations:
      required: true

  - type: textarea
    id: solution
    attributes:
      label: Proposed Solution
      description: How would you implement this? Be specific about the approach.
      placeholder: "I would modify X to do Y by..."
    validations:
      required: true

  - type: textarea
    id: files
    attributes:
      label: Files That Would Need Changes
      description: Which source files would this touch? This shows you've read the codebase.
      placeholder: |
        - src/Mudabbir/dashboard.py (add new route)
        - src/Mudabbir/config.py (add new setting)
    validations:
      required: true

  - type: textarea
    id: alternatives
    attributes:
      label: Alternatives Considered
      description: What other approaches did you think about? Why is your proposal better?
    validations:
      required: false

  - type: textarea
    id: context
    attributes:
      label: Additional Context
      description: Screenshots, mockups, links to related issues, etc.
    validations:
      required: false

  - type: checkboxes
    id: checklist
    attributes:
      label: Before submitting
      options:
        - label: I have explored the Mudabbir codebase and understand the relevant modules
          required: true
        - label: I have searched existing issues and this is not a duplicate
          required: true
        - label: I have identified the specific files this would affect
          required: true

