feature_request.yml 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. name: Detailed Feature Proposal
  2. description: Report a specific problem that needs solving in Roo Code
  3. labels: ["proposal", "enhancement"]
  4. body:
  5. - type: markdown
  6. attributes:
  7. value: |
  8. **Thank you for submitting a feature request for Roo Code!**
  9. 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.
  10. **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.
  11. **Before submitting:**
  12. - Search existing [Issues](https://github.com/RooCodeInc/Roo-Code/issues) and [Discussions](https://github.com/RooCodeInc/Roo-Code/discussions) to avoid duplicates
  13. - For general ideas, use [GitHub Discussions](https://github.com/RooCodeInc/Roo-Code/discussions/categories/feature-requests) instead of this template.
  14. - type: markdown
  15. attributes:
  16. value: |
  17. ## ❌ Common mistakes that lead to request rejection:
  18. - **Vague problem descriptions:** "UI is bad" -> Should be: "Submit button is invisible on dark theme"
  19. - **Missing user impact:** "This would be cool" -> Should explain who benefits and how
  20. - **No specific context:** Describe exactly when and how the problem occurs
  21. - type: textarea
  22. id: problem-description
  23. attributes:
  24. label: What specific problem does this solve?
  25. description: |
  26. **Be concrete and detailed.** Explain the problem from a user's perspective.
  27. ✅ **Good examples (specific, clear impact):**
  28. - "When running large tasks, users wait 5+ minutes because tasks execute sequentially instead of in parallel, blocking productivity"
  29. - "AI can only read one file per request, forcing users to make multiple requests for multi-file projects, increasing wait time from 30s to 5+ minutes"
  30. - "Dark theme users can't see the submit button because it uses white text on light grey background"
  31. ❌ **Poor examples (vague, unclear impact):**
  32. - "The UI looks weird" -> What specifically looks weird? On which screen? What's the impact?
  33. - "System prompt is not good" -> What's wrong with it? What behaviour does it cause? What should it do instead?
  34. - "Performance could be better" -> Where? How slow is it currently? What's the user impact?
  35. **Your problem description should answer:**
  36. - Who is affected? (all users, specific user types, etc.)
  37. - When does this happen? (specific scenarios/steps)
  38. - What's the current behaviour vs expected behaviour?
  39. - What's the impact? (time wasted, errors caused, etc.)
  40. placeholder: Be specific about the problem, who it affects, and the impact. Avoid generic statements like "it's slow" or "it's confusing."
  41. validations:
  42. required: true
  43. - type: textarea
  44. id: additional-context
  45. attributes:
  46. label: Additional context (optional)
  47. description: Mockups, screenshots, links, user quotes, or other relevant information that supports your proposal.
  48. - type: textarea
  49. id: roo-code-tasks
  50. attributes:
  51. label: Roo Code Task Links (Optional)
  52. description: |
  53. If you used Roo Code to explore this feature request or develop solutions, share the public task links here.
  54. This helps maintainers understand the context and any exploration you've done.
  55. Example: https://app.roocode.com/share/task-id
  56. placeholder: Paste your Roo Code share links here, one per line
  57. - type: checkboxes
  58. id: checklist
  59. attributes:
  60. label: Request checklist
  61. options:
  62. - label: I've searched existing Issues and Discussions for duplicates
  63. required: true
  64. - label: This describes a specific problem with clear impact and context
  65. required: true
  66. - type: markdown
  67. attributes:
  68. value: |
  69. ---
  70. ## 🛠️ **Optional: Contributing & Technical Analysis**
  71. **🎯 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.
  72. **⚠️ Only continue if you want to:**
  73. - Propose a specific solution design
  74. - Implement the feature yourself via pull request
  75. - Provide technical analysis to help with implementation
  76. **For contributors who continue:**
  77. - 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!
  78. - Join [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph** (`hrudolph`) for guidance on implementation
  79. - 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
  80. - type: checkboxes
  81. id: willingness-to-contribute
  82. attributes:
  83. label: Interested in implementing this?
  84. description: |
  85. **Important:** If you check "Yes" below, the technical sections become REQUIRED.
  86. We need detailed technical analysis from contributors to ensure quality implementation.
  87. options:
  88. - label: Yes, I'd like to help implement this feature
  89. required: false
  90. - type: checkboxes
  91. id: implementation-approval
  92. attributes:
  93. label: Implementation requirements
  94. options:
  95. - label: I understand this needs approval before implementation begins
  96. required: false
  97. - type: textarea
  98. id: proposed-solution
  99. attributes:
  100. label: How should this be solved? (REQUIRED if contributing, optional otherwise)
  101. description: |
  102. **If you want to implement this feature, this section is REQUIRED.**
  103. **Describe your solution in detail.** Explain not just what to build, but how it should work.
  104. ✅ **Good examples:**
  105. - "Add parallel task execution: Allow up to 3 tasks to run simultaneously with a queue system for additional tasks. Show progress for each active task in the UI."
  106. - "Enable multi-file AI processing: Modify the request handler to accept multiple files in a single request and process them together, reducing round trips."
  107. - "Fix button contrast: Change submit button to use primary colour on dark theme (white text on blue background) instead of current grey."
  108. ❌ **Poor examples:**
  109. - "Make it faster" -> How? What specific changes?
  110. - "Improve the UI" -> Which part? What specific improvements?
  111. - "Fix the prompt" -> What should the new prompt do differently?
  112. **Your solution should explain:**
  113. - What exactly will change?
  114. - How will users interact with it?
  115. - What will the new behaviour look like?
  116. placeholder: Describe the specific changes and how they will work. Include user interaction details if relevant.
  117. - type: textarea
  118. id: acceptance-criteria
  119. attributes:
  120. label: How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)
  121. description: |
  122. **If you want to implement this feature, this section is REQUIRED.**
  123. **This is crucial - don't skip it.** Define what "working" looks like with specific, testable criteria.
  124. **Format suggestion:**
  125. ```
  126. Given [context/situation]
  127. When [user action]
  128. Then [expected result]
  129. And [additional expectations]
  130. But [what should NOT happen]
  131. ```
  132. **Example:**
  133. ```
  134. Given I have 5 large tasks to run
  135. When I start all of them
  136. Then they execute in parallel (max 3 at once, can be configured)
  137. And I see progress for each active task
  138. And queued tasks show "waiting" status
  139. But the UI doesn't freeze or become unresponsive
  140. ```
  141. placeholder: |
  142. Define specific, testable criteria. What should users be able to do? What should happen? What should NOT happen?
  143. Use the Given/When/Then format above or your own clear structure.
  144. - type: textarea
  145. id: technical-considerations
  146. attributes:
  147. label: Technical considerations (REQUIRED if contributing, optional otherwise)
  148. description: |
  149. **If you want to implement this feature, this section is REQUIRED.**
  150. Share technical insights that could help planning:
  151. - Implementation approach or architecture changes
  152. - Performance implications
  153. - Compatibility concerns
  154. - Systems that might be affected
  155. - Potential blockers you can foresee
  156. placeholder: e.g., "Will need to refactor task manager", "Could impact memory usage on large files", "Requires a large portion of code to be rewritten"
  157. - type: textarea
  158. id: trade-offs-and-risks
  159. attributes:
  160. label: Trade-offs and risks (REQUIRED if contributing, optional otherwise)
  161. description: |
  162. **If you want to implement this feature, this section is REQUIRED.**
  163. What could go wrong or what alternatives did you consider?
  164. - Alternative approaches and why you chose this one
  165. - Potential negative impacts (performance, UX, etc.)
  166. - Breaking changes or migration concerns
  167. - Edge cases that need careful handling
  168. placeholder: 'e.g., "Alternative: use library X but it is 500KB larger", "Risk: might slow older devices", "Breaking: changes API response format"'