Skip to content

Commit 48ebb06

Browse files
feat: streamline feature request template to focus on problem reporting (#4847)
1 parent ff1b150 commit 48ebb06

File tree

1 file changed

+74
-77
lines changed

1 file changed

+74
-77
lines changed
Lines changed: 74 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,28 @@
11
name: Detailed Feature Proposal
2-
description: Propose a specific, actionable feature or enhancement for implementation
2+
description: Report a specific problem that needs solving in Roo Code
33
labels: ["proposal", "enhancement"]
44
body:
55
- type: markdown
66
attributes:
77
value: |
8-
**Thank you for proposing a feature for Roo Code!**
8+
**Thank you for submitting a feature request for Roo Code!**
99
10-
This template is for specific, actionable proposals following our [Issue-First Approach](https://github.com/RooCodeInc/Roo-Code/blob/main/CONTRIBUTING.md).
10+
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.
1111
12-
**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.
12+
**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.
1313
1414
**Before submitting:**
1515
- Search existing [Issues](https://github.com/RooCodeInc/Roo-Code/issues) and [Discussions](https://github.com/RooCodeInc/Roo-Code/discussions) to avoid duplicates
16-
- 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)
17-
- Join [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph** (`hrudolph`) for guidance
18-
19-
**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!
16+
- For general ideas, use [GitHub Discussions](https://github.com/RooCodeInc/Roo-Code/discussions/categories/feature-requests) instead of this template.
2017
2118
- type: markdown
2219
attributes:
2320
value: |
24-
## ❌ Common mistakes that lead to proposal rejection:
21+
## ❌ Common mistakes that lead to request rejection:
2522
- **Vague problem descriptions:** "UI is bad" -> Should be: "Submit button is invisible on dark theme"
26-
- **Solution without context:** "Add feature X" -> Should explain the problem first, then the solution
2723
- **Missing user impact:** "This would be cool" -> Should explain who benefits and how
28-
- **No acceptance criteria:** How do we know when it's done? What does success look like?
24+
- **No specific context:** Describe exactly when and how the problem occurs
2925
30-
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.
3126
3227
- type: textarea
3328
id: problem-description
@@ -55,11 +50,68 @@ body:
5550
validations:
5651
required: true
5752

53+
54+
- type: textarea
55+
id: additional-context
56+
attributes:
57+
label: Additional context (optional)
58+
description: Mockups, screenshots, links, user quotes, or other relevant information that supports your proposal.
59+
60+
- type: checkboxes
61+
id: checklist
62+
attributes:
63+
label: Request checklist
64+
options:
65+
- label: I've searched existing Issues and Discussions for duplicates
66+
required: true
67+
- label: This describes a specific problem with clear impact and context
68+
required: true
69+
70+
- type: markdown
71+
attributes:
72+
value: |
73+
---
74+
75+
## 🛠️ **Optional: Contributing & Technical Analysis**
76+
77+
**🎯 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.
78+
79+
**⚠️ Only continue if you want to:**
80+
- Propose a specific solution design
81+
- Implement the feature yourself via pull request
82+
- Provide technical analysis to help with implementation
83+
84+
**For contributors who continue:**
85+
- 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!
86+
- Join [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph** (`hrudolph`) for guidance on implementation
87+
- 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
88+
89+
- type: checkboxes
90+
id: willingness-to-contribute
91+
attributes:
92+
label: Interested in implementing this?
93+
description: |
94+
**Important:** If you check "Yes" below, the technical sections become REQUIRED.
95+
We need detailed technical analysis from contributors to ensure quality implementation.
96+
options:
97+
- label: Yes, I'd like to help implement this feature
98+
required: false
99+
100+
- type: checkboxes
101+
id: implementation-approval
102+
attributes:
103+
label: Implementation requirements
104+
options:
105+
- label: I understand this needs approval before implementation begins
106+
required: false
107+
58108
- type: textarea
59109
id: proposed-solution
60110
attributes:
61-
label: How should this be solved?
111+
label: How should this be solved? (REQUIRED if contributing, optional otherwise)
62112
description: |
113+
**If you want to implement this feature, this section is REQUIRED.**
114+
63115
**Describe your solution in detail.** Explain not just what to build, but how it should work.
64116
65117
✅ **Good examples:**
@@ -77,14 +129,14 @@ body:
77129
- How will users interact with it?
78130
- What will the new behaviour look like?
79131
placeholder: Describe the specific changes and how they will work. Include user interaction details if relevant.
80-
validations:
81-
required: true
82132

83133
- type: textarea
84134
id: acceptance-criteria
85135
attributes:
86-
label: How will we know it works? (Acceptance Criteria)
136+
label: How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)
87137
description: |
138+
**If you want to implement this feature, this section is REQUIRED.**
139+
88140
**This is crucial - don't skip it.** Define what "working" looks like with specific, testable criteria.
89141
90142
**Format suggestion:**
@@ -108,42 +160,14 @@ body:
108160
placeholder: |
109161
Define specific, testable criteria. What should users be able to do? What should happen? What should NOT happen?
110162
Use the Given/When/Then format above or your own clear structure.
111-
validations:
112-
required: true
113-
114-
- type: textarea
115-
id: estimated-effort
116-
attributes:
117-
label: Estimated effort and complexity
118-
description: |
119-
**Help us understand the scope.** This helps with planning and prioritisation.
120-
121-
**Please include:**
122-
- **Size estimate:** XS/Small/Medium/Large/XL (or hours/days if you prefer)
123-
- **Reasoning:** What makes it this size? Which parts are complex?
124-
- **Main challenges:** What's the trickiest bit to implement?
125-
- **Dependencies:** Does this require other changes or external libraries?
126-
127-
**Example:**
128-
```
129-
Size: Large (2-3 weeks)
130-
Reasoning: Touches task execution engine, UI components, and state management
131-
Main challenges: Preventing memory leaks with parallel execution and managing shared resources
132-
Dependencies: Might need to add a new dependency for the new feature
133-
```
134-
placeholder: |
135-
Size: [your estimate]
136-
Reasoning: [why this size?]
137-
Main challenges: [what's tricky?]
138-
Dependencies: [what else is needed?]
139-
validations:
140-
required: true
141163
142164
- type: textarea
143165
id: technical-considerations
144166
attributes:
145-
label: Technical considerations (optional but helpful)
167+
label: Technical considerations (REQUIRED if contributing, optional otherwise)
146168
description: |
169+
**If you want to implement this feature, this section is REQUIRED.**
170+
147171
Share technical insights that could help planning:
148172
- Implementation approach or architecture changes
149173
- Performance implications
@@ -155,40 +179,13 @@ body:
155179
- type: textarea
156180
id: trade-offs-and-risks
157181
attributes:
158-
label: Trade-offs and risks (optional)
182+
label: Trade-offs and risks (REQUIRED if contributing, optional otherwise)
159183
description: |
184+
**If you want to implement this feature, this section is REQUIRED.**
185+
160186
What could go wrong or what alternatives did you consider?
161187
- Alternative approaches and why you chose this one
162188
- Potential negative impacts (performance, UX, etc.)
163189
- Breaking changes or migration concerns
164190
- Edge cases that need careful handling
165191
placeholder: 'e.g., "Alternative: use library X but it is 500KB larger", "Risk: might slow older devices", "Breaking: changes API response format"'
166-
167-
- type: textarea
168-
id: additional-context
169-
attributes:
170-
label: Additional context (optional)
171-
description: Mockups, screenshots, links, user quotes, or other relevant information that supports your proposal.
172-
173-
- type: checkboxes
174-
id: checklist
175-
attributes:
176-
label: Proposal checklist
177-
options:
178-
- label: I've searched existing Issues and Discussions for duplicates
179-
required: true
180-
- label: This is a specific, actionable proposal with clear problem and solution
181-
required: true
182-
- label: I've included concrete acceptance criteria
183-
required: true
184-
- label: I understand this needs approval before implementation begins
185-
required: true
186-
187-
- type: checkboxes
188-
id: willingness-to-contribute
189-
attributes:
190-
label: Interested in implementing this?
191-
description: Optional - doesn't affect proposal consideration
192-
options:
193-
- label: Yes, I'd like to help implement this feature
194-
required: false

0 commit comments

Comments
 (0)