ソースを参照

feat: streamline feature request template to focus on problem reporting (#4847)

Hannes Rudolph 6 ヶ月 前
コミット
48ebb06841
1 ファイル変更74 行追加77 行削除
  1. 74 77
      .github/ISSUE_TEMPLATE/feature_request.yml

+ 74 - 77
.github/ISSUE_TEMPLATE/feature_request.yml

@@ -1,33 +1,28 @@
 name: Detailed Feature Proposal
 name: Detailed Feature Proposal
-description: Propose a specific, actionable feature or enhancement for implementation
+description: Report a specific problem that needs solving in Roo Code
 labels: ["proposal", "enhancement"]
 labels: ["proposal", "enhancement"]
 body:
 body:
   - type: markdown
   - type: markdown
     attributes:
     attributes:
       value: |
       value: |
-        **Thank you for proposing a feature for Roo Code!**
+        **Thank you for submitting a feature request for Roo Code!**
         
         
-        This template is for specific, actionable proposals following our [Issue-First Approach](https://github.com/RooCodeInc/Roo-Code/blob/main/CONTRIBUTING.md).
+        This template helps you describe problems that need solving. Focus on the problem - the Roo team will work to design solutions unless you want to contribute the implementation yourself.
         
         
-        **Quality over speed:** We prefer detailed, clear proposals over quick ones. Vague proposals often get closed or require multiple rounds of clarification, which wastes everyone's time.
+        **Quality over speed:** We prefer detailed, clear problem descriptions over quick ones. Vague requests often get closed or require multiple rounds of clarification, which wastes everyone's time.
         
         
         **Before submitting:**
         **Before submitting:**
         - Search existing [Issues](https://github.com/RooCodeInc/Roo-Code/issues) and [Discussions](https://github.com/RooCodeInc/Roo-Code/discussions) to avoid duplicates
         - Search existing [Issues](https://github.com/RooCodeInc/Roo-Code/issues) and [Discussions](https://github.com/RooCodeInc/Roo-Code/discussions) to avoid duplicates
-        - For general ideas, use [GitHub Discussions](https://github.com/RooCodeInc/Roo-Code/discussions/categories/feature-requests) first, or use the #collaboration-board channel in our [Discord](https://discord.gg/roocode)
-        - Join [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph** (`hrudolph`) for guidance
-        
-        **Review process:** A maintainer (especially @hannesrudolph) will review this proposal. **Do not start implementation until approved and assigned.** We're a small team with limited resources, so every code addition needs careful consideration. We're always happy to receive clear, actionable proposals though!
+        - For general ideas, use [GitHub Discussions](https://github.com/RooCodeInc/Roo-Code/discussions/categories/feature-requests) instead of this template.
 
 
   - type: markdown
   - type: markdown
     attributes:
     attributes:
       value: |
       value: |
-        ## ❌ Common mistakes that lead to proposal rejection:
+        ## ❌ Common mistakes that lead to request rejection:
         - **Vague problem descriptions:** "UI is bad" -> Should be: "Submit button is invisible on dark theme"
         - **Vague problem descriptions:** "UI is bad" -> Should be: "Submit button is invisible on dark theme"
-        - **Solution without context:** "Add feature X" -> Should explain the problem first, then the solution
         - **Missing user impact:** "This would be cool" -> Should explain who benefits and how
         - **Missing user impact:** "This would be cool" -> Should explain who benefits and how
-        - **No acceptance criteria:** How do we know when it's done? What does success look like?
+        - **No specific context:** Describe exactly when and how the problem occurs
 
 
-        If you're unsure how a good proposal should look like, you can check out our [Roadmap](https://github.com/orgs/RooCodeInc/projects/1/views/1?query=sort%3Aupdated-desc+is%3Aopen&filterQuery=is%3Aissue%2Copen%2Cclosed+label%3A%22feature+request%22+status%3A%22Issue+%5BUnassigned%5D%22%2C%22Issue+%5BIn+Progress%5D%22) where we have a list of all open feature requests that are ready to be implemented or currently being worked on.
 
 
   - type: textarea
   - type: textarea
     id: problem-description
     id: problem-description
@@ -55,11 +50,68 @@ body:
     validations:
     validations:
       required: true
       required: true
 
 
+
+  - type: textarea
+    id: additional-context
+    attributes:
+      label: Additional context (optional)
+      description: Mockups, screenshots, links, user quotes, or other relevant information that supports your proposal.
+
+  - type: checkboxes
+    id: checklist
+    attributes:
+      label: Request checklist
+      options:
+        - label: I've searched existing Issues and Discussions for duplicates
+          required: true
+        - label: This describes a specific problem with clear impact and context
+          required: true
+
+  - type: markdown
+    attributes:
+      value: |
+        ---
+        
+        ## 🛠️ **Optional: Contributing & Technical Analysis**
+        
+        **🎯 Just reporting a problem?** You can click "Submit new issue" right now! The sections below are only needed if you want to contribute a solution via pull request.
+        
+        **⚠️ Only continue if you want to:**
+        - Propose a specific solution design
+        - Implement the feature yourself via pull request
+        - Provide technical analysis to help with implementation
+        
+        **For contributors who continue:**
+        - A maintainer (especially @hannesrudolph) will review this proposal. **Do not start implementation until approved and assigned.** We're a small team with limited resources, so every code addition needs careful consideration. We're always happy to receive clear, actionable proposals though!
+        - Join [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph** (`hrudolph`) for guidance on implementation
+        - Check our [Roadmap](https://github.com/orgs/RooCodeInc/projects/1/views/1?query=sort%3Aupdated-desc+is%3Aopen&filterQuery=is%3Aissue%2Copen%2Cclosed+label%3A%22feature+request%22+status%3A%22Issue+%5BUnassigned%5D%22%2C%22Issue+%5BIn+Progress%5D%22) to see open feature requests ready to be implemented or currently being worked on
+
+  - type: checkboxes
+    id: willingness-to-contribute
+    attributes:
+      label: Interested in implementing this?
+      description: |
+        **Important:** If you check "Yes" below, the technical sections become REQUIRED.
+        We need detailed technical analysis from contributors to ensure quality implementation.
+      options:
+        - label: Yes, I'd like to help implement this feature
+          required: false
+
+  - type: checkboxes
+    id: implementation-approval
+    attributes:
+      label: Implementation requirements
+      options:
+        - label: I understand this needs approval before implementation begins
+          required: false
+
   - type: textarea
   - type: textarea
     id: proposed-solution
     id: proposed-solution
     attributes:
     attributes:
-      label: How should this be solved?
+      label: How should this be solved? (REQUIRED if contributing, optional otherwise)
       description: |
       description: |
+        **If you want to implement this feature, this section is REQUIRED.**
+        
         **Describe your solution in detail.** Explain not just what to build, but how it should work.
         **Describe your solution in detail.** Explain not just what to build, but how it should work.
         
         
         ✅ **Good examples:**
         ✅ **Good examples:**
@@ -77,14 +129,14 @@ body:
         - How will users interact with it?
         - How will users interact with it?
         - What will the new behaviour look like?
         - What will the new behaviour look like?
       placeholder: Describe the specific changes and how they will work. Include user interaction details if relevant.
       placeholder: Describe the specific changes and how they will work. Include user interaction details if relevant.
-    validations:
-      required: true
 
 
   - type: textarea
   - type: textarea
     id: acceptance-criteria
     id: acceptance-criteria
     attributes:
     attributes:
-      label: How will we know it works? (Acceptance Criteria)
+      label: How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)
       description: |
       description: |
+        **If you want to implement this feature, this section is REQUIRED.**
+        
         **This is crucial - don't skip it.** Define what "working" looks like with specific, testable criteria.
         **This is crucial - don't skip it.** Define what "working" looks like with specific, testable criteria.
         
         
         **Format suggestion:**
         **Format suggestion:**
@@ -108,42 +160,14 @@ body:
       placeholder: |
       placeholder: |
         Define specific, testable criteria. What should users be able to do? What should happen? What should NOT happen?
         Define specific, testable criteria. What should users be able to do? What should happen? What should NOT happen?
         Use the Given/When/Then format above or your own clear structure.
         Use the Given/When/Then format above or your own clear structure.
-    validations:
-      required: true
-
-  - type: textarea
-    id: estimated-effort
-    attributes:
-      label: Estimated effort and complexity
-      description: |
-        **Help us understand the scope.** This helps with planning and prioritisation.
-        
-        **Please include:**
-        - **Size estimate:** XS/Small/Medium/Large/XL (or hours/days if you prefer)
-        - **Reasoning:** What makes it this size? Which parts are complex?
-        - **Main challenges:** What's the trickiest bit to implement?
-        - **Dependencies:** Does this require other changes or external libraries?
-        
-        **Example:**
-        ```
-        Size: Large (2-3 weeks)
-        Reasoning: Touches task execution engine, UI components, and state management
-        Main challenges: Preventing memory leaks with parallel execution and managing shared resources
-        Dependencies: Might need to add a new dependency for the new feature
-        ```
-      placeholder: |
-        Size: [your estimate]
-        Reasoning: [why this size?]
-        Main challenges: [what's tricky?]
-        Dependencies: [what else is needed?]
-    validations:
-      required: true
 
 
   - type: textarea
   - type: textarea
     id: technical-considerations
     id: technical-considerations
     attributes:
     attributes:
-      label: Technical considerations (optional but helpful)
+      label: Technical considerations (REQUIRED if contributing, optional otherwise)
       description: |
       description: |
+        **If you want to implement this feature, this section is REQUIRED.**
+        
         Share technical insights that could help planning:
         Share technical insights that could help planning:
         - Implementation approach or architecture changes
         - Implementation approach or architecture changes
         - Performance implications
         - Performance implications
@@ -155,40 +179,13 @@ body:
   - type: textarea
   - type: textarea
     id: trade-offs-and-risks
     id: trade-offs-and-risks
     attributes:
     attributes:
-      label: Trade-offs and risks (optional)
+      label: Trade-offs and risks (REQUIRED if contributing, optional otherwise)
       description: |
       description: |
+        **If you want to implement this feature, this section is REQUIRED.**
+        
         What could go wrong or what alternatives did you consider?
         What could go wrong or what alternatives did you consider?
         - Alternative approaches and why you chose this one
         - Alternative approaches and why you chose this one
         - Potential negative impacts (performance, UX, etc.)
         - Potential negative impacts (performance, UX, etc.)
         - Breaking changes or migration concerns
         - Breaking changes or migration concerns
         - Edge cases that need careful handling
         - Edge cases that need careful handling
       placeholder: 'e.g., "Alternative: use library X but it is 500KB larger", "Risk: might slow older devices", "Breaking: changes API response format"'
       placeholder: 'e.g., "Alternative: use library X but it is 500KB larger", "Risk: might slow older devices", "Breaking: changes API response format"'
-
-  - type: textarea
-    id: additional-context
-    attributes:
-      label: Additional context (optional)
-      description: Mockups, screenshots, links, user quotes, or other relevant information that supports your proposal.
-
-  - type: checkboxes
-    id: checklist
-    attributes:
-      label: Proposal checklist
-      options:
-        - label: I've searched existing Issues and Discussions for duplicates
-          required: true
-        - label: This is a specific, actionable proposal with clear problem and solution
-          required: true
-        - label: I've included concrete acceptance criteria
-          required: true
-        - label: I understand this needs approval before implementation begins
-          required: true
-
-  - type: checkboxes
-    id: willingness-to-contribute
-    attributes:
-      label: Interested in implementing this?
-      description: Optional - doesn't affect proposal consideration
-      options:
-        - label: Yes, I'd like to help implement this feature
-          required: false