Skip to content

Commit 5a452e0

Browse files
Merge branch 'RooCodeInc:main' into main
2 parents 92a17eb + fed603a commit 5a452e0

File tree

1,431 files changed

+146392
-76734
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,431 files changed

+146392
-76734
lines changed

.dockerignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ __tests__
6161
# Ignore development config files
6262
.eslintrc*
6363
.prettierrc*
64-
jest.config*
6564

6665
# Ignore most directories except what we need for the build
6766
apps/

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
demo.gif filter=lfs diff=lfs merge=lfs -text
22
assets/docs/demo.gif filter=lfs diff=lfs merge=lfs -text
33
src/assets/docs/demo.gif filter=lfs diff=lfs merge=lfs -text
4+
5+
# Test snapshot files - mark as linguist-generated to exclude from GitHub language statistics
6+
*.snap linguist-generated=true

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,16 @@ body:
5353
validations:
5454
required: true
5555

56+
- type: textarea
57+
id: roo-code-tasks
58+
attributes:
59+
label: Roo Code Task Links (Optional)
60+
description: |
61+
If you have any publicly shared task links that demonstrate the issue, please paste them here.
62+
This helps maintainers understand the context.
63+
Example: https://app.roocode.com/share/task-id
64+
placeholder: Paste your Roo Code share links here, one per line
65+
5666
- type: textarea
5767
id: steps
5868
attributes:
@@ -85,4 +95,4 @@ body:
8595
attributes:
8696
label: 📄 Relevant Logs or Errors (Optional)
8797
description: Paste API logs, terminal output, or errors here. Use triple backticks (```) for code formatting.
88-
render: shell
98+
render: shell

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 84 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,78 @@ 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: textarea
61+
id: roo-code-tasks
62+
attributes:
63+
label: Roo Code Task Links (Optional)
64+
description: |
65+
If you used Roo Code to explore this feature request or develop solutions, share the public task links here.
66+
This helps maintainers understand the context and any exploration you've done.
67+
Example: https://app.roocode.com/share/task-id
68+
placeholder: Paste your Roo Code share links here, one per line
69+
70+
- type: checkboxes
71+
id: checklist
72+
attributes:
73+
label: Request checklist
74+
options:
75+
- label: I've searched existing Issues and Discussions for duplicates
76+
required: true
77+
- label: This describes a specific problem with clear impact and context
78+
required: true
79+
80+
- type: markdown
81+
attributes:
82+
value: |
83+
---
84+
85+
## 🛠️ **Optional: Contributing & Technical Analysis**
86+
87+
**🎯 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.
88+
89+
**⚠️ Only continue if you want to:**
90+
- Propose a specific solution design
91+
- Implement the feature yourself via pull request
92+
- Provide technical analysis to help with implementation
93+
94+
**For contributors who continue:**
95+
- 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!
96+
- Join [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph** (`hrudolph`) for guidance on implementation
97+
- 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
98+
99+
- type: checkboxes
100+
id: willingness-to-contribute
101+
attributes:
102+
label: Interested in implementing this?
103+
description: |
104+
**Important:** If you check "Yes" below, the technical sections become REQUIRED.
105+
We need detailed technical analysis from contributors to ensure quality implementation.
106+
options:
107+
- label: Yes, I'd like to help implement this feature
108+
required: false
109+
110+
- type: checkboxes
111+
id: implementation-approval
112+
attributes:
113+
label: Implementation requirements
114+
options:
115+
- label: I understand this needs approval before implementation begins
116+
required: false
117+
58118
- type: textarea
59119
id: proposed-solution
60120
attributes:
61-
label: How should this be solved?
121+
label: How should this be solved? (REQUIRED if contributing, optional otherwise)
62122
description: |
123+
**If you want to implement this feature, this section is REQUIRED.**
124+
63125
**Describe your solution in detail.** Explain not just what to build, but how it should work.
64126
65127
✅ **Good examples:**
@@ -77,14 +139,14 @@ body:
77139
- How will users interact with it?
78140
- What will the new behaviour look like?
79141
placeholder: Describe the specific changes and how they will work. Include user interaction details if relevant.
80-
validations:
81-
required: true
82142

83143
- type: textarea
84144
id: acceptance-criteria
85145
attributes:
86-
label: How will we know it works? (Acceptance Criteria)
146+
label: How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)
87147
description: |
148+
**If you want to implement this feature, this section is REQUIRED.**
149+
88150
**This is crucial - don't skip it.** Define what "working" looks like with specific, testable criteria.
89151
90152
**Format suggestion:**
@@ -108,42 +170,14 @@ body:
108170
placeholder: |
109171
Define specific, testable criteria. What should users be able to do? What should happen? What should NOT happen?
110172
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
141173
142174
- type: textarea
143175
id: technical-considerations
144176
attributes:
145-
label: Technical considerations (optional but helpful)
177+
label: Technical considerations (REQUIRED if contributing, optional otherwise)
146178
description: |
179+
**If you want to implement this feature, this section is REQUIRED.**
180+
147181
Share technical insights that could help planning:
148182
- Implementation approach or architecture changes
149183
- Performance implications
@@ -155,40 +189,13 @@ body:
155189
- type: textarea
156190
id: trade-offs-and-risks
157191
attributes:
158-
label: Trade-offs and risks (optional)
192+
label: Trade-offs and risks (REQUIRED if contributing, optional otherwise)
159193
description: |
194+
**If you want to implement this feature, this section is REQUIRED.**
195+
160196
What could go wrong or what alternatives did you consider?
161197
- Alternative approaches and why you chose this one
162198
- Potential negative impacts (performance, UX, etc.)
163199
- Breaking changes or migration concerns
164200
- Edge cases that need careful handling
165201
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
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Marketplace Feedback
2+
description: Report issues or suggest improvements for marketplace items (custom modes and MCP servers)
3+
labels: ["marketplace"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
**Thanks for your feedback!** Please check existing issues first: https://github.com/RooCodeInc/Roo-Code/issues
9+
10+
- type: dropdown
11+
id: feedback-type
12+
attributes:
13+
label: What kind of feedback?
14+
options:
15+
- Problem with existing marketplace item
16+
- Suggestion for new custom mode
17+
- Suggestion for new MCP server
18+
- General marketplace issue
19+
validations:
20+
required: true
21+
22+
- type: dropdown
23+
id: item-type
24+
attributes:
25+
label: Item Type (if applicable)
26+
options:
27+
- Custom Mode
28+
- MCP Server
29+
- Marketplace UI/Functionality
30+
- Not Applicable
31+
validations:
32+
required: false
33+
34+
- type: input
35+
id: item-name
36+
attributes:
37+
label: Item Name (if applicable)
38+
placeholder: e.g., "Debug Mode", "Weather API Server", "Code Formatter"
39+
40+
- type: textarea
41+
id: description
42+
attributes:
43+
label: Description
44+
description: What's the issue or what would you like to see?
45+
placeholder: Clear description of the problem or suggestion
46+
validations:
47+
required: true
48+
49+
- type: textarea
50+
id: additional-info
51+
attributes:
52+
label: Additional Details (optional)
53+
description: Steps to reproduce, expected behavior, screenshots, etc.
54+
placeholder: Any other helpful information
55+
56+
- type: checkboxes
57+
id: checklist
58+
attributes:
59+
label: Checklist
60+
options:
61+
- label: I've searched existing issues for duplicates
62+
required: true

.github/actions/setup-node-pnpm/action.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,21 @@ runs:
2727
uses: pnpm/action-setup@v4
2828
with:
2929
version: ${{ inputs.pnpm-version }}
30+
- name: Get pnpm store directory
31+
shell: bash
32+
run: |
33+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
34+
- name: Setup pnpm cache
35+
uses: actions/cache@v4
36+
with:
37+
path: ${{ env.STORE_PATH }}
38+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
39+
restore-keys: |
40+
${{ runner.os }}-pnpm-store-
3041
- name: Setup Node.js
3142
uses: actions/setup-node@v4
3243
with:
3344
node-version: ${{ inputs.node-version }}
34-
cache: "pnpm"
3545
- name: Install dependencies
3646
if: ${{ inputs.skip-install != 'true' }}
3747
shell: bash

0 commit comments

Comments
 (0)