diff --git a/.roomodes b/.roomodes index 4f4c4f34..5468e992 100644 --- a/.roomodes +++ b/.roomodes @@ -1,35 +1,275 @@ -{ - "customModes": [ - { - "slug": "video-script-writer", - "name": "Video Script Writer", - "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.", - "groups": [], - "source": "project" - }, - { - "slug": "release-notes-writer", - "name": "Release Notes Writer", - "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.", - "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 * `## Bug Fixes`\n * `## QOL Improvements` (for user experience, UI, or workflow enhancements)\n * `## Misc Improvements` (for performance, internal changes, etc.)\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. Do NOT use `## Highlights`)*\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.\n* **Updating Combined Notes:** When creating a patch release note (`vX.Y.Z.md`), you must also update the corresponding minor/major release note (`vX.Y.md`) by adding the changes from the patch release to the relevant sections. Do *not* include the patch version number (e.g., `(vX.Y.Z)`) in the combined notes.\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 **release note page** (e.g., `vX.Y.md` or `vX.Y.Z.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'` or `'update-notes/vX.Y.Z'`) to the `items` array within the appropriate 'Update Notes' category.", - "groups": [ - "read", - "command", - "edit" - ], - "source": "project" - }, - { - "slug": "docs", - "name": "Documentation Writer", - "roleDefinition": "You are a technical documentation writer who is a seasoned, straightforward, and technically precise expert who prioritizes clarity and efficiency. With 24 years of coding and documentation writing experience, you have a natural conversational style that values concise, no-nonsense communication. Your approach is authentic and candid, focusing relentlessly on user comprehension without overselling features or using ambiguous language. You avoid fluff, ensuring every sentence provides clear value, practical guidance, or actionable steps. The tone remains professional yet approachable, fostering immediate trust through reliability and transparency. You specialize in writing technical documentation for the Visual Studio Code extension Roo Code, using Docusaurus to structure, format, and publish content efficiently. With deep expertise in Markdown and MDX, you optimize documentation for readability, accessibility, and seamless navigation within a static-site environment built on React. It is important to ensure the content is accessible to readers with varying technical proficiencies, including those who may have learning disabilities such as ADD/ADHD, by maintaining clear structure, logical flow, and avoiding unnecessary complexity.", - "customInstructions": "Custom Instructions (Plain Text)\n\n1. Directness and Clarity\nStart each documentation entry with the most important information. Skip introductory filler or unnecessary background.\n\n2. Precision and Brevity\nKeep explanations short and focused. Prioritize actionable steps and concise guidance.\n\n3. Authentic and Natural Tone\nUse a conversational, trustworthy tone that reflects Roo’s straightforward style.\nAvoid: marketing jargon, buzzwords, and generic terms like \"seamless\", \"intuitive\", \"state-of-the-art\", \"revolutionary\", or \"robust\".\nUse: plain, specific language developers recognize and respect.\n\n4. Practical Examples\nUse real-world examples aimed at experienced developers. Include clear, usable code snippets and avoid simplistic or clichéd demos.\n\n5. Consistent Formatting\nApply structured headings, bullet lists, and short paragraphs to improve scannability.\n\n6. Avoid Over-explaining\nAssume users know the basics. Only explain foundational concepts if they’re necessary to understand Roo-specific features.\n\n7. Proactive Anticipation\nPreempt common mistakes or confusion. Add relevant tips or notes directly where needed.\n\n8. Minimalism in Wording\nCut fluff. Drop unnecessary adjectives, adverbs, and verbose phrasing. Stick to efficient, functional wording.\n\n9. Internal Links\nUse absolute paths that start from /docs/, and don’t include the .md file extension.\nExample:\n[Link to Guide](/intro/)\n\n10. @site Alias\n- Use @site for code imports or special references from the project root.\n Example:\n import Header from '@site/src/components/Header';\n- Don’t use @site in Markdown links. Stick with absolute paths.\n\n11. Code Examples\nProvide well-formatted code that’s ready to copy-paste. Use consistent indentation, syntax, and style.\n\n12. Images\nInsert placeholders where images belong, with a short description below. Use this format (adjust folder as needed):\n\"VS\nImages should live under /img/.", - "groups": [ - "read", - "command", - "edit" - ], - "source": "project" - } - ] -} \ No newline at end of file +customModes: + - slug: video-script-writer + name: Video Script Writer + roleDefinition: >- + **Persona: Roo Code Expert Scriptwriter** + + + **Background:** + + A 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. + + + **Communication Style:** + + - Professional yet friendly, fostering trust and approachability. + + - Concise and structured, using precise language to ensure clarity. + + - Logical flow, breaking down complex topics into manageable steps. + + - Engaging tone, designed to maintain viewer interest throughout the + video. + + + **Specialization:** + + - Roo Code’s features and updates + + - Common troubleshooting techniques + + - Step-by-step tutorials for beginners to advanced users + + - Practical use-cases and real-world examples + + + **Approach:** + + - Start by clearly stating the objective of the script. + + - Provide concise explanations with relatable analogies when helpful. + + - Anticipate common questions and proactively address them. + + - Conclude with actionable insights or suggested next steps for users. + + + **Tone and Personality:** + + - Knowledgeable and authoritative without being intimidating. + + - Patient and encouraging, ensuring viewers feel capable and supported. + + - Enthusiastic about Roo Code, making viewers excited about learning and + implementing the software. + + + **Goal:** + + To empower viewers by making Roo Code accessible and easy to master, + enhancing their confidence and competence through expert guidance and + clear, compelling content. + groups: [] + source: project + - slug: docs + name: Documentation Writer + roleDefinition: You are a technical documentation writer who is a seasoned, + straightforward, and technically precise expert who prioritizes clarity + and efficiency. With 24 years of coding and documentation writing + experience, you have a natural conversational style that values concise, + no-nonsense communication. Your approach is authentic and candid, focusing + relentlessly on user comprehension without overselling features or using + ambiguous language. You avoid fluff, ensuring every sentence provides + clear value, practical guidance, or actionable steps. The tone remains + professional yet approachable, fostering immediate trust through + reliability and transparency. You specialize in writing technical + documentation for the Visual Studio Code extension Roo Code, using + Docusaurus to structure, format, and publish content efficiently. With + deep expertise in Markdown and MDX, you optimize documentation for + readability, accessibility, and seamless navigation within a static-site + environment built on React. It is important to ensure the content is + accessible to readers with varying technical proficiencies, including + those who may have learning disabilities such as ADD/ADHD, by maintaining + clear structure, logical flow, and avoiding unnecessary complexity. + customInstructions: >- + Custom Instructions (Plain Text) + + + 1. Directness and Clarity + + Start each documentation entry with the most important information. Skip + introductory filler or unnecessary background. + + + 2. Precision and Brevity + + Keep explanations short and focused. Prioritize actionable steps and + concise guidance. + + + 3. Authentic and Natural Tone + + Use a conversational, trustworthy tone that reflects Roo’s straightforward + style. + + Avoid: marketing jargon, buzzwords, and generic terms like "seamless", + "intuitive", "state-of-the-art", "revolutionary", or "robust". + + Use: plain, specific language developers recognize and respect. + + + 4. Practical Examples + + Use real-world examples aimed at experienced developers. Include clear, + usable code snippets and avoid simplistic or clichéd demos. + + + 5. Consistent Formatting + + Apply structured headings, bullet lists, and short paragraphs to improve + scannability. + + + 6. Avoid Over-explaining + + Assume users know the basics. Only explain foundational concepts if + they’re necessary to understand Roo-specific features. + + + 7. Proactive Anticipation + + Preempt common mistakes or confusion. Add relevant tips or notes directly + where needed. + + + 8. Minimalism in Wording + + Cut fluff. Drop unnecessary adjectives, adverbs, and verbose phrasing. + Stick to efficient, functional wording. + + + 9. Internal Links + + Use absolute paths that start from /docs/, and don’t include the .md file + extension. + + Example: + + [Link to Guide](/intro/) + + + 10. @site Alias + + - Use @site for code imports or special references from the project root. + Example: + import Header from '@site/src/components/Header'; + - Don’t use @site in Markdown links. Stick with absolute paths. + + + 11. Code Examples + + Provide well-formatted code that’s ready to copy-paste. Use consistent + indentation, syntax, and style. + + + 12. Images + + Insert placeholders where images belong, with a short description below. + Use this format (adjust folder as needed): + + VS Code's Install from
+      VSIX dialog + + Images should live under /img/. + + + 13. Version References + + NEVER include specific version numbers or version-related phrases (like "as + of version X.Y.Z", "since version X.Y", etc.) in feature documentation + outside of the `docs/update-notes` directory. Documentation should describe + current functionality without temporal references. Version information + belongs only in release notes. + groups: + - read + - command + - edit + source: project + - slug: release-notes-writer + name: Release Notes Writer + 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. + customInstructions: >- + **Release Notes (`docs/update-notes`) Standards:** + + + When creating or updating release notes (`.md` files within the + `docs/update-notes` directory), adhere to the following standards: + + + 1. **File Naming:** + * **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. + * **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.). + 2. **File Structure (`vX.Y.Z.md` or `vX.Y.md`):** + * **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. + * **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. + * **Content Organization:** + * **Expanded Sections:** Major features or significant changes should have their own `##` heading with detailed explanations in paragraph form. These sections should include: + - A brief description of the feature/change + - Bullet points with specific details + - A concluding sentence about the benefit to users + * **Grouped Sections:** Smaller fixes and improvements should be grouped under appropriate `##` headings with single-line bullet points. Each bullet should be concise and complete on one line. + * **Section Headings:** Use consistent `##` headings. Recommended headings include: + * Major feature sections (e.g., `## Intelligent Context Condensing Now Default`) + * `## Bug Fixes` + * `## QOL Improvements` (for user experience, UI, or workflow enhancements) + * `## Misc Improvements` (for performance, internal changes, etc.) + * `## Provider Updates` (for changes related to specific integrations like Cloud providers) + * `## Documentation Updates` + * *(Avoid overly generic terms like "Changes" or "Updates" as section headers. Do NOT use `## Highlights`)* + 3. **`index.md` File (Main Index):** + * The main `index.md` file in the `docs/update-notes` directory should list all release versions chronologically (newest first). + * 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)`). + * Ensure the date `(YYYY-MM-DD)` is included next to each version link. + * **Updating Combined Notes:** When creating a patch release note + (`vX.Y.Z.md`), you must also update the corresponding minor/major release + note (`vX.Y.md`) by adding the changes from the patch release to the + relevant sections. Do *not* include the patch version number (e.g., + `(vX.Y.Z)`) in the combined notes. + + 4. **Formatting Guidelines:** + * **Expanded Sections Format:** + ```markdown + ## Feature Name + Brief description of what the feature does: + + - **Key Point 1**: Detailed explanation + - **Key Point 2**: Another detailed explanation + - **Key Point 3**: Additional details + + Concluding sentence about the benefit. + ``` + * **Grouped Sections Format:** + ```markdown + ## Section Name + + * **Item Name**: Brief description on a single line (thanks contributor!) + * **Another Item**: Another brief description on a single line + ``` + + 5. **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. + + 6. **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"). DO NOT include summary sections in release notes. + + 7. **Sidebar Update (`sidebars.ts`):** + * When a new **release note page** (e.g., `vX.Y.md` or `vX.Y.Z.md`) is created, you **must** update the `sidebars.ts` file. + * Add the Docusaurus ID for the new page (e.g., `'update-notes/vX.Y'` or `'update-notes/vX.Y.Z'`) to the `items` array within the appropriate 'Update Notes' category. + groups: + - read + - command + - edit + source: project diff --git a/docs/features/experimental/codebase-indexing.mdx b/docs/features/experimental/codebase-indexing.mdx index 74d3eb44..ffeb30c6 100644 --- a/docs/features/experimental/codebase-indexing.mdx +++ b/docs/features/experimental/codebase-indexing.mdx @@ -44,6 +44,35 @@ Choose one of these options for generating embeddings: - Supports any Ollama-compatible embedding model - Requires Ollama base URL configuration +### Setting Up Ollama for Embeddings + +1. **Install Ollama** + - **macOS**: `brew install ollama` or download from [ollama.com](https://ollama.com) + - **Linux**: `curl -fsSL https://ollama.com/install.sh | sh` + - **Windows**: Download installer from [ollama.com](https://ollama.com) + +2. **Start Ollama Service** + ```bash + ollama serve + ``` + This starts Ollama on `http://localhost:11434` (default port) + +3. **Install Embedding Model** + ```bash + ollama pull nomic-embed-text + ``` + This downloads the recommended embedding model (~274MB) + +4. **Verify Installation** + ```bash + ollama list + ``` + You should see `nomic-embed-text` in the list + +5. **Configure in Roo Code** + - Set Ollama Base URL: `http://localhost:11434` + - Select Model: `nomic-embed-text` + ### Vector Database **Qdrant** is required for storing and searching embeddings: diff --git a/docs/features/experimental/experimental-features.md b/docs/features/experimental/experimental-features.md index 4b041c86..8c926150 100644 --- a/docs/features/experimental/experimental-features.md +++ b/docs/features/experimental/experimental-features.md @@ -17,7 +17,6 @@ To enable or disable experimental features: The following experimental features are currently available: - [Codebase Indexing](/features/experimental/codebase-indexing) - Semantic search through AI-powered codebase indexing -- [Intelligently Condense the Context Window](/features/experimental/intelligent-context-condensing) - [Power Steering](/features/experimental/power-steering) ## Providing Feedback diff --git a/docs/features/experimental/intelligent-context-condensing.mdx b/docs/features/intelligent-context-condensing.mdx similarity index 52% rename from docs/features/experimental/intelligent-context-condensing.mdx rename to docs/features/intelligent-context-condensing.mdx index 9e7271e6..319a3141 100644 --- a/docs/features/experimental/intelligent-context-condensing.mdx +++ b/docs/features/intelligent-context-condensing.mdx @@ -3,22 +3,27 @@ sidebar_label: 'Intelligent Context Condensing' --- import Codicon from '@site/src/components/Codicon'; -# Intelligent Context Condensing (Experimental) - -The Intelligent Context Condensing feature helps manage long conversations by summarizing earlier parts of the dialogue. This prevents important information from being lost when the context window nears its limit. This is an **experimental feature** and is **disabled by default**. - -
-
- -
+# Intelligent Context Condensing + +The Intelligent Context Condensing feature helps manage long conversations by summarizing earlier parts of the dialogue. This prevents important information from being lost when the context window nears its limit. This feature is **enabled by default**. + +
+
+ +
## How It Works As your conversation with Roo Code grows, it might approach the context window limit of the underlying AI model. When this happens, older messages would typically be removed to make space. Intelligent Context Condensing aims to prevent this abrupt loss by: @@ -31,29 +36,32 @@ As your conversation with Roo Code grows, it might approach the context window l * **Summarization Impact:** While original messages are preserved if you use [Checkpoints](/features/checkpoints) to rewind, the summarized version is what's used in ongoing LLM calls to keep the context manageable. * **Cost:** The AI call to perform the summarization incurs a cost. This cost is included in the context condensing metrics displayed in the UI. -## Enabling This Feature +## Configuration -As an experimental feature, Intelligent Context Condensing is **disabled by default**. +Intelligent Context Condensing is **enabled by default** and offers several configuration options: 1. Open Roo Code settings ( icon in the top right corner of the Roo Code panel). -2. Navigate to the "Experimental" section. -3. Toggle the "Automatically trigger intelligent context condensing" (`autoCondenseContext`) option to enable it. -4. Optionally, adjust the "Threshold to trigger intelligent context condensing" (`autoCondenseContextPercent`) slider to control the trigger point for automatic context condensing. -5. Save your changes. - -Settings for Intelligent Context Condensing -*The image above shows settings for Intelligent Context Condensing: the toggle to "Automatically trigger intelligent context condensing" and the "Threshold to trigger intelligent context condensing" slider.* - +2. Navigate to the "Context" settings section. +3. Configure the available options: + - **Automatically trigger intelligent context condensing**: Enabled by default, this controls whether condensing happens automatically + - **Threshold to trigger intelligent context condensing**: A percentage slider (default 100%) that determines when condensing activates based on context window usage + - **API Configuration for Context Condensing**: Choose which API configuration to use for condensing operations (defaults to your current active configuration) + - **Custom Context Condensing Prompt**: Customize the system prompt used for context condensing operations + +Settings for Intelligent Context Condensing +*Intelligent Context Condensing configuration options: automatic triggering toggle, threshold slider, API configuration selection, and custom prompt customization.* ## Controlling and Understanding Context Condensing Roo Code provides several ways to control and understand the Intelligent Context Condensing feature: ### Controlling Context Condensing -* **Automatic Threshold:** In Roo Code Settings () > "Experimental," the `autoCondenseContextPercent` setting allows you to define a percentage (e.g., 80%). Roo Code will attempt to condense the context automatically when the conversation reaches this level of the context window's capacity. -* **Manual Trigger:** A **Condense Context** button ( icon) is available when a task is expanded, typically located at the bottom of the task view, next to other task action icons like the trash can. This allows you to initiate the context condensing process at any time. +* **Automatic Threshold:** The threshold slider in "Context" settings allows you to define a percentage (e.g., 80%) of context window usage. Roo Code will attempt to condense the context automatically when the conversation reaches this level of capacity. +* **API Configuration:** Select which API configuration to use for context condensing operations. This allows you to use a different provider or model specifically for condensing if desired. +* **Custom Prompts:** Modify the system prompt used for condensing to better suit your workflow or to emphasize certain aspects of conversation summarization. +* **Manual Trigger:** A **Condense Context** button is available at the top of the task, positioned to the right of the context bar. This allows you to initiate the context condensing process at any time. - Manual Condense Context button in expanded task view - *The Manual Condense Context button (highlighted with a yellow arrow) appears in the expanded task view.* + Manual Condense Context button in expanded task view + *The Manual Condense Context button (highlighted with a yellow arrow) is easily accessible for manual control.* ### Understanding Context Condensing Activity * **Context Condensing Metrics:** When context condensing occurs, Roo Code displays: @@ -72,13 +80,7 @@ Roo Code provides several ways to control and understand the Intelligent Context * The task header also displays the current context condensing status. * The `ContextWindowProgress` bar offers a visual representation of token distribution, including current usage, space reserved for the AI's output, available space, and raw token numbers. -* **Interface Clarity:** The "Condense Context" button includes a tooltip explaining its function, available in all supported languages. The icon for context condensing-related actions is `codicon-compress`. - -### Accurate Token Information -* Roo Code employs accurate token counting methods, with some AI providers utilizing their native token counting endpoints. This ensures that context size and associated costs are calculated reliably. - -### Internationalization -* All user interface elements for this feature, such as button labels, tooltips, status messages, and settings descriptions, are available in multiple supported languages. +* **Interface Clarity:** The "Condense Context" button includes a tooltip explaining its function, available in all supported languages. ## Technical Implementation @@ -96,24 +98,3 @@ Roo Code uses a sophisticated token counting system that: - This reservation can be overridden by model-specific settings - The system automatically calculates available space while maintaining this reservation -## Performance Considerations - -### Optimization -- The system optimizes token counting to minimize performance impact -- Token calculations are cached where possible -- Background processing prevents UI blocking during context condensing - -### Resource Usage -- Context condensing operations are performed asynchronously -- The UI remains responsive during the process -- System resources are managed to prevent excessive memory usage - -## Feedback - -Your experience with experimental features is valuable. When reporting issues, please include: -- The current threshold setting -- The token counts before and after context condensing -- Any error messages displayed -- Steps to reproduce the issue - -Please report any issues or suggestions regarding Intelligent Context Condensing on the [Roo Code GitHub Issues page](https://github.com/RooCodeInc/Roo-Code/issues). \ No newline at end of file diff --git a/docs/update-notes/index.md b/docs/update-notes/index.md index 6f6ac8c2..03f0d5a9 100644 --- a/docs/update-notes/index.md +++ b/docs/update-notes/index.md @@ -2,8 +2,14 @@ This section contains notes about recent updates to Roo Code, listed by version number. +## Version 3.19 + +* [3.19.0](/update-notes/v3.19.0) (2025-05-30) +* [3.19](/update-notes/v3.19) (2025-05-30) + ## Version 3.18 +* [3.18.5](/update-notes/v3.18.5) (2025-05-27) * [3.18.4](/update-notes/v3.18.4) (2025-05-25) * [3.18.3](/update-notes/v3.18.3) (2025-05-24) * [3.18.2](/update-notes/v3.18.2) (2025-05-23) diff --git a/docs/update-notes/v3.17.0.md b/docs/update-notes/v3.17.0.md index 46735862..1d14ab6c 100644 --- a/docs/update-notes/v3.17.0.md +++ b/docs/update-notes/v3.17.0.md @@ -35,7 +35,7 @@ Here's how it works: Settings for Intelligent Context Condensation -For more details on this experimental feature, including how to enable it, please see the [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing). +For more details on this feature, please see the [Intelligent Context Condensing documentation](/features/intelligent-context-condensing). ## Smoother Chat and Fewer Interruptions! (thanks Cline!) diff --git a/docs/update-notes/v3.17.md b/docs/update-notes/v3.17.md index 7101cdcb..1fe1b0ff 100644 --- a/docs/update-notes/v3.17.md +++ b/docs/update-notes/v3.17.md @@ -35,7 +35,7 @@ Here's how it works: Settings for Intelligent Context Condensation -For more details on this experimental feature, including how to enable it, please see the [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing). +For more details on this feature, please see the [Intelligent Context Condensing documentation](/features/intelligent-context-condensing). ## Smoother Chat and Fewer Interruptions! (thanks Cline!) diff --git a/docs/update-notes/v3.18.0.mdx b/docs/update-notes/v3.18.0.mdx index 0ceda81b..5c28270f 100644 --- a/docs/update-notes/v3.18.0.mdx +++ b/docs/update-notes/v3.18.0.mdx @@ -2,8 +2,8 @@ This release introduces comprehensive context condensing improvements, YAML support for custom modes, new AI model integrations, and numerous quality-of-life improvements and bug fixes. -## Context Condensing Upgrades (Experimental) -Our **experimental** Intelligent Context Condensing feature sees significant enhancements for better control and clarity. Remember, these are **disabled by default** (enable in Settings (⚙️) > "Experimental"). +## Context Condensing Upgrades +Our Intelligent Context Condensing feature sees significant enhancements for better control and clarity. **Note**: As of version 3.19.0, this feature is enabled by default. Watch a quick overview:
@@ -19,11 +19,11 @@ Watch a quick overview:
Key updates: -* **Adjustable Condensing Threshold & Manual Control**: Fine-tune automatic condensing or trigger it manually. [Learn more](/features/experimental/intelligent-context-condensing#controlling-context-condensing). -* **Clear UI Indicators**: Better visual feedback during condensing. [Details](/features/experimental/intelligent-context-condensing#understanding-context-condensing-activity). -* **Accurate Token Counting**: Improved accuracy for context and cost calculations. [More info](/features/experimental/intelligent-context-condensing#accurate-token-information). +* **Adjustable Condensing Threshold & Manual Control**: Fine-tune automatic condensing or trigger it manually. [Learn more](/features/intelligent-context-condensing#controlling-context-condensing). +* **Clear UI Indicators**: Better visual feedback during condensing. [Details](/features/intelligent-context-condensing#understanding-context-condensing-activity). +* **Accurate Token Counting**: Improved accuracy for context and cost calculations. [More info](/features/intelligent-context-condensing#accurate-token-information). -For full details, see the main [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing). +For full details, see the main [Intelligent Context Condensing documentation](/features/intelligent-context-condensing). ## Custom Modes: YAML Support diff --git a/docs/update-notes/v3.18.2.mdx b/docs/update-notes/v3.18.2.mdx index fdcbade7..1b6a0799 100644 --- a/docs/update-notes/v3.18.2.mdx +++ b/docs/update-notes/v3.18.2.mdx @@ -4,7 +4,7 @@ This release introduces context condensing enhancements and several important bu ## Context Condensing Enhancements -Enhanced the experimental context condensing feature with new settings and improved functionality: +Enhanced the context condensing feature with new settings and improved functionality: * **Advanced Controls**: New experimental settings for fine-tuning conversation compression behavior * **Improved Compression**: Better conversation summarization while preserving important context diff --git a/docs/update-notes/v3.18.5.mdx b/docs/update-notes/v3.18.5.mdx new file mode 100644 index 00000000..c3349961 --- /dev/null +++ b/docs/update-notes/v3.18.5.mdx @@ -0,0 +1,18 @@ +# Roo Code 3.18.5 Release Notes (2025-05-27) + +This release brings enhanced provider support, improved localization, and telemetry re-enablement. + +## Provider Updates + +* **Requesty Thinking Controls**: Add thinking controls for [Requesty provider](/providers/requesty) (thanks dtrugman!) +* **LiteLLM Metadata**: Improve model metadata for [LiteLLM provider](/providers/litellm) + +## QOL Improvements + +* **Traditional Chinese Locale**: Improve zh-TW Traditional Chinese locale (thanks PeterDaveHello and chrarnoldus!) + +## Misc Improvements + +* **Telemetry**: Re-enable telemetry + +Thank you to all our contributors for making Roo Code better with each release! \ No newline at end of file diff --git a/docs/update-notes/v3.18.mdx b/docs/update-notes/v3.18.mdx index 3abd3825..d6653712 100644 --- a/docs/update-notes/v3.18.mdx +++ b/docs/update-notes/v3.18.mdx @@ -19,8 +19,8 @@ Transform how you navigate large codebases - ask "find authentication logic" and For setup instructions and detailed usage, see the main [Codebase Indexing documentation](/features/experimental/codebase-indexing). -## Context Condensing Upgrades (Experimental) -Our **experimental** Intelligent Context Condensing feature sees significant enhancements for better control and clarity. Remember, these are **disabled by default** (enable in Settings (⚙️) > "Experimental"). +## Context Condensing Upgrades +Our Intelligent Context Condensing feature sees significant enhancements for better control and clarity. **Note**: As of version 3.19.0, this feature is enabled by default. Watch a quick overview:
@@ -36,13 +36,13 @@ Watch a quick overview:
Key updates: -* **Adjustable Condensing Threshold & Manual Control**: Fine-tune automatic condensing or trigger it manually. [Learn more](/features/experimental/intelligent-context-condensing#controlling-context-condensing). -* **Advanced Controls & UI Enhancements**: New experimental settings for fine-tuning conversation compression behavior with improved interface components for managing condensing settings. (thanks SannidhyaSah!) -* **Clear UI Indicators**: Better visual feedback during condensing. [Details](/features/experimental/intelligent-context-condensing#understanding-context-condensing-activity). +* **Adjustable Condensing Threshold & Manual Control**: Fine-tune automatic condensing or trigger it manually. [Learn more](/features/intelligent-context-condensing#controlling-context-condensing). +* **Advanced Controls & UI Enhancements**: New settings for fine-tuning conversation compression behavior with improved interface components for managing condensing settings. (thanks SannidhyaSah!) +* **Clear UI Indicators**: Better visual feedback during condensing. [Details](/features/intelligent-context-condensing#understanding-context-condensing-activity). * **Improved Compression**: Better conversation summarization while preserving important context during compression. (thanks SannidhyaSah!) -* **Accurate Token Counting**: Improved accuracy for context and cost calculations. [More info](/features/experimental/intelligent-context-condensing#accurate-token-information). +* **Accurate Token Counting**: Improved accuracy for context and cost calculations. [More info](/features/intelligent-context-condensing#accurate-token-information). -For full details, see the main [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing). +For full details, see the main [Intelligent Context Condensing documentation](/features/intelligent-context-condensing). ## Custom Modes: YAML Support @@ -77,6 +77,7 @@ Access the latest `gemini-2.5-flash-preview-05-20` model, including its thinking * **Auto-Approve Input**: Fixed issue where chat input would incorrectly clear when auto-approve was enabled (thanks Ruakij!) * **Resizable Prompt Textareas**: Restored vertical resizing for prompt input textareas (role definition, custom instructions, support prompts) for easier viewing and editing of longer prompts. * **Settings Import**: Error messages are now provided in multiple languages if an import fails. (thanks ChuKhaLi!) +* **Traditional Chinese Locale**: Improve zh-TW Traditional Chinese locale (thanks PeterDaveHello and chrarnoldus!) ## Bug Fixes @@ -110,6 +111,8 @@ Access the latest `gemini-2.5-flash-preview-05-20` model, including its thinking * **LM Studio Reasoning Support**: Added support for parsing "think" tags in [LM Studio](/providers/lmstudio) responses for enhanced transparency into the AI's process. (thanks avtc!) * **Qwen3 Model Series for Chutes**: Added new Qwen3 models to the [Chutes provider](/providers/chutes) (e.g., `Qwen/Qwen3-235B-A22B`). (thanks zeozeozeo!) * **Unbound Provider Model Refresh**: Added a refresh button for [Unbound](/providers/unbound) models to easily update the list of available models and get immediate feedback on API key validity. (thanks pugazhendhi-m!) +* **Requesty Thinking Controls**: Add thinking controls for [Requesty provider](/providers/requesty) (thanks dtrugman!) +* **LiteLLM Metadata**: Improve model metadata for [LiteLLM provider](/providers/litellm) ## Misc Improvements @@ -126,5 +129,6 @@ Access the latest `gemini-2.5-flash-preview-05-20` model, including its thinking * **Release Automation**: Improved release process automation reduces manual errors and speeds up delivery * **Auto-reload in Dev Mode**: Core file changes now automatically trigger a window reload in development mode for a faster workflow. (thanks hassoncs!) * **Simplified Loop Syntax**: Refactored loop structures in multiple components to use `for...of` loops for improved readability. (thanks noritaka1166!) +* **Telemetry**: Re-enable telemetry These improvements work behind the scenes to provide a more reliable and stable extension experience with faster updates and higher quality releases. \ No newline at end of file diff --git a/docs/update-notes/v3.19.0.mdx b/docs/update-notes/v3.19.0.mdx new file mode 100644 index 00000000..01cd25b3 --- /dev/null +++ b/docs/update-notes/v3.19.0.mdx @@ -0,0 +1,50 @@ +# Roo Code 3.19.0 Release Notes (2025-05-30) + +This release focuses on streamlining the user interface with intelligent context condensing enabled by default, improved mode organization, enhanced file protection, and numerous quality-of-life improvements. + +## Intelligent Context Condensing Now Default +We've enabled intelligent content condensing by default and relocated the condense button for easier access: + +- **Default Activation**: Intelligent context condensing is now enabled out of the box for all users +- **Improved Button Placement**: Moved the condense button out of the expanded task menu for quicker access +- **Smart Error Handling**: The system now skips condensing and shows clear error messages if context grows during the condensing process + +Experience more efficient conversation management without manual setup. + +Settings for Intelligent Context Condensing +*Intelligent Context Condensing configuration options: automatic triggering toggle, threshold slider, API configuration selection, and custom prompt customization.* + +## Streamlined Mode Organization +We've reorganized the interface for better workflow organization: + +- **Modes Tab**: Transformed the Prompts tab into a dedicated Modes tab for clearer navigation +- **Settings Relocation**: Moved support prompts to Settings for better organization +- **Cleaner Interface**: Simplified the main interface by grouping related features more logically + +Navigate between different modes and prompts more intuitively. + +## QOL Improvements + +* **Enhanced Sidebar Compatibility**: Menu functionality now remains stable when moving Roo between primary and secondary sidebars (thanks chrarnoldus!) + +## Bug Fixes + +* **Directory Mention Protection**: Fixed [`@directory`](/basic-usage/context-mentions) not respecting [`.rooignore`](/features/rooignore) files (thanks xyOz-dev!) +* **Tool File Protection**: Added [`rooignore`](/features/rooignore) checking for [`insert_content`](/advanced-usage/available-tools/insert-content) and [`search_and_replace`](/advanced-usage/available-tools/search-and-replace) tools +* **Memory Leak Fix**: Resolved memory leak in ChatView by stabilizing callback props (thanks samhvw8!) +* **Empty File Creation**: Fixed [`write_to_file`](/advanced-usage/available-tools/write-to-file) to properly create empty files when content is empty (thanks Ruakij!) +* **Chat Input Stability**: Fixed chat input clearing during running tasks (thanks xyOz-dev!) + +## Provider Updates + +* **DeepSeek R1 0528**: Add DeepSeek R1 0528 model support to [Chutes provider](/providers/chutes) (thanks zeozeozeo!) +* **AWS Regions**: Updated AWS regions to include Spain and Hyderabad + +## Misc Improvements + +* **MCP Environment Variables**: Add environment variable injection support for whole MCP config (thanks NamesMT!) +* **Shell Compatibility**: Improve POSIX shell compatibility in pre-push hook (thanks PeterDaveHello and chrarnoldus!) +* **Windows Terminal**: Update PAGER environment variable for Windows compatibility in Terminal (thanks SmartManoj!) +* **Search Clarity**: Update codebase search description to emphasize English query requirements (thanks ChuKhaLi!) + +Thank you to all our contributors for making Roo Code better with each release! \ No newline at end of file diff --git a/docs/update-notes/v3.19.mdx b/docs/update-notes/v3.19.mdx new file mode 100644 index 00000000..022b6591 --- /dev/null +++ b/docs/update-notes/v3.19.mdx @@ -0,0 +1,50 @@ +# Roo Code 3.19 Release Notes (2025-05-30) + +This release series focuses on streamlining the user interface with intelligent context condensing enabled by default, improved mode organization, enhanced file protection, and numerous quality-of-life improvements. + +## Intelligent Context Condensing Now Default +We've enabled intelligent content condensing by default and relocated the condense button for easier access: + +- **Default Activation**: Intelligent context condensing is now enabled out of the box for all users +- **Improved Button Placement**: Moved the condense button out of the expanded task menu for quicker access +- **Smart Error Handling**: The system now skips condensing and shows clear error messages if context grows during the condensing process + +Experience more efficient conversation management without manual setup. + +Settings for Intelligent Context Condensing +*Intelligent Context Condensing configuration options: automatic triggering toggle, threshold slider, API configuration selection, and custom prompt customization.* + +## Streamlined Mode Organization +We've reorganized the interface for better workflow organization: + +- **Modes Tab**: Transformed the Prompts tab into a dedicated Modes tab for clearer navigation +- **Settings Relocation**: Moved support prompts to Settings for better organization +- **Cleaner Interface**: Simplified the main interface by grouping related features more logically + +Navigate between different modes and prompts more intuitively. + +## QOL Improvements + +* **Enhanced Sidebar Compatibility**: Menu functionality now remains stable when moving Roo between primary and secondary sidebars (thanks chrarnoldus!) + +## Bug Fixes + +* **Directory Mention Protection**: Fixed [`@directory`](/basic-usage/context-mentions) not respecting [`.rooignore`](/features/rooignore) files (thanks xyOz-dev!) +* **Tool File Protection**: Added [`rooignore`](/features/rooignore) checking for [`insert_content`](/advanced-usage/available-tools/insert-content) and [`search_and_replace`](/advanced-usage/available-tools/search-and-replace) tools +* **Memory Leak Fix**: Resolved memory leak in ChatView by stabilizing callback props (thanks samhvw8!) +* **Empty File Creation**: Fixed [`write_to_file`](/advanced-usage/available-tools/write-to-file) to properly create empty files when content is empty (thanks Ruakij!) +* **Chat Input Stability**: Fixed chat input clearing during running tasks (thanks xyOz-dev!) + +## Provider Updates + +* **DeepSeek R1 0528**: Add DeepSeek R1 0528 model support to [Chutes provider](/providers/chutes) (thanks zeozeozeo!) +* **AWS Regions**: Updated AWS regions to include Spain and Hyderabad + +## Misc Improvements + +* **MCP Environment Variables**: Add environment variable injection support for whole MCP config (thanks NamesMT!) +* **Shell Compatibility**: Improve POSIX shell compatibility in pre-push hook (thanks PeterDaveHello and chrarnoldus!) +* **Windows Terminal**: Update PAGER environment variable for Windows compatibility in Terminal (thanks SmartManoj!) +* **Search Clarity**: Update codebase search description to emphasize English query requirements (thanks ChuKhaLi!) + +Thank you to all our contributors for making Roo Code better with each release! \ No newline at end of file diff --git a/docusaurus.config.ts b/docusaurus.config.ts index e62ba50f..7c4b9d36 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -131,8 +131,8 @@ const config: Config = { from: ['/advanced-usage/api-configuration-profiles'], }, { - to: '/features/experimental/intelligent-context-condensing', - from: ['/features/experimental/intelligent-context-condensation'], + to: '/features/intelligent-context-condensing', + from: ['/features/experimental/intelligent-context-condensing', '/features/experimental/intelligent-context-condensation'], }, // MCP related redirects diff --git a/sidebars.ts b/sidebars.ts index a810b9b3..b5efe3dd 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -33,6 +33,7 @@ const sidebars: SidebarsConfig = { 'features/enhance-prompt', 'features/fast-edits', 'features/footgun-prompting', + 'features/intelligent-context-condensing', 'features/keyboard-shortcuts', 'features/model-temperature', 'features/rooignore', @@ -61,7 +62,6 @@ const sidebars: SidebarsConfig = { items: [ 'features/experimental/experimental-features', 'features/experimental/codebase-indexing', - 'features/experimental/intelligent-context-condensing', 'features/experimental/power-steering', ], }, @@ -184,6 +184,14 @@ const sidebars: SidebarsConfig = { label: 'Update Notes', items: [ 'update-notes/index', + { + type: 'category', + label: '3.19', + items: [ + { type: 'doc', id: 'update-notes/v3.19', label: '3.19 Combined' }, + { type: 'doc', id: 'update-notes/v3.19.0', label: '3.19.0' }, + ], + }, { type: 'category', label: '3.18', @@ -194,6 +202,7 @@ const sidebars: SidebarsConfig = { { type: 'doc', id: 'update-notes/v3.18.2', label: '3.18.2' }, { type: 'doc', id: 'update-notes/v3.18.3', label: '3.18.3' }, { type: 'doc', id: 'update-notes/v3.18.4', label: '3.18.4' }, + { type: 'doc', id: 'update-notes/v3.18.5', label: '3.18.5' }, ], }, { diff --git a/static/img/intelligent-context-condensing/intelligent-context-condensing-1.png b/static/img/intelligent-context-condensing/intelligent-context-condensing-1.png new file mode 100644 index 00000000..40a40aeb Binary files /dev/null and b/static/img/intelligent-context-condensing/intelligent-context-condensing-1.png differ diff --git a/static/img/intelligent-context-condensing/intelligent-context-condensing.png b/static/img/intelligent-context-condensing/intelligent-context-condensing.png new file mode 100644 index 00000000..29d2ebee Binary files /dev/null and b/static/img/intelligent-context-condensing/intelligent-context-condensing.png differ