diff --git a/.gitea/ISSUE_TEMPLATE/feature_request.yaml b/.gitea/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 0000000..9aa7d10 --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,129 @@ +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