Skip to content

Commit 775fb7a

Browse files
committed
Enhance documentation and update release notes for Roo Code
- Updated custom modes documentation to clarify the use of `.roo/rules-{mode-slug}/` directories for custom instructions, emphasizing the new directory-based method over the older `.roorules-{mode-slug}` files. - Improved MCP documentation with detailed STDIO and SSE configuration parameters. - Revised read-file tool documentation to clarify auto-truncation behavior and updated examples for reading large text files. - Updated update notes for versions 3.11.8, 3.11.9, and 3.11.10, including bug fixes, improvements, and new features. - Standardized the section titles in various update notes from "Improvements" to "General and QOL Improvements" for consistency. - Added new images for API configuration profiles.
1 parent e67c98c commit 775fb7a

Some content is hidden

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

52 files changed

+251
-126
lines changed

.roomodes

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,18 @@
1818
"roleDefinition": "**Persona: Roo Code Expert Scriptwriter**\n\n**Background:**\nA professional scriptwriter specializing in creating clear, engaging, and informative scripts tailored specifically for YouTube, Reddit tutorials, and documentation videos focused on Roo Code. With a deep understanding of Roo Code’s functionalities and its practical applications, this expert excels at translating complex coding concepts into straightforward, easy-to-follow explanations.\n\n**Communication Style:**\n- Professional yet friendly, fostering trust and approachability.\n- Concise and structured, using precise language to ensure clarity.\n- Logical flow, breaking down complex topics into manageable steps.\n- Engaging tone, designed to maintain viewer interest throughout the video.\n\n**Specialization:**\n- Roo Code’s features and updates\n- Common troubleshooting techniques\n- Step-by-step tutorials for beginners to advanced users\n- Practical use-cases and real-world examples\n\n**Approach:**\n- Start by clearly stating the objective of the script.\n- Provide concise explanations with relatable analogies when helpful.\n- Anticipate common questions and proactively address them.\n- Conclude with actionable insights or suggested next steps for users.\n\n**Tone and Personality:**\n- Knowledgeable and authoritative without being intimidating.\n- Patient and encouraging, ensuring viewers feel capable and supported.\n- Enthusiastic about Roo Code, making viewers excited about learning and implementing the software.\n\n**Goal:**\nTo empower viewers by making Roo Code accessible and easy to master, enhancing their confidence and competence through expert guidance and clear, compelling content.",
1919
"groups": [],
2020
"source": "project"
21+
},
22+
{
23+
"slug": "release-notes-writer",
24+
"name": "Release Notes Writer",
25+
"roleDefinition": "You are a technical writer specializing in creating and maintaining release notes for the Roo Code VS Code extension, specifically within the `docs/update-notes` directory. Your focus is on accuracy, consistency, and clarity, ensuring users can easily understand recent changes. You adhere strictly to the project's release note standards.",
26+
"customInstructions": "**Release Notes (`docs/update-notes`) Standards:**\n\nWhen creating or updating release notes (`.md` files within the `docs/update-notes` directory), adhere to the following standards:\n\n1. **File Naming:**\n * **Patch Releases:** Use the full version number (e.g., `v3.3.1.md`). These files should detail specific bug fixes or minor changes since the last patch or minor release.\n * **Minor/Major Releases:** Use the major.minor version number (e.g., `v3.11.md`). These files should summarize all changes included in that version cycle, including features, improvements, and bug fixes from all associated patch releases (e.g., `v3.11.0`, `v3.11.1`, `v3.11.2`, etc.).\n2. **File Structure (`vX.Y.Z.md` or `vX.Y.md`):**\n * **Title:** The H1 title must follow the format: `# Roo Code X.Y.Z Release Notes (YYYY-MM-DD)` or `# Roo Code X.Y Release Notes (YYYY-MM-DD)`. Ensure the date reflects the release date and is always included.\n * **Summary Sentence:** Include a brief sentence below the title summarizing the key changes in the release. For minor/major releases, this should cover the scope of the entire version cycle.\n * **Section Headings:** Use consistent `##` headings. Recommended headings include:\n * `## Highlights` (for major features or changes, especially in minor/major releases)\n * `## Bug Fixes`\n * `## Improvements` (can include performance, UX, or other enhancements)\n * `## Provider Updates` (for changes related to specific integrations like Cloud providers)\n * `## Documentation Updates`\n * *(Avoid overly generic terms like \"Changes\" or \"Updates\" as section headers)*\n3. **`index.md` File (Main Index):**\n * The main `index.md` file in the `docs/update-notes` directory should list all release versions chronologically (newest first).\n * Each entry should link to the corresponding release note file (e.g., `v3.11.md` for the summary page, `v3.3.1.md` for a specific patch). Use absolute paths from `/docs/` and omit the `.md` extension (e.g., `[3.11.8](/update-notes/v3.11.8)`).\n * Ensure the date `(YYYY-MM-DD)` is included next to each version link.\n4. **Contributor Acknowledgments:** If acknowledging contributors for specific changes (e.g., bug fixes), do so consistently. Add `(thanks username!)` at the end of the relevant bullet point, omitting the `@` symbol.\n5. **Content Style:** Maintain a clear, concise, and informative writing style. Use Markdown formatting correctly (e.g., use backticks `` for code or version numbers). Ensure consistent terminology (e.g., \"release notes\" vs. \"changelog\").\n6. **Sidebar Update (`sidebars.ts`):**\n * When a new **minor release summary page** (e.g., `vX.Y.md`) is created, you **must** update the `sidebars.ts` file.\n * Add the Docusaurus ID for the new page (e.g., `'update-notes/vX.Y'`) to the `items` array within the 'Update Notes' category.",
27+
"groups": [
28+
"read",
29+
"command",
30+
"edit"
31+
],
32+
"source": "project"
2133
}
2234
]
2335
}

docs/advanced-usage/rate-limits-costs.md

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Rate Limits and Costs
22

3-
Understanding and managing API usage is crucial for a smooth and cost-effective experience with Roo Code. This section explains how to track your token usage, costs, and how to configure rate limits.
3+
Understanding and managing API usage is crucial for a smooth and cost-effective experience with Roo Code. This section explains how to track your token usage and costs. Rate limits, which default to 0 (disabled) and typically don't need adjustment, are now configured per profile; see the [API Configuration Profiles](/features/api-configuration-profiles#configuring-rate-limits-per-profile) documentation for details on how to set them if needed.
44

55
## Token Usage
66

7-
Roo Code interacts with AI models using tokens. Tokens are essentially pieces of words. The number of tokens used in a request and response affects both the processing time and the cost.
7+
Roo Code interacts with AI models using tokens. Tokens are essentially pieces of words. The number of tokens used in a request and response affects both the processing time and the cost.
88

99
* **Input Tokens:** These are the tokens in your prompt, including the system prompt, your instructions, and any context provided (e.g., file contents).
1010
* **Output Tokens:** These are the tokens generated by the AI model in its response.
@@ -13,38 +13,23 @@ You can see the number of input and output tokens used for each interaction in t
1313

1414
## Cost Calculation
1515

16-
Most AI providers charge based on the number of tokens used. Pricing varies depending on the provider and the specific model.
16+
Most AI providers charge based on the number of tokens used. Pricing varies depending on the provider and the specific model.
1717

18-
Roo Code automatically calculates the estimated cost of each API request based on the configured model's pricing. This cost is displayed in the chat history, next to the token usage.
18+
Roo Code automatically calculates the estimated cost of each API request based on the configured model's pricing. This cost is displayed in the chat history, next to the token usage.
1919

2020
**Note:**
2121

22-
* The cost calculation is an *estimate*. The actual cost may vary slightly depending on the provider's billing practices.
23-
* Some providers may offer free tiers or credits. Check your provider's documentation for details.
22+
* The cost calculation is an *estimate*. The actual cost may vary slightly depending on the provider's billing practices.
23+
* Some providers may offer free tiers or credits. Check your provider's documentation for details.
2424
* Some providers offer prompt caching which greatly lowers cost.
2525

26-
## Configuring Rate Limits
27-
28-
To prevent accidental overuse of the API and to help you manage costs, Roo Code allows you to set a rate limit. The rate limit specifies the minimum time (in seconds) between API requests.
29-
30-
**How to configure:**
31-
32-
1. Open the Roo Code settings (<Codicon name="rocket" /> icon in the top right corner).
33-
2. Go to the "Advanced Settings" section.
34-
3. Find the "Rate Limit (seconds)" setting.
35-
4. Enter the desired delay in seconds. A value of 0 disables rate limiting.
36-
37-
**Example:**
38-
39-
If you set the rate limit to 10 seconds, Roo Code will wait at least 10 seconds after one API request completes before sending the next one.
40-
4126
## Tips for Optimizing Token Usage
4227

43-
* **Be Concise:** Use clear and concise language in your prompts. Avoid unnecessary words or details.
44-
* **Provide Only Relevant Context:** Use context mentions (`@file.ts`, `@folder/`) selectively. Only include the files that are directly relevant to the task.
28+
* **Be Concise:** Use clear and concise language in your prompts. Avoid unnecessary words or details.
29+
* **Provide Only Relevant Context:** Use context mentions (`@file.ts`, `@folder/`) selectively. Only include the files that are directly relevant to the task.
4530
* **Break Down Tasks:** Divide large tasks into smaller, more focused sub-tasks.
46-
* **Use Custom Instructions:** Provide custom instructions to guide Roo Code's behavior and reduce the need for lengthy explanations in each prompt.
47-
* **Choose the Right Model:** Some models are more cost-effective than others. Consider using a smaller, faster model for tasks that don't require the full power of a larger model.
31+
* **Use Custom Instructions:** Provide custom instructions to guide Roo Code's behavior and reduce the need for lengthy explanations in each prompt.
32+
* **Choose the Right Model:** Some models are more cost-effective than others. Consider using a smaller, faster model for tasks that don't require the full power of a larger model.
4833
* **Use Modes:** Different modes can access different tools, for example `Architect` can't modify code, which makes it a safe choice when analyzing a complex codebase, without worrying about accidentally allowing expensive operations.
4934
* **Disable MCP If Not Used:** If you're not using MCP (Model Context Protocol) features, consider [disabling it in the MCP settings](/features/mcp/using-mcp-in-roo#enabling-or-disabling-mcp-server-creation) to significantly reduce the size of the system prompt and save tokens.
5035

docs/features/api-configuration-profiles.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Configuration profiles can have their own:
1414
- [Temperature settings](/features/model-temperature) for controlling response randomness
1515
- Thinking budgets
1616
- Provider-specific settings
17+
- Rate limit settings
1718

1819
Note that available settings vary by provider and model. Each provider offers different configuration options, and even within the same provider, different models may support different parameter ranges or features.
1920

@@ -38,10 +39,14 @@ Note that available settings vary by provider and model. Each provider offers di
3839
- Choose a model
3940

4041
<img src="/img/api-configuration-profiles/api-configuration-profiles-8.png" alt="Model selection interface" width="550" />
41-
- Adjust model parameters
42-
43-
<img src="/img/api-configuration-profiles/api-configuration-profiles-5.png" alt="Model parameter adjustment controls" width="550" />
42+
- Configure the **Rate Limit** for this profile:
43+
- **Default is 0 (disabled), which is suitable for most users.** If needed, you can set a minimum time (in seconds) between API requests *for this profile* to help manage costs or avoid provider rate limits.
44+
- A value of 0 disables rate limiting (default).
45+
- Requests using other profiles follow their own rate limits.
4446

47+
<img src="/img/api-configuration-profiles/api-configuration-profiles-12.png" alt="Rate limit slider control within API profile settings" width="550" />
48+
- Adjust model parameters (like [temperature](/features/model-temperature))
49+
4550
### Switching Profiles
4651

4752
Switch profiles in two ways:
@@ -86,5 +91,5 @@ API keys are stored securely in VSCode's Secret Storage and are never exposed in
8691
- Works with [custom modes](/features/custom-modes) you create
8792
- Integrates with [local models](/advanced-usage/local-models) for offline work
8893
- Supports [temperature settings](/features/model-temperature) per mode
89-
- Enhances cost management with [rate limits and usage tracking](/advanced-usage/rate-limits-costs)
94+
- Supports per-profile rate limits (configured here) and general [usage tracking/cost info](/advanced-usage/rate-limits-costs)
9095

docs/features/custom-instructions.md

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,17 @@ These instructions apply across all workspaces and maintain your preferences reg
2424

2525
These instructions only apply within your current workspace, allowing you to customize Roo Code's behavior for specific projects.
2626

27-
#### Workspace-Wide Instructions
27+
#### Workspace-Wide Instructions via Files/Directories
2828

29-
Workspace-wide instructions can be defined in a `.roorules` file in your workspace root.
29+
Workspace-wide instructions apply to all modes within the current project and can be defined using files:
30+
31+
* **Preferred Method: Directory-Based (`.roo/rules/`)**
32+
* Create a directory named `.roo/rules/` in your workspace root.
33+
* Place instruction files (e.g., `.md`, `.txt`) inside. Roo Code reads files recursively, appending their content to the system prompt in **alphabetical order** based on filename.
34+
* This method takes precedence if the directory exists and contains files.
35+
* **Fallback Method: File-Based (`.roorules`)**
36+
* If `.roo/rules/` doesn't exist or is empty, Roo Code looks for a single `.roorules` file in the workspace root.
37+
* If found, its content is loaded.
3038

3139
#### Mode-Specific Instructions
3240

@@ -44,9 +52,16 @@ Mode-specific instructions can be set in two independent ways that can be used s
4452
If the mode itself is global (not workspace-specific), any custom instructions you set for it will also apply globally for that mode across all workspaces.
4553
:::
4654

47-
2. **Using Rule Files:** Create a `.roorules-[mode]` file in your workspace root (e.g., `.roorules-code`)
55+
2. **Using Rule Files/Directories:** Provide mode-specific instructions via files:
56+
* **Preferred Method: Directory-Based (`.roo/rules-{modeSlug}/`)**
57+
* Create a directory named `.roo/rules-{modeSlug}/` (e.g., `.roo/rules-docs-writer/`) in your workspace root.
58+
* Place instruction files inside (recursive loading). Files are read and appended to the system prompt in **alphabetical order** by filename.
59+
* This method takes precedence over the fallback file method for the specific mode if the directory exists and contains files.
60+
* **Fallback Method: File-Based (`.roorules-{modeSlug}`)**
61+
* If `.roo/rules-{modeSlug}/` doesn't exist or is empty, Roo Code looks for a single `.roorules-{modeSlug}` file (e.g., `.roorules-code`) in the workspace root.
62+
* If found, its content is loaded for that mode.
4863

49-
When both tab instructions and rule files are set for a mode, both sets of instructions will be included in the system prompt.
64+
Instructions from the Prompts tab, the mode-specific directory/file, and the workspace-wide directory/file are all combined. See the section below for the exact order.
5065

5166
## How Instructions are Combined
5267

@@ -55,19 +70,31 @@ Instructions are placed in the system prompt in this exact format:
5570
```
5671
====
5772
USER'S CUSTOM INSTRUCTIONS
73+
5874
The following additional instructions are provided by the user, and should be followed to the best of your ability without interfering with the TOOL USE guidelines.
75+
5976
[Language Preference (if set)]
60-
[Global Instructions]
61-
[Mode-specific Instructions]
6277
63-
Rules:
64-
[.roorules-{mode} rules]
65-
[.roorules rules]
78+
[Global Instructions (from Prompts Tab)]
79+
80+
[Mode-specific Instructions (from Prompts Tab for the current mode)]
81+
82+
Mode-Specific Instructions (from Files/Directories):
83+
[Contents of files in .roo/rules-{modeSlug}/ (if directory exists and is not empty)]
84+
[Contents of .roorules-{modeSlug} file (if .roo/rules-{modeSlug}/ does not exist or is empty, and file exists)]
85+
86+
Workspace-Wide Instructions (from Files/Directories):
87+
[Contents of files in .roo/rules/ (if directory exists and is not empty)]
88+
[Contents of .roorules file (if .roo/rules/ does not exist or is empty, and file exists)]
89+
90+
====
6691
```
6792

93+
*Note: The exact order ensures that more specific instructions (mode-level) appear before more general ones (workspace-wide), and directory-based rules take precedence over file-based fallbacks within each level.*
94+
6895
## Rules about .rules files
6996

70-
* **File Location:** All rule files must be placed in the workspace root directory
97+
* **File Location:** The preferred method uses directories within `.roo/` (`.roo/rules/` and `.roo/rules-{modeSlug}/`). The fallback method uses single files (`.roorules` and `.roorules-{modeSlug}`) located directly in the workspace root.
7198
* **Empty Files:** Empty or missing rule files are silently skipped
7299
* **Source Headers:** Each rule file's contents are included with a header indicating its source
73100
* **Rule Interaction:** Mode-specific rules complement global rules rather than replacing them
@@ -83,7 +110,7 @@ Rules:
83110
* "When adding new features to websites, ensure they are responsive and accessible"
84111

85112
:::tip Pro Tip: File-Based Team Standards
86-
When working in team environments, placing `.roorules` files under version control allows you to standardize Roo's behavior across your entire development team. This ensures consistent code style, documentation practices, and development workflows for everyone on the project.
113+
When working in team environments, using the `.roo/rules/` directory structure (and potentially `.roo/rules-{modeSlug}/` directories for specific modes) under version control is the recommended way to standardize Roo's behavior across your team. This allows for better organization of multiple instruction files and ensures consistent code style, documentation practices, and development workflows. The older `.roorules` file method can still be used but offers less flexibility.
87114
:::
88115

89116
## Combining with Custom Modes

0 commit comments

Comments
 (0)