You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Copy file name to clipboardExpand all lines: .roomodes
+12Lines changed: 12 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,18 @@
18
18
"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.",
19
19
"groups": [],
20
20
"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.",
Copy file name to clipboardExpand all lines: docs/advanced-usage/rate-limits-costs.md
+10-25Lines changed: 10 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
# Rate Limits and Costs
2
2
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.
4
4
5
5
## Token Usage
6
6
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.
8
8
9
9
***Input Tokens:** These are the tokens in your prompt, including the system prompt, your instructions, and any context provided (e.g., file contents).
10
10
***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
13
13
14
14
## Cost Calculation
15
15
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.
17
17
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.
19
19
20
20
**Note:**
21
21
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.
24
24
* Some providers offer prompt caching which greatly lowers cost.
25
25
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 (<Codiconname="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
-
41
26
## Tips for Optimizing Token Usage
42
27
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.
45
30
***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.
48
33
***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.
49
34
***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.
Copy file name to clipboardExpand all lines: docs/features/api-configuration-profiles.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,7 @@ Configuration profiles can have their own:
14
14
-[Temperature settings](/features/model-temperature) for controlling response randomness
15
15
- Thinking budgets
16
16
- Provider-specific settings
17
+
- Rate limit settings
17
18
18
19
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.
19
20
@@ -38,10 +39,14 @@ Note that available settings vary by provider and model. Each provider offers di
-**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.
44
46
47
+
<imgsrc="/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
+
45
50
### Switching Profiles
46
51
47
52
Switch profiles in two ways:
@@ -86,5 +91,5 @@ API keys are stored securely in VSCode's Secret Storage and are never exposed in
86
91
- Works with [custom modes](/features/custom-modes) you create
87
92
- Integrates with [local models](/advanced-usage/local-models) for offline work
88
93
- 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)
* 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.
30
38
31
39
#### Mode-Specific Instructions
32
40
@@ -44,9 +52,16 @@ Mode-specific instructions can be set in two independent ways that can be used s
44
52
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.
45
53
:::
46
54
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:
* 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.
48
63
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.
50
65
51
66
## How Instructions are Combined
52
67
@@ -55,19 +70,31 @@ Instructions are placed in the system prompt in this exact format:
55
70
```
56
71
====
57
72
USER'S CUSTOM INSTRUCTIONS
73
+
58
74
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
+
59
76
[Language Preference (if set)]
60
-
[Global Instructions]
61
-
[Mode-specific Instructions]
62
77
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)]
[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
+
====
66
91
```
67
92
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
+
68
95
## Rules about .rules files
69
96
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.
71
98
***Empty Files:** Empty or missing rule files are silently skipped
72
99
***Source Headers:** Each rule file's contents are included with a header indicating its source
73
100
***Rule Interaction:** Mode-specific rules complement global rules rather than replacing them
@@ -83,7 +110,7 @@ Rules:
83
110
* "When adding new features to websites, ensure they are responsive and accessible"
84
111
85
112
:::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.
0 commit comments