130 lines
4.2 KiB
YAML
130 lines
4.2 KiB
YAML
name: "Feature Request"
|
|
description: "Suggest a new feature or enhancement for this project"
|
|
title: "[FEATURE]: "
|
|
labels: ["enhancement"]
|
|
body:
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
## ⚠️ Before You Begin
|
|
Please ensure you have:
|
|
- [ ] Searched existing issues (open and closed) to avoid duplicates
|
|
- [ ] Reviewed the [project documentation](https://git.vmn.su/max/audio_splitter/wiki) for existing functionality
|
|
- [ ] Confirmed this is a feature request, not a bug or configuration question
|
|
|
|
|
|
- type: textarea
|
|
id: problem
|
|
attributes:
|
|
label: "🎯 Problem Statement"
|
|
description: "What problem does this feature solve? What can't you do today?"
|
|
placeholder: |
|
|
I'm always frustrated when...
|
|
Currently, it's hard/impossible to...
|
|
This feature would help me because...
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: solution
|
|
attributes:
|
|
label: "💡 Proposed Solution"
|
|
description: "Describe the solution you'd like to see"
|
|
placeholder: |
|
|
A clear description of what you want to happen.
|
|
If you have a specific API, UI, or implementation in mind, describe it here.
|
|
validations:
|
|
required: true
|
|
|
|
- type: textarea
|
|
id: alternatives
|
|
attributes:
|
|
label: "🔄 Alternatives Considered"
|
|
description: "What alternative solutions or workarounds have you considered?"
|
|
placeholder: |
|
|
- Alternative A: ...
|
|
- Workaround B: ...
|
|
- Why these don't fully solve the problem
|
|
validations:
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: usecase
|
|
attributes:
|
|
label: "👤 Use Case / Persona"
|
|
description: "Who benefits from this feature and in what context?"
|
|
placeholder: |
|
|
As a [type of user], I want to [do something] so that [I achieve some benefit].
|
|
Example: "As a project maintainer, I want to bulk-close issues by label so that I can clean up stale tickets faster."
|
|
validations:
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: screenshots
|
|
attributes:
|
|
label: "📸 Screenshots"
|
|
description: "If you can, provide screenshots or diagrams of the proposed feature"
|
|
placeholder: "Drag and drop images or paste links..."
|
|
validations:
|
|
required: false
|
|
|
|
- type: markdown
|
|
attributes:
|
|
value: |
|
|
---
|
|
## 🔧 Implementation Details (Optional)
|
|
The following sections are for contributors who want to implement this feature.
|
|
|
|
- type: textarea
|
|
id: technical
|
|
attributes:
|
|
label: "⚙️ Technical Approach"
|
|
description: "If you have ideas about how to implement this, share them here"
|
|
placeholder: |
|
|
- Which components/modules would be affected?
|
|
- Any database schema changes?
|
|
- API design considerations?
|
|
validations:
|
|
required: false
|
|
|
|
- type: textarea
|
|
id: acceptance
|
|
attributes:
|
|
label: "✅ Acceptance Criteria"
|
|
description: "What does 'done' look like for this feature?"
|
|
placeholder: |
|
|
- [ ] Feature works in the UI
|
|
- [ ] API endpoints are documented
|
|
- [ ] Tests are added
|
|
- [ ] Documentation is updated
|
|
validations:
|
|
required: false
|
|
|
|
- type: dropdown
|
|
id: contribution
|
|
attributes:
|
|
label: "🤝 Are you willing to contribute this feature?"
|
|
description: "Knowing if you can help implement this helps us prioritize"
|
|
options:
|
|
- "Yes, I can contribute"
|
|
- "Yes, but I need guidance"
|
|
- "No, but I can test/review"
|
|
- "No, I'm just requesting"
|
|
validations:
|
|
required: true
|
|
|
|
- type: checkboxes
|
|
id: checklist
|
|
attributes:
|
|
label: "✅ Submission Checklist"
|
|
description: "Please confirm the following before submitting"
|
|
options:
|
|
- label: "I have searched for existing issues (open and closed) that request the same feature"
|
|
required: true
|
|
- label: "I have explained the problem this feature solves"
|
|
required: true
|
|
- label: "I have described a concrete solution or direction"
|
|
required: true
|
|
- label: "I have considered alternatives and explained why they fall short"
|
|
required: false
|