Skip to content

Commit 21982b3

Browse files
committed
feat: add Concurrent File Reads feature and Marketplace documentation
1 parent d08a623 commit 21982b3

File tree

8 files changed

+175
-147
lines changed

8 files changed

+175
-147
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Concurrent File Reads
2+
3+
The Concurrent File Reads feature allows Roo to read multiple files from your workspace in a single step. This significantly improves efficiency when working on tasks that require context from several files, as Roo can gather all the necessary information at once instead of reading files one by one.
4+
5+
### Key Features
6+
- Read up to 100 files in a single request.
7+
- Enabled by default for a faster, more streamlined workflow.
8+
- Configurable to allow disabling the feature or changing the concurrency limit.
9+
10+
## Benefits
11+
12+
- **Increased Speed**: Reduces the time it takes for Roo to understand your code by minimizing the number of back-and-forth steps.
13+
- **Better Context**: Allows Roo to build a more complete mental model of your code, leading to more accurate and relevant responses.
14+
- **Improved Workflow**: Streamlines tasks that require information from multiple files, making you more productive.
15+
16+
---
17+
18+
## Why This Matters
19+
20+
**Faster Context Building**: Previously, when Roo needed to understand your project, you'd see multiple requests like:
21+
- "Can I read `src/app.js`?" → You approve
22+
- "Now can I read `src/utils.js`?" → You approve
23+
- "And can I read `src/config.json`?" → You approve
24+
25+
**With concurrent file reads**: Roo asks once to read all related files together, getting the full picture immediately and providing better assistance faster.
26+
27+
## How it Works
28+
29+
When you ask Roo to perform a task that involves multiple files, it will automatically identify the relevant files and read them together. This is especially useful for:
30+
31+
- Understanding the overall structure of a component that is split across multiple files.
32+
- Refactoring code that has dependencies in other parts of the codebase.
33+
- Answering questions that require a broad understanding of your project.
34+
35+
Roo is instructed to use this feature efficiently by prioritizing the most critical files and reading them in a single batch. The [`read_file`](/advanced-usage/available-tools/read-file) tool automatically accepts multiple files in a single request.
36+
37+
When Roo requests to read multiple files, you'll see a batch approval interface that displays:
38+
39+
- List of all files to be read
40+
- File paths with line range indicators (if specified)
41+
- Clickable file headers to open files in your editor
42+
- **Approve All** and **Deny All** buttons for quick decisions
43+
44+
---
45+
46+
## Configuration
47+
48+
You can configure the Multi-File Read feature by clicking the <Codicon name="gear" /> icon and navigating to the "Context" section of the settings.
49+
50+
<img src="/img/concurrent-file-reads/concurrent-file-reads.png" alt="Concurrent file reads settings" width="600" />
51+
52+
1. **Enable/Disable Concurrent File Reads**:
53+
* **Setting**: `Enable concurrent file reads`
54+
* **Description**: This toggle switch controls whether Roo can read multiple files at once. It is enabled by default. You might want to disable this if you are using a less capable model or if you prefer to have more granular control over which files Roo is accessing.
55+
56+
2. **Concurrent File Reads Limit**:
57+
* **Setting**: `Concurrent file reads limit`
58+
* **Description**: This setting determines the maximum number of files that Roo can read in a single request. The default is 15, but it can be set to a maximum of 100. Higher values can speed up tasks involving many small files but may use more memory.

docs/features/experimental/concurrent-file-reads.md

Lines changed: 0 additions & 145 deletions
This file was deleted.

docs/features/experimental/experimental-features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ To enable or disable experimental features:
1717
The following experimental features are currently available:
1818

1919
- [Codebase Indexing](/features/experimental/codebase-indexing) - Semantic search through AI-powered codebase indexing
20-
- [Concurrent File Reads](/features/experimental/concurrent-file-reads) - Read multiple files simultaneously for improved efficiency
2120
- [Power Steering](/features/experimental/power-steering)
21+
- [Marketplace](/features/marketplace) - Discover and install modes and MCP servers to extend Roo Code
2222

2323
## Providing Feedback
2424

docs/features/marketplace.mdx

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: Marketplace
3+
description: Discover and install modes and MCPs to extend Roo Code's capabilities
4+
---
5+
import Codicon from '@site/src/components/Codicon';
6+
7+
# Roo Code Marketplace
8+
9+
## Overview
10+
11+
The Roo Code Marketplace is a central hub for discovering and installing community-contributed extensions, known as Modes and MCPs (Model Context Protocol). It allows you to easily extend the functionality of Roo Code to fit your specific needs and workflows.
12+
13+
### Key Features
14+
- **Discoverability**: Browse a curated list of Modes and MCPs.
15+
- **Simple Installation**: Install and remove items with a single click.
16+
- **Community-Driven**: Access a growing collection of extensions from the Roo Code community.
17+
- **Project & Global Scopes**: Install items for a specific project or for all your projects.
18+
19+
### Target Audiences
20+
- **End Users**: Anyone using Roo Code who wants to customize their experience with new Modes or connect to new AI models and tools via MCPs.
21+
- **Developers**: Developers who want to share their own Modes and MCPs with the community.
22+
23+
---
24+
25+
## Getting Started
26+
27+
The Roo Code Marketplace is available directly within the Roo Code extension in VS Code. You can access it from the Roo Code sidebar.
28+
29+
:::warning Experimental Feature
30+
The Marketplace is an experimental feature and must be enabled in settings.
31+
32+
1. Open Roo Code settings (<Codicon name="gear" />).
33+
2. Navigate to **Roo Code > Experimental Settings**.
34+
3. Enable the **Marketplace** option.
35+
36+
See the main [Experimental Features](/features/experimental/experimental-features) page for more information.
37+
:::
38+
39+
---
40+
41+
## Marketplace Items
42+
43+
The marketplace offers two types of items:
44+
45+
### Modes
46+
Modes are custom sets of instructions and rules that tailor Roo Code's behavior for specific tasks. For example, you might find a "React Component" mode that is optimized for creating React components, or a "Documentation Writer" mode for writing technical documentation.
47+
48+
### MCPs (Model Context Protocol)
49+
MCPs allow Roo Code to connect to and interact with various AI models, APIs, and other external tools. By installing an MCP, you can configure Roo Code to use different language models (like those from OpenAI, Anthropic, or others) or to integrate with other services.
50+
51+
---
52+
53+
## Installation Scope
54+
55+
When you install an item from the marketplace, you can choose to install it at the project level or the global level.
56+
57+
### Project Installation
58+
- **Scope**: The item is only available within the current VS Code workspace (your project).
59+
- **Configuration File**:
60+
- **Modes**: `.roomodes` in the root of your project.
61+
- **MCPs**: `.roo/mcp.json` in the root of your project.
62+
- **Use Case**: This is useful when an item is specific to a particular project's needs or when you want to share a project-specific configuration with your team.
63+
64+
### Global Installation
65+
- **Scope**: The item is available across all your VS Code workspaces.
66+
- **Configuration File**:
67+
- **Modes**: `custom-modes.yaml` in the Roo Code extension's global settings directory.
68+
- **MCPs**: `mcp-settings.json` in the Roo Code extension's global settings directory.
69+
- **Use Case**: This is ideal for items that you want to use in all your projects, such as a favorite Mode or a commonly used MCP.
70+
71+
---
72+
73+
## Using the Marketplace
74+
75+
### Browsing and Filtering
76+
You can browse all available items in the marketplace view. To find specific items, you can:
77+
- **Search**: Use the search bar to find items by name or description.
78+
- **Filter by Type**: Filter to show only Modes or only MCPs.
79+
- **Filter by Tags**: Filter by tags to find items related to specific technologies or tasks.
80+
81+
### Installing an Item
82+
1. Find the item you want to install.
83+
2. Click the "Install" button.
84+
3. If prompted, choose whether to install it for the current **Project** or **Globally**.
85+
4. For some MCPs, you may be asked to provide additional parameters (see [Parameterized MCPs](#parameterized-mcps)).
86+
5. Roo Code will automatically add the item to the appropriate configuration file and notify you upon successful installation. The configuration file will be opened for your review.
87+
88+
### Removing an Item
89+
1. Find the installed item in the marketplace view.
90+
2. Click the "Uninstall" button.
91+
3. Roo Code will remove the item from the corresponding configuration file.
92+
93+
### Parameterized MCPs
94+
Some MCPs require you to provide specific information during installation, such as an API key or a URL. These are called "parameterized" MCPs.
95+
96+
When you install a parameterized MCP, you will be prompted to enter the required values. This allows for a more flexible and secure way to configure MCPs without hardcoding sensitive information.
97+
98+
---
99+
100+
## Troubleshooting
101+
102+
### Installation Errors
103+
- **Invalid YAML/JSON**: If you see an error about invalid YAML or JSON, it means the configuration file (`.roomodes`, `.roo/mcp.json`, etc.) has a syntax error. You will need to fix the error in the file before you can install or remove items.
104+
- **File Not Found**: This error should not typically occur, as Roo Code will create the necessary configuration files if they don't exist.
105+
106+
### Item Not Working
107+
If you've installed an item but it doesn't seem to be working:
108+
- **Check the configuration file**: Ensure the item was added correctly.
109+
- **Restart VS Code**: Sometimes a restart is necessary to load new configurations.
110+
- **Check for prerequisites**: Some items may have prerequisites listed in their description.

docusaurus.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ const config: Config = {
118118
to: '/features/experimental/experimental-features',
119119
from: ['/advanced-usage/experimental-features'],
120120
},
121+
{
122+
to: '/features/concurrent-file-reads',
123+
from: ['/features/experimental/concurrent-file-reads'],
124+
},
121125
{
122126
to: '/features/model-temperature',
123127
from: ['/advanced-usage/model-temperature'],

sidebars.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const sidebars: SidebarsConfig = {
3535
'features/intelligent-context-condensing',
3636
'features/keyboard-shortcuts',
3737
'features/model-temperature',
38+
'features/concurrent-file-reads',
3839
'features/rooignore',
3940
'features/settings-management',
4041
'features/shell-integration',
@@ -61,8 +62,8 @@ const sidebars: SidebarsConfig = {
6162
items: [
6263
'features/experimental/experimental-features',
6364
'features/experimental/codebase-indexing',
64-
'features/experimental/concurrent-file-reads',
6565
'features/experimental/power-steering',
66+
'features/marketplace',
6667
],
6768
},
6869
'features/more-features',
48.7 KB
Loading
25.9 KB
Loading

0 commit comments

Comments
 (0)