Skip to content

Commit 0f7cad1

Browse files
committed
Merge remote-tracking branch 'origin/main' into feature/2122-editor-focus
# Conflicts: # packages/types/src/global-settings.ts # packages/types/src/provider-settings.ts # src/core/tools/__tests__/writeToFileTool.spec.ts # src/core/tools/writeToFileTool.ts # src/integrations/editor/DiffViewProvider.ts # src/integrations/editor/__tests__/DiffViewProvider.test.ts # src/package.json # src/package.nls.json
2 parents f797f9d + dc44e7a commit 0f7cad1

File tree

1,131 files changed

+79781
-32544
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,131 files changed

+79781
-32544
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/
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
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

.github/pull_request_template.md

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,37 +30,15 @@ Detail the steps to test your changes. This helps reviewers verify your work.
3030
- Include relevant testing environment details if applicable.
3131
-->
3232

33-
### Type of Change
34-
35-
<!-- Mark all applicable boxes with an 'x'. -->
36-
37-
- [ ] 🐛 **Bug Fix**: Non-breaking change that fixes an issue.
38-
- [ ]**New Feature**: Non-breaking change that adds functionality.
39-
- [ ] 💥 **Breaking Change**: Fix or feature that would cause existing functionality to not work as expected.
40-
- [ ] ♻️ **Refactor**: Code change that neither fixes a bug nor adds a feature.
41-
- [ ] 💅 **Style**: Changes that do not affect the meaning of the code (white-space, formatting, etc.).
42-
- [ ] 📚 **Documentation**: Updates to documentation files.
43-
- [ ] ⚙️ **Build/CI**: Changes to the build process or CI configuration.
44-
- [ ] 🧹 **Chore**: Other changes that don't modify `src` or test files.
45-
4633
### Pre-Submission Checklist
4734

4835
<!-- Go through this checklist before marking your PR as ready for review. -->
4936

5037
- [ ] **Issue Linked**: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
5138
- [ ] **Scope**: My changes are focused on the linked issue (one major feature/fix per PR).
5239
- [ ] **Self-Review**: I have performed a thorough self-review of my code.
53-
- [ ] **Code Quality**:
54-
- [ ] My code adheres to the project's style guidelines.
55-
- [ ] There are no new linting errors or warnings (`npm run lint`).
56-
- [ ] All debug code (e.g., `console.log`) has been removed.
57-
- [ ] **Testing**:
58-
- [ ] New and/or updated tests have been added to cover my changes.
59-
- [ ] All tests pass locally (`npm test`).
60-
- [ ] The application builds successfully with my changes.
61-
- [ ] **Branch Hygiene**: My branch is up-to-date (rebased) with the `main` branch.
40+
- [ ] **Testing**: New and/or updated tests have been added to cover my changes (if applicable).
6241
- [ ] **Documentation Impact**: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
63-
- [ ] **Changeset**: A changeset has been created using `npm run changeset` if this PR includes user-facing changes or dependency updates.
6442
- [ ] **Contribution Guidelines**: I have read and agree to the [Contributor Guidelines](/CONTRIBUTING.md).
6543

6644
### Screenshots / Videos

.github/workflows/evals.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
EOF
4242
4343
- name: Build image
44-
uses: docker/build-push-action@v5
44+
uses: docker/build-push-action@v6
4545
with:
4646
context: .
4747
file: packages/evals/Dockerfile.runner

.github/workflows/website-deploy.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,24 @@ env:
1313
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
1414

1515
jobs:
16+
check-secrets:
17+
runs-on: ubuntu-latest
18+
outputs:
19+
has-vercel-token: ${{ steps.check.outputs.has-vercel-token }}
20+
steps:
21+
- name: Check if VERCEL_TOKEN exists
22+
id: check
23+
run: |
24+
if [ -n "${{ secrets.VERCEL_TOKEN }}" ]; then
25+
echo "has-vercel-token=true" >> $GITHUB_OUTPUT
26+
else
27+
echo "has-vercel-token=false" >> $GITHUB_OUTPUT
28+
fi
29+
1630
deploy:
1731
runs-on: ubuntu-latest
18-
if: ${{ secrets.VERCEL_TOKEN != '' }}
32+
needs: check-secrets
33+
if: ${{ needs.check-secrets.outputs.has-vercel-token == 'true' }}
1934
steps:
2035
- name: Checkout code
2136
uses: actions/checkout@v4

0 commit comments

Comments
 (0)