diff --git a/.roo/rules-release-notes-writer/2_content_standards.xml b/.roo/rules-release-notes-writer/2_content_standards.xml
index e19b0972..9bd3e7e7 100644
--- a/.roo/rules-release-notes-writer/2_content_standards.xml
+++ b/.roo/rules-release-notes-writer/2_content_standards.xml
@@ -214,7 +214,7 @@ keywords:
- Modes: /features/modes/[mode-slug]
- - Tools: /advanced-usage/available-tools#[tool-name]
+ - Tools: /basic-usage/how-tools-work
- MCP: /features/mcp/
- Providers: /providers/
diff --git a/docs/advanced-usage/available-tools/access-mcp-resource.md b/docs/advanced-usage/available-tools/access-mcp-resource.md
deleted file mode 100644
index 2ee07e47..00000000
--- a/docs/advanced-usage/available-tools/access-mcp-resource.md
+++ /dev/null
@@ -1,156 +0,0 @@
----
-description: Learn how the access_mcp_resource tool retrieves data from Model Context Protocol servers for additional context in Roo Code tasks.
-keywords:
- - access_mcp_resource
- - MCP
- - Model Context Protocol
- - MCP resources
- - Roo Code tools
- - context retrieval
- - API integration
----
-
-# access_mcp_resource
-
-The `access_mcp_resource` tool retrieves data from resources exposed by connected Model Context Protocol (MCP) servers. It allows Roo to access files, API responses, documentation, or system information that provides additional context for tasks.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `server_name` (required): The name of the MCP server providing the resource
-- `uri` (required): The URI identifying the specific resource to access
-
----
-
-## What It Does
-
-This tool connects to MCP servers and fetches data from their exposed resources. Unlike `use_mcp_tool` which executes actions, this tool specifically retrieves information that serves as context for tasks.
-
----
-
-## When is it used?
-
-- When Roo needs additional context from external systems
-- When Roo needs to access domain-specific data from specialized MCP servers
-- When Roo needs to retrieve reference documentation hosted by MCP servers
-- When Roo needs to integrate real-time data from external APIs via MCP
-
----
-
-## Key Features
-
-- Retrieves both text and image data from MCP resources
-- Requires user approval before executing resource access
-- Uses URI-based addressing to precisely identify resources
-- Integrates with the Model Context Protocol SDK
-- Displays resource content appropriately based on content type
-- Supports timeouts for reliable network operations
-- Handles server connection states (connected, connecting, disconnected)
-- Discovers available resources from connected servers
-- Processes structured response data with metadata
-- Handles image content special rendering
-
----
-
-## Limitations
-
-- Depends on external MCP servers being available and connected
-- Limited to the resources provided by connected servers
-- Cannot access resources from disabled servers
-- Network issues can affect reliability and performance
-- Resource access subject to configured timeouts
-- URI formats are determined by the specific MCP server implementation
-- No offline or cached resource access capabilities
-
----
-
-## How It Works
-
-When the `access_mcp_resource` tool is invoked, it follows this process:
-
-1. **Connection Validation**:
- - Verifies that an MCP hub is available and initialized
- - Confirms the specified server exists in the connection list
- - Checks if the server is disabled (returns an error if it is)
-
-2. **User Approval**:
- - Presents the resource access request to the user for approval
- - Provides server name and resource URI for user verification
- - Proceeds only if the user approves the resource access
-
-3. **Resource Request**:
- - Uses the Model Context Protocol SDK to communicate with servers
- - Makes a `resources/read` request to the server through the MCP hub
- - Applies configured timeouts to prevent hanging on unresponsive servers
-
-4. **Response Processing**:
- - Receives a structured response with metadata and content arrays
- - Processes text content for display to the user
- - Handles image data specially for appropriate display
- - Returns the processed resource data to Roo for use in the current task
-
----
-
-## Resource Types
-
-MCP servers can provide two main types of resources:
-
-1. **Standard Resources**:
- - Fixed resources with specific URIs
- - Defined name, description, and MIME type
- - Direct access without parameters
- - Typically represent static data or real-time information
-
-2. **Resource Templates**:
- - Parameterized resources with placeholder values in URIs
- - Allow dynamic resource generation based on provided parameters
- - Can represent queries or filtered views of data
- - More flexible but require additional URI formatting
-
----
-
-## Examples When Used
-
-- When helping with API development, Roo retrieves endpoint specifications from MCP resources to ensure correct implementation.
-- When assisting with data visualization, Roo accesses current data samples from connected MCP servers.
-- When working in specialized domains, Roo retrieves technical documentation to provide accurate guidance.
-- When generating industry-specific code, Roo references compliance requirements from documentation resources.
-
----
-
-## Usage Examples
-
-Accessing current weather data:
-```
-
-weather-server
-weather://san-francisco/current
-
-```
-
-Retrieving API documentation:
-```
-
-api-docs
-docs://payment-service/endpoints
-
-```
-
-Accessing domain-specific knowledge:
-```
-
-knowledge-base
-kb://medical/terminology/common
-
-```
-
-Fetching system configuration:
-```
-
-infra-monitor
-config://production/database
-
-```
diff --git a/docs/advanced-usage/available-tools/apply-diff.md b/docs/advanced-usage/available-tools/apply-diff.md
deleted file mode 100644
index 3db20aa1..00000000
--- a/docs/advanced-usage/available-tools/apply-diff.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-description: Master the apply_diff tool for making surgical code changes using fuzzy matching and line hints in Roo Code with multi-file support.
-keywords:
- - apply_diff
- - file editing
- - code modifications
- - fuzzy matching
- - diff tool
- - Roo Code tools
- - multi-file edits
----
-
-# apply_diff
-
-The `apply_diff` tool makes precise, surgical changes to files by specifying exactly what content to replace. It uses a sophisticated strategy for finding and applying changes while maintaining proper code formatting and structure.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `path` (required): The path of the file to modify relative to the current working directory.
-- `diff` (required): The search/replace block defining the changes using a format specific to the active diff strategy.
-- `start_line` (optional): A hint for where the search content begins. _Note: This top-level parameter appears unused by the current main strategy, which relies on `:start_line:` within the diff content._
-- `end_line` (optional): A hint for where the search content ends. _Note: This top-level parameter appears unused by the current main strategy._
-
----
-
-## What It Does
-
-This tool applies targeted changes to existing files using fuzzy matching guided by line number hints to locate and replace content precisely. Unlike simple search and replace, it identifies the exact block for replacement based on the provided content and location hints.
-
----
-
-## When is it used?
-
-- When Roo needs to make precise changes to existing code without rewriting entire files.
-- When refactoring specific sections of code while maintaining surrounding context.
-- When fixing bugs in existing code with surgical precision.
-- When implementing feature enhancements that modify only certain parts of a file.
-
----
-
-## Key Features
-
-- Uses fuzzy matching (Levenshtein distance on normalized strings) guided by a `:start_line:` hint, with configurable confidence thresholds (typically 0.8-1.0).
-- Provides context around matches using `BUFFER_LINES` (default 40).
-- Performs a middle-out search within a configurable context window (`bufferLines`) around the hinted start line.
-- Preserves code formatting and indentation passively by replacing exact blocks.
-- Shows changes in a diff view for user review and editing before applying.
-- Tracks consecutive errors per file (`consecutiveMistakeCountForApplyDiff`) to prevent repeated failures.
-- Validates file access against `.rooignore` rules.
-- Handles multi-line edits effectively.
-
----
-
-## Limitations
-
-- Works best with unique, distinctive code sections for reliable identification.
-- Performance can vary with very large files or highly repetitive code patterns.
-- Fuzzy matching might occasionally select incorrect locations if content is ambiguous.
-- Each diff strategy has specific format requirements.
-- Complex edits might require careful strategy selection or manual review.
-
----
-
-## How It Works
-
-When the `apply_diff` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates required `path` and `diff` parameters.
-2. **RooIgnore Check**: Validates if the target file path is allowed by `.rooignore` rules.
-3. **File Analysis**: Loads the target file content.
-4. **Match Finding**: Uses a fuzzy matching algorithm (Levenshtein on normalized strings) guided by the `:start_line:` hint within a context window (`BUFFER_LINES`), searching middle-out to locate the target content based on the confidence threshold.
-5. **Change Preparation**: Generates the proposed changes by replacing the identified block.
-6. **User Interaction**:
- * Displays the changes in a diff view.
- * Allows the user to review and potentially edit the proposed changes.
- * Waits for user approval or rejection.
-7. **Change Application**: If approved, applies the changes (potentially including user edits) to the file.
-8. **Error Handling**: If errors occur (e.g., match failure, partial application), increments the `consecutiveMistakeCountForApplyDiff` for the file and reports the failure type.
-9. **Feedback**: Returns the result, including any user feedback or error details.
-
----
-
-## Diff Format Requirements
-
-The `` parameter requires a specific format supporting one or more changes in a single request. Each change block requires a line number hint for the original content.
-
-* **Requires**: Exact match for the `SEARCH` block content (within the fuzzy threshold), including whitespace and indentation. The `:start_line:` number hint is mandatory within each block. The `:end_line:` hint is optional (but supported by the parser). Markers like `<<<<<<<` within the file's content must be escaped (`\\`) in the SEARCH block.
-
-Example format for the `` block:
-
-```diff
-<<<<<<< SEARCH
-:start_line:10
-:end_line:12
--------
- // Old calculation logic
- const result = value * 0.9;
- return result;
-=======
- // Updated calculation logic with logging
- console.log(`Calculating for value: ${value}`);
- const result = value * 0.95; // Adjusted factor
- return result;
->>>>>>> REPLACE
-
-<<<<<<< SEARCH
-:start_line:25
-:end_line:25
--------
- const defaultTimeout = 5000;
-=======
- const defaultTimeout = 10000; // Increased timeout
->>>>>>> REPLACE
-```
-
----
diff --git a/docs/advanced-usage/available-tools/apply-patch.md b/docs/advanced-usage/available-tools/apply-patch.md
deleted file mode 100644
index ec70ff81..00000000
--- a/docs/advanced-usage/available-tools/apply-patch.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-description: Apply unified diff patches to multiple files in a single operation using the apply_patch tool in Roo Code.
-keywords:
- - apply_patch
- - patch
- - unified diff
- - multi-file edits
- - file operations
- - Roo Code tools
- - diff patches
----
-
-# apply_patch
-
-The `apply_patch` tool applies unified diff patches to multiple files in a single operation. It supports custom patch headers for adding, deleting, and updating files, making it ideal for complex multi-file refactoring operations.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `patch` (required): A unified diff patch string with custom headers. Supports `*** Add File:`, `*** Delete File:`, and `*** Update File:` headers.
-
----
-
-## What It Does
-
-This tool processes unified diff patches containing operations for multiple files. It parses the patch content, identifies file operations (add, delete, update), and applies the changes atomically. Unlike [`apply_diff`](/advanced-usage/available-tools/apply-diff) which handles single-file search-and-replace operations, `apply_patch` works with traditional unified diff format.
-
----
-
-## When is it used?
-
-- When applying patches generated by version control systems or diff tools
-- When performing complex multi-file refactoring with precise line-level changes
-- When migrating code changes from one branch or repository to another
-- When bulk-adding, updating, or removing multiple files in one operation
-- When working with patches from external sources or automated tools
-
----
-
-## Key Features
-
-- Supports multiple files in a single patch operation
-- Handles file addition, deletion, and modification
-- Uses unified diff format for precise line-level control
-- Custom headers (`*** Add File:`, `*** Delete File:`, `*** Update File:`) for clarity
-- Atomic operations with validation before applying changes
-- Compatible with standard diff/patch tooling output
-
----
-
-## Limitations
-
-- Requires proper unified diff format syntax
-- Line numbers and context must match existing file content
-- Cannot apply patches with conflicts or mismatched context
-- Less flexible than search-and-replace tools for fuzzy matching
-- Requires exact line-level accuracy in patches
-
----
-
-## How It Works
-
-When the `apply_patch` tool is invoked, it follows this process:
-
-1. **Patch Parsing**: Parses the patch string to identify custom headers (`*** Add File:`, `*** Delete File:`, `*** Update File:`) and unified diff blocks.
-2. **Operation Identification**: Groups changes by file path and operation type (add, delete, update).
-3. **Validation**: Validates that target files exist (for updates/deletes) or can be created (for adds).
-4. **RooIgnore Check**: Ensures target files are not restricted by `.rooignore` rules.
-5. **User Review**: Presents the patch operations for user review and approval.
-6. **Application**: Applies approved changes to each file sequentially.
-7. **Feedback**: Reports success or failure for each file operation.
-
----
-
-## Patch Format
-
-The patch format uses custom headers followed by unified diff blocks:
-
-```diff
-*** Add File: src/utils/newHelper.ts
---- /dev/null
-+++ b/src/utils/newHelper.ts
-@@ -0,0 +1,5 @@
-+export function helperFunction(value: string): string {
-+ return value.toUpperCase();
-+}
-
-*** Update File: src/main.ts
---- a/src/main.ts
-+++ b/src/main.ts
-@@ -10,7 +10,7 @@
- import { config } from './config';
--const timeout = 5000;
-+const timeout = 10000;
-
- function main() {
-
-*** Delete File: src/deprecated/oldUtil.ts
-```
-
----
-
-## Relation to Other Tools
-
-- [`apply_diff`](/advanced-usage/available-tools/apply-diff): Use for single-file search-and-replace with fuzzy matching
-- `apply_patch`: Use for multi-file operations with unified diff format
-- [`write_to_file`](/advanced-usage/available-tools/write-to-file): Use for creating entire new files
diff --git a/docs/advanced-usage/available-tools/ask-followup-question.md b/docs/advanced-usage/available-tools/ask-followup-question.md
deleted file mode 100644
index 9beeb402..00000000
--- a/docs/advanced-usage/available-tools/ask-followup-question.md
+++ /dev/null
@@ -1,200 +0,0 @@
----
-description: Enable interactive communication in Roo Code with the ask_followup_question tool for gathering clarification and user preferences.
-keywords:
- - ask_followup_question
- - user interaction
- - interactive communication
- - Roo Code tools
- - clarification
- - user feedback
----
-
-# ask_followup_question
-
-The `ask_followup_question` tool enables interactive communication by asking specific questions to gather additional information needed to complete tasks effectively.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `question` (required): The specific question to ask the user
-- `follow_up` (optional): A list of 2-4 suggested answers that help guide user responses, each within `` tags
-
----
-
-## What It Does
-
-This tool creates a conversational interface between Roo and the user, allowing for gathering clarification, additional details, or user preferences when facing ambiguities or decision points. Each question can include suggested responses to streamline the interaction.
-
----
-
-## When is it used?
-
-- When critical information is missing from the original request
-- When Roo needs to choose between multiple valid implementation approaches
-- When technical details or preferences are required to proceed
-- When Roo encounters ambiguities that need resolution
-- When additional context would significantly improve the solution quality
-
----
-
-## Key Features
-
-- Provides a structured way to gather specific information without breaking workflow
-- Includes suggested answers to reduce user typing and guide responses
-- Maintains conversation history and context across interactions
-- Supports responses containing images and code snippets
-- Available in all modes as part of the "always available" tool set
-- Enables direct user guidance on implementation decisions
-- Formats responses with `` tags to distinguish them from regular conversation
-- Resets consecutive error counter when used successfully
-
----
-
-## Limitations
-
-- Limited to asking one specific question per tool use
-- Presents suggestions as selectable options in the UI
-- Cannot force structured responses – users can still respond freely
-- Excessive use can slow down task completion and create a fragmented experience
-- Suggested answers must be complete, with no placeholders requiring user edits
-- No built-in validation for user responses
-- Contains no mechanism to enforce specific answer formats
-
----
-
-## How It Works
-
-When the `ask_followup_question` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates the required `question` parameter and checks for optional suggestions
- - Ensures question text is provided
- - Parses any suggested answers from the `follow_up` parameter using the `fast-xml-parser` library
- - Normalizes suggestions into an array format even if there's only one suggestion
-
-2. **JSON Transformation**: Converts the XML structure into a standardized JSON format for UI display
- ```typescript
- {
- question: "User's question here",
- suggest: [
- { answer: "Suggestion 1" },
- { answer: "Suggestion 2" }
- ]
- }
- ```
-
-3. **UI Integration**:
- - Passes the JSON structure to the UI layer via the `ask("followup", ...)` method
- - Displays selectable suggestion buttons to the user in the interface
- - Creates an interactive experience for selecting or typing a response
-
-4. **Response Collection and Processing**:
- - Captures user text input and any images included in the response
- - Wraps user responses in `` tags when returning to the assistant
- - Preserves any images included in the user's response
- - Maintains the conversational context by adding the response to the history
- - Resets the consecutive error counter when the tool is used successfully
-
-5. **Error Handling**:
- - Tracks consecutive mistakes using a counter
- - Resets the counter when the tool is used successfully
- - Provides specific error messages:
- - For missing parameters: "Missing required parameter 'question'"
- - For XML parsing: "Failed to parse operations: [error message]"
- - For invalid format: "Invalid operations xml format"
- - Contains safeguards to prevent tool execution when required parameters are missing
- - Increments consecutive mistake count when errors occur
-
----
-
-## Workflow Sequence
-
-The question-answer cycle follows this sequence:
-
-1. **Information Gap Recognition**: Roo identifies missing information needed to proceed
-2. **Specific Question Creation**: Roo formulates a clear, targeted question
-3. **Suggestion Development**: Roo creates relevant suggested answers (optional but recommended)
-4. **Tool Invocation**: Assistant invokes the tool with question and optional suggestions
-5. **UI Presentation**: Question and suggestions are displayed to the user as interactive elements
-6. **User Response**: The user selects a suggestion or provides a custom answer
-7. **Message Handling**: System handles both partial and complete messages
- - For streaming responses, processes chunks as they arrive
- - For complete messages, processes the entire response at once
- - Maintains state consistency regardless of message chunking
-8. **Response Processing**: System wraps the response in `` tags and preserves images
-9. **Context Integration**: Response is added to the conversation history
-10. **Task Continuation**: Roo proceeds with the task using the new information
-
----
-
-## Examples When Used
-
-- When developing a web application, Roo might ask about preferred styling frameworks (Bootstrap, Tailwind, custom CSS)
-- When creating an API, Roo might ask about authentication methods (JWT, OAuth, API keys)
-- When refactoring code, Roo might ask about prioritizing performance vs. readability
-- When setting up a database, Roo might ask about specific schema design preferences
-- When creating a custom feature, Roo might ask about specific behavior expectations
-- When troubleshooting errors, Roo might ask about specific environment details
-
----
-
-## Response Format
-
-When a user responds to a question, the response is formatted with `` tags for clarity and consistency. This format helps clearly separate the user's answer from other conversation elements.
-
-Example response format:
-```
-
-Use Tailwind CSS for utility-first styling with maximum flexibility
-
-```
-
-Key characteristics of the response format:
-- Surrounded by `` tags
-- Preserves formatting of the original response
-- Maintains images if included in the response
-- Returns the complete text, even for long responses
-
----
-
-## Usage Examples
-
-Asking about implementation preferences:
-```
-
-Which styling approach would you prefer for this web application?
-
-Use Bootstrap for rapid development with consistent components
-Use Tailwind CSS for utility-first styling with maximum flexibility
-Use vanilla CSS with custom styling for complete control and minimal dependencies
-
-
-```
-
-
-Requesting technical clarification:
-```
-
-What database should this application use for storing user data?
-
-MongoDB for flexible schema and document-based storage
-PostgreSQL for relational data with strong consistency guarantees
-Firebase for real-time updates and simplified backend management
-SQLite for lightweight local storage without external dependencies
-
-
-```
-
-Addressing ambiguity in requirements:
-```
-
-How should the application handle user authentication?
-
-Implement email/password authentication with account verification
-Use social login providers (Google, GitHub, etc.) for quick signup
-Implement both email/password and social login options
-
-
-```
diff --git a/docs/advanced-usage/available-tools/attempt-completion.md b/docs/advanced-usage/available-tools/attempt-completion.md
deleted file mode 100644
index 10708c66..00000000
--- a/docs/advanced-usage/available-tools/attempt-completion.md
+++ /dev/null
@@ -1,208 +0,0 @@
----
-description: Learn how the attempt_completion tool signals task completion, presents results, and enables iterative refinement in Roo Code.
-keywords:
- - attempt_completion
- - task completion
- - result presentation
- - Roo Code tools
- - user feedback
- - task summary
----
-
-# attempt_completion
-
-The `attempt_completion` tool signals that Roo believes a task is complete and presents results to the user. It provides a summary of what was accomplished, optionally includes a command to demonstrate the result, and supports continued refinement through user feedback.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `result` (required): The final result description summarizing what was accomplished
-- `command` (optional): A CLI command to execute to demonstrate the result
-
----
-
-## What It Does
-
-This tool marks the end of a task by presenting a final summary of what was accomplished. It signals to both the user and the system that the current task is complete. When a command is provided, it can also demonstrate the result through a live execution.
-
----
-
-## When is it used?
-
-- When Roo believes the user's task has been completed
-- When summarizing what changes or improvements were made
-- When demonstrating the current result with a command execution
-- When providing a checkpoint for user feedback on the solution
-- When transitioning from one phase of work to potential refinements
-
----
-
-## Key Features
-
-- Provides a clear signal that Roo believes the task is complete
-- Summarizes accomplishments in a concise message
-- Optionally demonstrates results through command execution
-- Enables user feedback for further refinements
-- Displays results in a special UI format distinct from regular messages
-- Captures task completion telemetry for system analytics
-- Maintains a structured conversation flow by providing checkpoints
-- Supports subtask completion within larger workflows
-- Ensures users receive a clear summary of what was done
-- Available in all modes as part of the "always available" tool group
-
----
-
-## Limitations
-
-- Should not be used until previous tool uses are confirmed successful (guideline, not enforced)
-- Limited to a single command for result demonstration
-- Cannot present multiple command options
-- Commands require user approval before execution
-- Limited to demonstrating results that can be shown via CLI commands
-- Cannot be used for partial task completion or progress updates
-- Result formatting strips XML closing tags through internal processing
-
----
-
-## How It Works
-
-When the `attempt_completion` tool is invoked, it follows this process:
-
-1. **Safety Consideration** (guideline, not enforced):
- - The AI is instructed to confirm previous tool uses were successful
- - This is a best practice rather than a programmatically enforced mechanism
-
-2. **Result Presentation**:
- - Displays the completion message to the user in a special "completion_result" UI format
- - Removes XML closing tags from the result text using the `removeClosingTag` function
- - Presents the result differently than regular messages for visual distinction
-
-3. **Command Execution** (if provided):
- - Requests user approval before executing the command
- - Only executes if the user approves
- - Executes the command using the system's command execution functionality
- - Shows the result of the command to the user
-
-4. **Feedback Collection**:
- - Waits for user feedback on the completion result
- - Processes this feedback and returns it to the AI
- - Enables continued refinement based on user input
-
-5. **Task Completion and Continuation**:
- - Signals the task as completed in the system
- - Captures telemetry data for the completed task
- - For subtasks, offers to finish the subtask and resume the parent task
- - Supports continued conversation through the feedback mechanism
-
-6. **Implementation Integration**:
- - Tool results are parsed through the system's parsing mechanism in `parse-assistant-message.ts`
- - The tool is part of the "ALWAYS_AVAILABLE_TOOLS" constant, making it available in all modes
-
----
-
-## Result Formatting Guidelines
-
-The result message should follow these guidelines:
-
-- Clearly communicate what was accomplished
-- Be concise but complete
-- Focus on the value delivered to the user
-- Avoid unnecessary pleasantries or filler text
-- Maintain a professional, straightforward tone
-- Present information in a way that's easy to scan and understand
-- Acknowledge that the user may provide feedback for further refinements
-
-Note: The system automatically strips XML closing tags from the result text through the `removeClosingTag` function.
-
----
-
-## Command Selection Guidelines
-
-When including a command, follow these guidelines:
-
-- Choose commands that visually demonstrate the result
-- Prefer commands that show the user what was created or modified
-- Examples include:
- * `open index.html` to display a created website
- * `npm start` to launch a development server
- * `python app.py` to run a created application
-- Avoid commands that merely print text (like `echo` or `cat`)
-- Remember that commands require user approval before execution
-- Ensure the command is valid for the user's operating system
-
----
-
-## Feedback and UI Representation
-
-The `attempt_completion` tool has a unique feedback mechanism:
-
-- Results appear in a special "completion_result" UI format distinct from regular messages
-- The system waits for user feedback after presenting the result
-- Feedback is processed and returned to Roo for further refinements
-- This creates an iterative improvement cycle rather than ending the conversation
-- The UI includes special elements for providing feedback
-- Results serve as clear checkpoints in the conversation flow
-
-When used within subtasks:
-- The system offers to finish the subtask and resume the parent task
-- If approved, the subtask is completed with a summary
-- The parent task resumes with context from the completed subtask
-- This enables complex, nested workflows while maintaining context
-
----
-
-## Examples When Used
-
-- When creating a website, Roo presents the solution and uses `open index.html` to show the result. The user provides feedback, and Roo refines the design.
-- When implementing a feature, Roo summarizes the changes and their impact. The user requests additional test coverage, and Roo continues the task.
-- When fixing bugs, Roo explains what was fixed and how the solution addresses the root cause. The user confirms the fix works.
-- When setting up a development environment, Roo confirms all components are installed. The user requests additional configuration, and Roo continues.
-- When creating a data processing script, Roo summarizes the functionality. The user suggests performance improvements, and Roo optimizes the code.
-
----
-
-## Usage Examples
-
-
-Completing a task with just a result summary:
-```
-
-
-I've updated the CSS for the navigation bar to match the design mockup. The changes include:
-1. Updated color scheme to use the new brand colors
-2. Added responsive behavior for mobile devices
-3. Fixed the alignment issues in the dropdown menus
-
-
-```
-
-Completing a task with a result and demonstration command:
-```
-
-
-I've created a simple React application with the following features:
-1. A responsive landing page with the requested hero section
-2. A working contact form with validation
-3. Navigation between all three requested pages
-4. Styling that matches the provided design mockup
-
-npm start
-
-```
-
-Completing a Python script task with execution:
-```
-
-
-I've created a data processing script that:
-1. Reads the CSV files from the data directory
-2. Cleans and normalizes the data as requested
-3. Generates the summary statistics in JSON format
-4. Outputs the processed data to the output directory
-
-python process_data.py
-
-```
diff --git a/docs/advanced-usage/available-tools/codebase-search.md b/docs/advanced-usage/available-tools/codebase-search.md
deleted file mode 100644
index a9d04770..00000000
--- a/docs/advanced-usage/available-tools/codebase-search.md
+++ /dev/null
@@ -1,256 +0,0 @@
----
-description: Perform intelligent semantic searches across your codebase using AI embeddings to find relevant code by meaning, not just keywords.
-keywords:
- - codebase_search
- - semantic search
- - AI embeddings
- - code search
- - Roo Code tools
- - vector search
- - Qdrant
----
-
-# codebase_search
-
-:::info Setup Required
-The `codebase_search` tool is part of the [Codebase Indexing](/features/codebase-indexing) feature. It requires additional setup including an embedding provider and vector database.
-:::
-
-The `codebase_search` tool performs semantic searches across your entire codebase using AI embeddings. Unlike traditional text-based search, it understands the meaning of your queries and finds relevant code even when exact keywords don't match.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `query` (required): Natural language search query describing what you're looking for
-- `path` (optional): Directory path to limit search scope to a specific part of your codebase
-
----
-
-## What It Does
-
-This tool searches through your indexed codebase using semantic similarity rather than exact text matching. It finds code blocks that are conceptually related to your query, even if they don't contain the exact words you searched for. Results include relevant code snippets with file paths, line numbers, and similarity scores.
-
----
-
-## When is it used?
-
-- When Roo needs to find code related to specific functionality across your project
-- When looking for implementation patterns or similar code structures
-- When searching for error handling, authentication, or other conceptual code patterns
-- When exploring unfamiliar codebases to understand how features are implemented
-- When finding related code that might be affected by changes or refactoring
-
----
-
-## Key Features
-
-- **Semantic Understanding**: Finds code by meaning rather than exact keyword matches
-- **Cross-Project Search**: Searches across your entire indexed codebase, not just open files
-- **Contextual Results**: Returns code snippets with file paths and line numbers for easy navigation
-- **Similarity Scoring**: Results ranked by relevance with similarity scores (0-1 scale)
-- **Scope Filtering**: Optional path parameter to limit searches to specific directories
-- **Intelligent Ranking**: Results sorted by semantic relevance to your query
-- **UI Integration**: Results displayed with syntax highlighting and navigation links
-- **Performance Optimized**: Fast vector-based search with configurable result limits
-
----
-
-## Requirements
-
-This tool is only available when the Codebase Indexing feature is properly configured:
-
-- **Feature Configured**: Codebase Indexing must be configured in settings
-- **Embedding Provider**: OpenAI API key or Ollama configuration required
-- **Vector Database**: Qdrant instance running and accessible
-- **Index Status**: Codebase must be indexed (status: "Indexed" or "Indexing")
-
----
-
-## Limitations
-
-- **Requires Configuration**: Depends on external services (embedding provider + Qdrant)
-- **Index Dependency**: Only searches through indexed code blocks
-- **Result Limits**: Maximum of 50 results per search to maintain performance
-- **Similarity Threshold**: Only returns results above similarity threshold (default: 0.4, configurable)
-- **File Size Limits**: Limited to files under 1MB that were successfully indexed
-- **Language Support**: Effectiveness depends on Tree-sitter language support
-
----
-
-## How It Works
-
-When the `codebase_search` tool is invoked, it follows this process:
-
-1. **Availability Validation**:
- - Verifies that the CodeIndexManager is available and initialized
- - Confirms codebase indexing is enabled in settings
- - Checks that indexing is properly configured (API keys, Qdrant URL)
- - Validates the current index state allows searching
-
-2. **Query Processing**:
- - Takes your natural language query and generates an embedding vector
- - Uses the same embedding provider configured for indexing (OpenAI or Ollama)
- - Converts the semantic meaning of your query into a mathematical representation
-
-3. **Vector Search Execution**:
- - Searches the Qdrant vector database for similar code embeddings
- - Uses cosine similarity to find the most relevant code blocks
- - Applies the minimum similarity threshold (default: 0.4, configurable) to filter results
- - Limits results to 50 matches for optimal performance
-
-4. **Path Filtering** (if specified):
- - Filters results to only include files within the specified directory path
- - Uses normalized path comparison for accurate filtering
- - Maintains relevance ranking within the filtered scope
-
-5. **Result Processing and Formatting**:
- - Converts absolute file paths to workspace-relative paths
- - Structures results with file paths, line ranges, similarity scores, and code content
- - Formats for both AI consumption and UI display with syntax highlighting
-
-6. **Dual Output Format**:
- - **AI Output**: Structured text format with query, file paths, scores, and code chunks
- - **UI Output**: JSON format with syntax highlighting and navigation capabilities
-
----
-
-## Search Query Best Practices
-
-### Effective Query Patterns
-
-**Good: Conceptual and specific**
-```xml
-
-user authentication and password validation
-
-```
-
-**Good: Feature-focused**
-```xml
-
-database connection pool setup
-
-```
-
-**Good: Problem-oriented**
-```xml
-
-error handling for API requests
-
-```
-
-**Less effective: Too generic**
-```xml
-
-function
-
-```
-
-### Query Types That Work Well
-
-- **Functional Descriptions**: "file upload processing", "email validation logic"
-- **Technical Patterns**: "singleton pattern implementation", "factory method usage"
-- **Domain Concepts**: "user profile management", "payment processing workflow"
-- **Architecture Components**: "middleware configuration", "database migration scripts"
-
----
-
-## Directory Scoping
-
-Use the optional `path` parameter to focus searches on specific parts of your codebase:
-
-**Search within API modules:**
-```xml
-
-endpoint validation middleware
-src/api
-
-```
-
-**Search in test files:**
-```xml
-
-mock data setup patterns
-tests
-
-```
-
-**Search specific feature directories:**
-```xml
-
-component state management
-src/components/auth
-
-```
-
----
-
-## Result Interpretation
-
-### Similarity Scores
-
-- **0.8-1.0**: Highly relevant matches, likely exactly what you're looking for
-- **0.6-0.8**: Good matches with strong conceptual similarity
-- **0.4-0.6**: Potentially relevant but may require review
-- **Below 0.4**: Filtered out as too dissimilar
-
-### Result Structure
-
-Each search result includes:
-- **File Path**: Workspace-relative path to the file containing the match
-- **Score**: Similarity score indicating relevance (0.4-1.0)
-- **Line Range**: Start and end line numbers for the code block
-- **Code Chunk**: The actual code content that matched your query
-
----
-
-## Examples When Used
-
-- When implementing a new feature, Roo searches for "authentication middleware" to understand existing patterns before writing new code.
-- When debugging an issue, Roo searches for "error handling in API calls" to find related error patterns across the codebase.
-- When refactoring code, Roo searches for "database transaction patterns" to ensure consistency across all database operations.
-- When onboarding to a new codebase, Roo searches for "configuration loading" to understand how the application bootstraps.
-
----
-
-## Usage Examples
-
-Searching for authentication-related code across the entire project:
-```xml
-
-user login and authentication logic
-
-```
-
-Finding database-related code in a specific directory:
-```xml
-
-database connection and query execution
-src/data
-
-```
-
-Looking for error handling patterns in API code:
-```xml
-
-HTTP error responses and exception handling
-src/api
-
-```
-
-Searching for testing utilities and mock setups:
-```xml
-
-test setup and mock data creation
-tests
-
-```
-
-Finding configuration and environment setup code:
-```xml
-
-environment variables and application configuration
-
\ No newline at end of file
diff --git a/docs/advanced-usage/available-tools/edit-file.md b/docs/advanced-usage/available-tools/edit-file.md
deleted file mode 100644
index 8cad6822..00000000
--- a/docs/advanced-usage/available-tools/edit-file.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-description: Replace a uniquely-identified occurrence of text in files using the edit_file search-and-replace tool in Roo Code.
-keywords:
- - edit_file
- - search and replace
- - file editing
- - text replacement
- - Roo Code tools
- - code modifications
----
-
-# edit_file
-
-The `edit_file` tool performs targeted search-and-replace operations on files. By default it replaces **exactly one** uniquely-identified occurrence and errors if multiple matches are found. It also supports a special file-creation mode when `old_string` is empty.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `file_path` (required): The path of the file to modify relative to the current working directory.
-- `old_string` (required): The exact text to search for and replace. Pass an empty string (`""`) to create a new file or append to an existing file.
-- `new_string` (required): The replacement text.
-- `expected_replacements` (optional): Expected number of replacements (defaults to 1). The operation fails if the actual count doesn't match. Use this only when intentionally replacing more than one occurrence.
-
----
-
-## What It Does
-
-This tool searches for an exact string in a file and replaces **exactly one** occurrence with new text. The search string must uniquely identify the target location. If multiple matches are found, the tool returns an error unless `expected_replacements` is explicitly set to match. When `old_string` is empty, the tool creates a new file or appends `new_string` to an existing file.
-
----
-
-## When is it used?
-
-- When making a targeted change to a specific, uniquely identifiable location in a file
-- When updating a specific string literal or configuration value at a known location
-- When fixing a specific instance of a typo or outdated terminology
-- When replacing a uniquely-identified occurrence of a deprecated API or import path
-- When creating a new file or appending content to an existing file (`old_string=""`)
-- When you need to ensure exact match replacement without fuzzy logic
-
----
-
-## Key Features
-
-- Replaces **exactly one** uniquely-identified occurrence by default
-- Errors if multiple matches are found (unless `expected_replacements` is explicitly set)
-- `old_string=""` mode: creates a new file or appends content to an existing file
-- Exact string matching (no regex or fuzzy matching)
-- Optional `expected_replacements` for intentional multi-occurrence replacements
-- Shows preview of changes before applying
-- Fails safely if actual replacement count doesn't match `expected_replacements`
-- Preserves file formatting and structure
-
----
-
-## Limitations
-
-- Requires exact string matches (case-sensitive, whitespace-sensitive)
-- Errors if the search string matches more than one location (unless `expected_replacements` is set)
-- Cannot use regular expressions or patterns
-- Not suitable for context-dependent replacements
-- Less precise than [`apply_diff`](/advanced-usage/available-tools/apply-diff) for complex edits
-
----
-
-## How It Works
-
-When the `edit_file` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates required `file_path`, `old_string`, and `new_string` parameters.
-2. **File Creation Mode**: If `old_string` is empty (`""`), creates the file with `new_string` as content (or appends if the file already exists), then stops.
-3. **File Loading**: Reads the target file content.
-4. **Uniqueness Check**: Counts occurrences of `old_string`. If the count doesn't match `expected_replacements` (default: 1), returns an error.
-5. **Replacement**: Replaces the matched occurrence(s) with `new_string`.
-6. **User Review**: Shows a preview of changes for user approval.
-7. **Application**: Applies changes to the file if approved.
-8. **Feedback**: Reports the number of replacements made.
-
----
-
-## Relation to Other Tools
-
-- `edit_file`: Replaces **exactly one** uniquely-identified occurrence by default; supports `old_string=""` file creation (this tool)
-- [`edit`](/advanced-usage/available-tools/edit): Replaces **first occurrence** only (unless `replace_all: true`)
-- [`search_replace`](/advanced-usage/available-tools/search-replace): Also replaces **exactly one** uniquely-identified occurrence
-- [`apply_diff`](/advanced-usage/available-tools/apply-diff): Use for precise, context-aware edits with fuzzy matching
-
-These are different implementations of search-and-replace with varying capabilities.
diff --git a/docs/advanced-usage/available-tools/edit.md b/docs/advanced-usage/available-tools/edit.md
deleted file mode 100644
index f19ab488..00000000
--- a/docs/advanced-usage/available-tools/edit.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-description: Replace the first or all occurrences of text using the edit search-and-replace tool in Roo Code.
-keywords:
- - edit
- - search and replace
- - file editing
- - text replacement
- - Roo Code tools
- - code modifications
----
-
-# edit
-
-The `edit` tool performs search-and-replace operations on files, replacing either the **first occurrence** (default) or **all occurrences** when explicitly specified. It provides flexible control over replacement scope.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `file_path` (required): The path of the file to modify relative to the current working directory.
-- `old_string` (required): The exact text to search for and replace.
-- `new_string` (required): The text to replace occurrences with.
-- `replace_all` (optional): Boolean flag. When `true`, replaces all occurrences. When `false` or omitted, replaces only the first occurrence.
-
----
-
-## What It Does
-
-This tool searches for an exact string in a file and replaces either the first occurrence or all occurrences based on the `replace_all` parameter. By default, it replaces only the **first match**, making it suitable for targeted single-instance changes.
-
----
-
-## When is it used?
-
-- When updating a single specific occurrence of text (default behavior)
-- When the first instance requires different handling than subsequent ones
-- When you need explicit control over whether to replace once or globally
-- When making targeted changes to specific instances without affecting others
-- When replacing all instances by setting `replace_all: true`
-
----
-
-## Key Features
-
-- Replaces **first occurrence only** by default (conservative behavior)
-- Optional `replace_all` parameter for global replacement
-- Exact string matching (no regex or fuzzy matching)
-- Shows preview of changes before applying
-- Preserves file formatting and structure
-- User approval required before applying changes
-
----
-
-## Limitations
-
-- Requires exact string matches (case-sensitive, whitespace-sensitive)
-- Cannot use regular expressions or patterns
-- Not suitable for context-dependent replacements requiring code analysis
-- Less precise than [`apply_diff`](/advanced-usage/available-tools/apply-diff) for complex edits
-- Cannot specify which specific occurrence to replace (first vs. second vs. third)
-
----
-
-## How It Works
-
-When the `edit` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates required `file_path`, `old_string`, and `new_string` parameters.
-2. **File Loading**: Reads the target file content.
-3. **Search Operation**: Searches for occurrences of `old_string` in the file.
-4. **Replacement Logic**:
- - If `replace_all` is `false` or omitted: replaces only the first occurrence
- - If `replace_all` is `true`: replaces all occurrences
-5. **User Review**: Shows a preview of changes for user approval.
-6. **Application**: Applies changes to the file if approved.
-7. **Feedback**: Reports the result of the operation.
-
----
-
-## Relation to Other Tools
-
-- `edit`: Replaces **first occurrence** by default (this tool)
-- [`edit_file`](/advanced-usage/available-tools/edit-file): Always replaces **all occurrences**
-- [`search_replace`](/advanced-usage/available-tools/search-replace): Always replaces **all occurrences**
-- [`apply_diff`](/advanced-usage/available-tools/apply-diff): Use for precise, context-aware edits with fuzzy matching
-
-:::info Deprecated Alias
-`SearchAndReplaceTool` is a deprecated internal alias for `EditTool`. They are the same tool.
-:::
diff --git a/docs/advanced-usage/available-tools/execute-command.md b/docs/advanced-usage/available-tools/execute-command.md
deleted file mode 100644
index a4c6107b..00000000
--- a/docs/advanced-usage/available-tools/execute-command.md
+++ /dev/null
@@ -1,183 +0,0 @@
----
-description: Execute terminal commands in Roo Code for system operations, dependency installation, builds, and development workflows.
-keywords:
- - execute_command
- - CLI commands
- - terminal
- - system operations
- - Roo Code tools
- - command execution
- - shell integration
----
-
-# execute_command
-
-The `execute_command` tool runs CLI commands on the user's system. It allows Roo to perform system operations, install dependencies, build projects, start servers, and execute other terminal-based tasks needed to accomplish user objectives.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `command` (required): The CLI command to execute. Must be valid for the user's operating system.
-- `cwd` (optional): The working directory to execute the command in. If not provided, the current working directory is used.
-
----
-
-## What It Does
-
-This tool executes terminal commands directly on the user's system, enabling a wide range of operations from file manipulations to running development servers. Commands run in managed terminal instances with real-time output capture, integrated with VS Code's terminal system for optimal performance and security.
-
----
-
-## When is it used?
-
-- When installing project dependencies (npm install, pip install, etc.)
-- When building or compiling code (make, npm run build, etc.)
-- When starting development servers or running applications
-- When initializing new projects (git init, npm init, etc.)
-- When performing file operations beyond what other tools provide
-- When running tests or linting operations
-- When needing to execute specialized commands for specific technologies
-
----
-
-## Key Features
-
-- Integrates with VS Code shell API for reliable terminal execution
-- Reuses terminal instances when possible through a registry system
-- Captures command output line by line with real-time feedback
-- Supports long-running commands that continue in the background
-- Allows specification of custom working directories
-- Maintains terminal history and state across command executions
-- Handles complex command chains appropriate for the user's shell
-- Provides detailed command completion status and exit code interpretation
-- Supports interactive terminal applications with user feedback loop
-- Shows terminals during execution for transparency
-- Validates commands for security using shell-quote parsing
-- Blocks potentially dangerous subshell execution patterns
-- Integrates with RooIgnore system for file access control
-- Handles terminal escape sequences for clean output
-
----
-
-## Limitations
-
-- Command access may be restricted by RooIgnore rules and security validations
-- Commands with elevated permission requirements may need user configuration
-- Behavior may vary across operating systems for certain commands
-- Very long-running commands may require specific handling
-- File paths should be properly escaped according to the OS shell rules
-- Not all terminal features may work with remote development scenarios
-
----
-
-## How It Works
-
-When the `execute_command` tool is invoked, it follows this process:
-
-1. **Command Validation and Security Checks**:
- - Parses the command using shell-quote to identify components
- - Validates against security restrictions (subshell usage, restricted files)
- - Checks against RooIgnore rules for file access permissions
- - Ensures the command meets system security requirements
-
-2. **Terminal Management**:
- - Gets or creates a terminal through TerminalRegistry
- - Sets up the working directory context
- - Prepares event listeners for output capture
- - Shows the terminal for user visibility
-
-3. **Command Execution and Monitoring**:
- - Executes via VS Code's shellIntegration API
- - Captures output with escape sequence processing
- - Throttles output handling (100ms intervals)
- - Monitors for command completion or errors
- - Detects "hot" processes like compilers for special handling
-
-4. **Result Processing**:
- - Strips ANSI/VS Code escape sequences for clean output
- - Interprets exit codes with detailed signal information
- - Updates working directory tracking if changed by command
- - Provides command status with appropriate context
-
----
-
-## Terminal Implementation Details
-
-The tool uses a sophisticated terminal management system:
-
-1. **First Priority: Terminal Reuse**
- - The TerminalRegistry tries to reuse existing terminals when possible
- - This reduces proliferation of terminal instances and improves performance
- - Terminal state (working directory, history) is preserved across commands
-
-2. **Second Priority: Security Validation**
- - Commands are parsed using shell-quote for component analysis
- - Dangerous patterns like `$(...)` and backticks are blocked
- - Commands are checked against RooIgnore rules for file access control
- - A prefix-based allowlist system validates command patterns
-
-3. **Performance Optimizations**
- - Output is processed in 100ms throttled intervals to prevent UI overload
- - Zero-copy buffer management uses index-based tracking for efficiency
- - Special handling for compilation and "hot" processes
- - Platform-specific optimizations for Windows PowerShell
-
-4. **Error and Signal Handling**
- - Exit codes are mapped to detailed signal information (SIGTERM, SIGKILL, etc.)
- - Core dump detection for critical failures
- - Working directory changes are tracked and handled automatically
- - Clean recovery from terminal disconnection scenarios
-
----
-
-## Examples When Used
-
-- When setting up a new project, Roo runs initialization commands like `npm init -y` followed by installing dependencies.
-- When building a web application, Roo executes build commands like `npm run build` to compile assets.
-- When deploying code, Roo runs git commands to commit and push changes to a repository.
-- When troubleshooting, Roo executes diagnostic commands to gather system information.
-- When starting a development server, Roo launches the appropriate server command (e.g., `npm start`).
-- When running tests, Roo executes the test runner command for the project's testing framework.
-
----
-
-## Usage Examples
-
-Running a simple command in the current directory:
-```
-
-npm run dev
-
-```
-
-Installing dependencies for a project:
-```
-
-npm install express mongodb mongoose dotenv
-
-```
-
-Running multiple commands in sequence:
-```
-
-mkdir -p src/components && touch src/components/App.js
-
-```
-
-Executing a command in a specific directory:
-```
-
-git status
-./my-project
-
-```
-
-Building and then starting a project:
-```
-
-npm run build && npm start
-
-```
diff --git a/docs/advanced-usage/available-tools/generate-image.md b/docs/advanced-usage/available-tools/generate-image.md
deleted file mode 100644
index 27fe4b3e..00000000
--- a/docs/advanced-usage/available-tools/generate-image.md
+++ /dev/null
@@ -1,125 +0,0 @@
----
-description: Generate or edit images using AI models through the generate_image tool in Roo Code.
-keywords:
- - generate_image
- - AI images
- - image generation
- - image editing
- - OpenRouter
- - Roo Code tools
- - experimental
----
-
-# generate_image
-
-The `generate_image` tool creates new images from text prompts or modifies existing images using AI models. It supports two providers: **OpenRouter** and the **Roo provider**. This experimental feature enables visual content generation and transformation within your development workflow.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `prompt` (required): The text description of what to generate or how to edit the image.
-- `path` (required): The file path where the generated/edited image should be saved (relative to the workspace). The tool automatically adds the appropriate extension if not provided.
-- `image` (optional): The file path to an input image to edit or transform (relative to the workspace). Supported formats: PNG, JPG, JPEG, GIF, WEBP.
-
----
-
-## What It Does
-
-This tool generates images from text descriptions or applies transformations to existing images using AI models. When no input image is provided, it creates new images from scratch. When an input image is provided, it applies the prompt as editing instructions to transform the image.
-
----
-
-## When is it used?
-
-- When creating visual assets for documentation, mockups, or prototypes
-- When generating placeholder images or illustrations
-- When transforming existing images (style transfer, enhancement, modifications)
-- When creating diagrams or visual explanations from descriptions
-- When prototyping UI elements visually
-
----
-
-## Key Features
-
-- **Text-to-image generation**: Create images from descriptive prompts
-- **Image-to-image transformation**: Edit or transform existing images
-- Supports multiple input formats (PNG, JPG, JPEG, GIF, WEBP)
-- Automatic file extension handling
-- Powered by **OpenRouter** or the **Roo provider** for access to various AI models
-- Experimental feature with ongoing improvements
-
----
-
-## Limitations
-
-- Requires OpenRouter or Roo provider API configuration
-- Image quality depends on the AI model and prompt quality
-- Generation time varies based on complexity and model
-- Experimental feature: behavior may change in future releases
-- API usage may incur costs based on OpenRouter pricing
-- Some image transformations may not produce expected results
-
----
-
-## How It Works
-
-When the `generate_image` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates required `prompt` and `path` parameters.
-2. **Mode Selection**:
- - If `image` parameter is provided: operates in **edit mode** (transform existing image)
- - Otherwise: operates in **generation mode** (create new image from prompt)
-3. **API Request**: Sends request to the configured provider (OpenRouter or Roo) with prompt and optional input image.
-4. **Image Processing**: Receives generated/edited image from the API.
-5. **File Saving**: Saves the image to the specified `path` with appropriate extension.
-6. **Feedback**: Reports success and the location of the generated image.
-
----
-
-## Usage Examples
-
-Generating a new image:
-```
-
- A beautiful sunset over mountains with vibrant orange and purple colors
- images/sunset.png
-
-```
-
-Editing an existing image:
-```
-
- Transform this image into a watercolor painting style
- images/watercolor-output.png
- images/original-photo.jpg
-
-```
-
-Upscaling and enhancing:
-```
-
- Upscale this image to higher resolution, enhance details, improve clarity and sharpness while maintaining the original content and composition
- images/enhanced-photo.png
- images/low-res-photo.jpg
-
-```
-
----
-
-## Relation to Features
-
-The `generate_image` tool is the programmatic interface to the [Image Generation](/features/image-generation) feature. For comprehensive documentation on configuration, model selection, API setup, and advanced usage, see the [Image Generation feature documentation](/features/image-generation).
-
----
-
-## Configuration
-
-Image generation requires OpenRouter API configuration. See the [Image Generation](/features/image-generation) feature page for detailed setup instructions including:
-
-- OpenRouter API key configuration
-- Model selection and capabilities
-- Best practices for prompts
-- Troubleshooting and limitations
diff --git a/docs/advanced-usage/available-tools/list-files.md b/docs/advanced-usage/available-tools/list-files.md
deleted file mode 100644
index f205426f..00000000
--- a/docs/advanced-usage/available-tools/list-files.md
+++ /dev/null
@@ -1,163 +0,0 @@
----
-description: Learn how the list_files tool helps Roo Code explore project structures, list directories, and navigate codebases with recursive and filtered listing capabilities.
-keywords:
- - list_files
- - Roo Code tools
- - directory listing
- - file exploration
- - project structure
- - recursive listing
- - codebase navigation
- - VS Code AI
----
-
-# list_files
-
-The `list_files` tool displays the files and directories within a specified location. It helps Roo understand your project structure and navigate your codebase effectively.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `path` (required): The path of the directory to list contents for, relative to the current working directory
-- `recursive` (optional): Whether to list files recursively. Use `true` for recursive listing, `false` or omit for top-level only.
-
----
-
-## What It Does
-
-This tool lists all files and directories in a specified location, providing a clear overview of your project structure. It can either show just the top-level contents or recursively explore subdirectories.
-
----
-
-## When is it used?
-
-- When Roo needs to understand your project structure
-- When Roo explores what files are available before reading specific ones
-- When Roo maps a codebase to better understand its organization
-- Before using more targeted tools like `read_file` or `search_files`
-- When Roo needs to check for specific file types (like configuration files) across a project
-
----
-
-## Key Features
-
-- Lists both files and directories with directories clearly marked
-- Offers both recursive and non-recursive listing modes
-- Intelligently ignores common large directories like `node_modules` and `.git` in recursive mode
-- Respects `.gitignore` rules when in recursive mode
-- Marks files ignored by `.rooignore` with a lock symbol (🔒) when `showRooIgnoredFiles` is enabled
-- Optimizes file listing performance by leveraging the `ripgrep` tool.
-- Sorts results to show directories before their contents, maintaining a logical hierarchy
-- Presents results in a clean, organized format
-- Automatically creates a mental map of your project structure
-
----
-
-## Limitations
-
-- File listing is capped at about 200 files by default to prevent performance issues
-- The underlying `ripgrep` file listing process has a 10-second timeout; if exceeded, partial results may be returned.
-- When the file limit is hit, it adds a note suggesting to use `list_files` on specific subdirectories
-- Not designed for confirming the existence of files you've just created
-- May have reduced performance in very large directory structures
-- Cannot list files in root or home directories for security reasons
-
----
-
-## How It Works
-
-When the `list_files` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates the required `path` parameter and optional `recursive` parameter
-2. **Path Resolution**: Resolves the relative path to an absolute path
-3. **Security Checks**: Prevents listing files in sensitive locations like root or home directories
-4. **Directory/File Scanning**:
- - Uses the `ripgrep` tool to efficiently list files, applying a 10-second timeout.
- - Uses Node.js `fs` module to list directories.
- - Applies different filtering logic for recursive vs. non-recursive modes.
-5. **Result Filtering**:
- - In recursive mode, skips common large directories like `node_modules`, `.git`, etc.
- - Respects `.gitignore` rules when in recursive mode
- - Handles `.rooignore` patterns, either hiding files or marking them with a lock symbol
-6. **Formatting**:
- - Marks directories with a trailing slash (`/`)
- - Sorts results to show directories before their contents for logical hierarchy
- - Marks ignored files with a lock symbol (🔒) when `showRooIgnoredFiles` is enabled
- - Caps results at 200 files by default with a note about using subdirectories
- - Organizes results for readability
-
----
-
-## File Listing Format
-
-The file listing results include:
-
-- Each file path is displayed on its own line
-- Directories are marked with a trailing slash (`/`)
-- Files ignored by `.rooignore` are marked with a lock symbol (🔒) when `showRooIgnoredFiles` is enabled
-- Results are sorted logically with directories appearing before their contents
-- When the file limit is reached, a message appears suggesting to use `list_files` on specific subdirectories
-
-Example output format:
-```
-src/
-src/components/
-src/components/Button.tsx
-src/components/Header.tsx
-src/utils/
-src/utils/helpers.ts
-src/index.ts
-...
-File listing truncated (showing 200 of 543 files). Use list_files on specific subdirectories for more details.
-```
-
-When `.rooignore` files are used and `showRooIgnoredFiles` is enabled:
-```
-src/
-src/components/
-src/components/Button.tsx
-src/components/Header.tsx
-🔒 src/secrets.json
-src/utils/
-src/utils/helpers.ts
-src/index.ts
-```
-
----
-
-## Examples When Used
-
-- When starting a new task, Roo may list the project files to understand its structure before diving into specific code.
-- When asked to find specific types of files (like all JavaScript files), Roo first lists directories to know where to look.
-- When providing recommendations for code organization, Roo examines the current project structure first.
-- When setting up a new feature, Roo lists related directories to understand the project conventions.
-
----
-
-## Usage Examples
-
-Listing top-level files in the current directory:
-```
-
-.
-
-```
-
-Recursively listing all files in a source directory:
-```
-
-src
-true
-
-```
-
-Examining a specific project subdirectory:
-```
-
-src/components
-false
-
-```
diff --git a/docs/advanced-usage/available-tools/new-task.md b/docs/advanced-usage/available-tools/new-task.md
deleted file mode 100644
index f3db8fdc..00000000
--- a/docs/advanced-usage/available-tools/new-task.md
+++ /dev/null
@@ -1,163 +0,0 @@
----
-description: Discover how the new_task tool enables complex workflow management by creating subtasks with different modes, maintaining parent-child relationships for organized development.
-keywords:
- - new_task
- - Roo Code tools
- - subtasks
- - workflow management
- - task hierarchy
- - mode switching
- - complex projects
- - task organization
- - VS Code AI
----
-
-# new_task
-
-The `new_task` tool creates subtasks with specialized modes while maintaining a parent-child relationship. It breaks down complex projects into manageable pieces, each operating in the mode best suited for specific work.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `mode` (required): The slug of the mode to start the new task in (e.g., "code", "ask", "architect")
-- `message` (required): The initial user message or instructions for this new task
-- `todos` (optional): Initial todo list in markdown checklist format
-
----
-
-## What It Does
-
-This tool creates a new task instance with a specified starting mode and initial message. It allows complex workflows to be divided into subtasks with their own conversation history. Parent tasks are paused during subtask execution and resumed when the subtask completes, with results transferred back to the parent.
-
----
-
-## When is it used?
-
-- When breaking down complex projects into separate, focused subtasks
-- When different aspects of a task require different specialized modes
-- When different phases of work benefit from context separation
-- When organizing multi-phase development workflows
-
----
-
-## Key Features
-
-- Creates subtasks with their own conversation history and specialized mode
-- Pauses parent tasks for later resumption
-- Maintains hierarchical task relationships for navigation
-- Transfers results back to parent tasks upon completion
-- Supports workflow segregation for complex projects
-- Allows different parts of a project to use modes optimized for specific work
-- Requires explicit user approval for task creation
-- Provides clear task transition in the UI
-
----
-
-## Limitations
-
-- Cannot create tasks with modes that don't exist
-- Requires user approval before creating each new task
-- Task interface may become complex with deeply nested subtasks
-- Subtasks inherit certain workspace and extension configurations from parents
-- May require re-establishing context when switching between deeply nested tasks
-- Task completion needs explicit signaling to properly return to parent tasks
-
----
-
-## How It Works
-
-When the `new_task` tool is invoked, it follows this process:
-
-1. **Parameter Validation**:
- - Validates the required `mode` and `message` parameters
- - Verifies that the requested mode exists in the system
-
-2. **Task Stack Management**:
- - Maintains a task stack that tracks all active and paused tasks
- - Preserves the current mode for later resumption
- - Sets the parent task to paused state
-
-3. **Task Context Management**:
- - Creates a new task context with the provided message
- - Assigns unique taskId and instanceId identifiers for state management
- - Captures telemetry data on tool usage and task lifecycles
-
-4. **Mode Switching and Integration**:
- - Switches to the specified mode with appropriate role and capabilities
- - Initializes the new task with the provided message
- - Integrates with VS Code's command palette and code actions
-
-5. **Task Completion and Result Transfer**:
- - When subtask completes, result is passed back to parent task via `finishSubTask()`
- - Parent task resumes in its original mode
- - Task history and token usage metrics are updated
- - The `taskCompleted` event is emitted with performance data
-
----
-
-## Configuration
-
-Streamline hierarchical task planning with the optional todo list parameter for subtasks:
-
-- **Pass Todo Lists**: Include predefined todo lists when creating subtasks
-- **Maintain Context**: Pass along context to the subtask in the form of a todo list
-- **Optional Enforcement**: The "New Task Require Todos" setting in VS Code can enforce todo lists for all new subtasks if desired
-
-
-
-This feature works out of the box, and you can optionally configure VS Code settings to require todos for all new tasks.
-
----
-
-## Examples When Used
-
-- When a front-end developer needs to architect a new feature, implement the code, and document it, they can create separate tasks for each phase with results flowing from one phase to the next.
-- When debugging an issue before implementing a fix, the debugging task can document findings that are passed to the implementation task.
-- When developing a full-stack application, database schema designs from an architect-mode task inform implementation details in a subsequent code-mode task.
-- When documenting a system after implementation, the documentation task can reference the completed implementation while using documentation-specific features.
-
----
-
-## Usage Examples
-
-Creating a new task in code mode:
-```
-
-code
-Implement a user authentication service with login, registration, and password reset functionality.
-
-```
-
-Creating a documentation task after completing implementation:
-```
-
-docs
-Create comprehensive API documentation for the authentication service we just built.
-
-```
-
-Breaking down a complex feature into architectural planning and implementation:
-```
-
-architect
-Design the database schema and system architecture for our new e-commerce platform.
-
-```
-
-Creating a task with an initial todo list:
-```
-
-code
-Build a REST API for user management
-
-[ ] Set up Express server
-[ ] Create user model
-[ ] Implement CRUD endpoints
-[ ] Add authentication middleware
-[ ] Write API tests
-
-
-```
diff --git a/docs/advanced-usage/available-tools/read-command-output.md b/docs/advanced-usage/available-tools/read-command-output.md
deleted file mode 100644
index 019e9ae1..00000000
--- a/docs/advanced-usage/available-tools/read-command-output.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-description: Retrieve full command output that was truncated in execute_command using the read_command_output tool in Roo Code.
-keywords:
- - read_command_output
- - command output
- - truncated output
- - CLI output
- - terminal output
- - Roo Code tools
- - artifact retrieval
----
-
-# read_command_output
-
-The `read_command_output` tool retrieves the full output from commands executed via [`execute_command`](/advanced-usage/available-tools/execute-command) when the output was too large and got truncated. It provides access to stored command output artifacts with advanced filtering and pagination capabilities.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `artifact_id` (required): The artifact filename from the truncated output message (e.g., `cmd-1706119234567.txt`).
-- `search` (optional): Pattern to filter lines (supports regex or literal strings). Case-insensitive. Similar to `grep`. **Omit entirely if not needed** (do not pass null or empty string).
-- `offset` (optional): Byte offset to start reading from for pagination. Default: 0.
-- `limit` (optional): Maximum bytes to return. Default: 40KB (40960 bytes).
-
----
-
-## What It Does
-
-When [`execute_command`](/advanced-usage/available-tools/execute-command) produces very large output, it gets truncated and saved to an artifact file. This tool retrieves the full output from those artifacts, with support for searching specific patterns (like grep) and paginating through large results.
-
----
-
-## When is it used?
-
-- When [`execute_command`](/advanced-usage/available-tools/execute-command) output includes the message: `[OUTPUT TRUNCATED - Full output saved to artifact: cmd-XXXX.txt]`
-- When you need to search for specific errors or patterns in large command output
-- When analyzing verbose build logs, test results, or compilation output
-- When paginating through command output that's too large to view at once
-- When filtering command output to find relevant lines without reading everything
-
----
-
-## Key Features
-
-- **Read mode**: Access full output with pagination using `offset` and `limit`
-- **Search mode**: Filter lines matching a regex or literal pattern (case-insensitive)
-- Handles very large command outputs efficiently
-- Similar to `grep` for filtering output
-- Byte-level pagination for precise control
-- Access to complete untruncated command output
-
----
-
-## Limitations
-
-- Only works with artifacts created by [`execute_command`](/advanced-usage/available-tools/execute-command)
-- Artifacts may be cleaned up after a certain time period
-- Search patterns are case-insensitive only
-- Returns content as bytes with limits (not entire files at once for very large outputs)
-- Requires the exact artifact ID from the truncation message
-
----
-
-## How It Works
-
-When the `read_command_output` tool is invoked, it follows this process:
-
-1. **Artifact Lookup**: Locates the stored command output artifact by ID.
-2. **Mode Selection**:
- - If `search` parameter is provided: operates in **search mode** (filter lines)
- - Otherwise: operates in **read mode** (return raw content with offset/limit)
-3. **Search Mode** (if `search` provided):
- - Applies regex or literal pattern matching to each line
- - Returns only lines that match the pattern
- - Case-insensitive matching
-4. **Read Mode** (if no `search`):
- - Reads from `offset` byte position
- - Returns up to `limit` bytes
- - Supports pagination through large files
-5. **Result Return**: Returns filtered or paginated content.
-
----
-
-## Usage Examples
-
-Reading truncated output:
-```
-When execute_command shows:
-"[OUTPUT TRUNCATED - Full output saved to artifact: cmd-1706119234567.txt]"
-
-Use:
-
- cmd-1706119234567.txt
-
-```
-
-Searching for errors:
-```
-
- cmd-1706119234567.txt
- error|failed|Error
-
-```
-
-Paginating through output (reading next chunk):
-```
-
- cmd-1706119234567.txt
- 40960
- 40960
-
-```
-
----
-
-## Relation to Other Tools
-
-- [`execute_command`](/advanced-usage/available-tools/execute-command): Creates the artifacts that this tool reads
-- [`search_files`](/advanced-usage/available-tools/search-files): Use for searching project files with regex
-- `read_command_output`: Use for searching command output artifacts
diff --git a/docs/advanced-usage/available-tools/read-file.md b/docs/advanced-usage/available-tools/read-file.md
deleted file mode 100644
index 9bef96b5..00000000
--- a/docs/advanced-usage/available-tools/read-file.md
+++ /dev/null
@@ -1,664 +0,0 @@
----
-description: Explore the read_file tool's capabilities for examining file contents, supporting line ranges, PDF/DOCX extraction, image reading, and experimental multi-file concurrent reading.
-keywords:
- - read_file
- - Roo Code tools
- - file reading
- - concurrent reads
- - line numbers
- - PDF extraction
- - DOCX support
- - image support
- - OCR workflows
- - code analysis
- - VS Code AI
----
-
-# read_file
-
-The `read_file` tool examines the contents of files in a project. It allows Roo to understand code, configuration files, documentation, and now images to provide better assistance.
-
-:::info Multi-File Support
-The `read_file` tool accepts multiple files via the `args` format. Concurrency and per‑request limits are configured in the UI; the backend tool doesn’t hard‑enforce a file count cap. Some models may use a simplified single‑file variant.
-
-**Note:** When reading files (even single files), the LLM will see a message encouraging multi-file reads: "Reading multiple files at once is more efficient for the LLM. If other files are relevant to your current task, please read them simultaneously."
-:::
-
----
-
-## Parameters
-
-The tool accepts parameters in two formats:
-
-### Standard Format (Single File)
-
-- `path` (required): The path of the file to read relative to the current working directory
-- `mode` (optional): Reading mode — `"slice"` (default) or `"indentation"`
-- `offset` (optional): 1-based line offset to start reading from (slice mode only, default: `1`)
-- `limit` (optional): Maximum number of lines to return (slice mode only, default: `2000`)
-- `indentation` (optional): Indentation-mode options — only used when `mode="indentation"`:
- - `anchor_line` (required): 1-based line number to anchor the extraction. The tool extracts the complete semantic code block (function, class, method) containing this line.
- - `max_levels` (optional): Maximum indentation levels to include above the anchor.
- - `include_siblings` (optional): Whether to include sibling blocks at the same indentation level.
- - `include_header` (optional): Whether to include file header content (imports, module-level comments) at the top of output.
- - `max_lines` (optional): Hard cap on lines returned in indentation mode.
-
-:::note Mode Summary
-- **Slice mode** (default): Reads lines sequentially from `offset` up to `limit` lines. Use for initial file exploration or reading a specific line range.
-- **Indentation mode**: Extracts complete, syntactically valid code blocks around `anchor_line` based on indentation hierarchy. Preferred when you have a target line number (e.g., from search results or error messages) and need the entire function/class without mid-function truncation.
-- **`start_line` and `end_line` do not exist** as parameters. Use `offset` and `limit` for range reads in slice mode.
-:::
-
-### Enhanced Format (Multi-File)
-
-The tool also accepts an `args` parameter containing multiple file entries. Concurrency is UI‑configured; the backend accepts multiple files regardless of that setting. Some models may use a simple single‑file tool.
-
-- `args` (required): Container for multiple file specifications
- - `file` (required): Individual file specification
- - `path` (required): The path of the file to read
- - `line_range` (optional): Line range specification (e.g., "1-50" or "100-150"). Multiple `line_range` elements can be specified per file.
-
----
-
-## What It Does
-
-This tool reads the content of a specified file and returns it with line numbers for easy reference. It can read entire files or specific sections, extract text from PDFs and Word documents, and display images in various formats.
-
----
-
-## When is it used?
-
-- When Roo needs to understand existing code structure
-- When Roo needs to analyze configuration files
-- When Roo needs to extract information from text files
-- When Roo needs to see code before suggesting changes
-- When specific line numbers need to be referenced in discussions
-
----
-
-## Key Features
-
-- Displays file content with line numbers for easy reference
-- Can read specific portions of files by specifying line ranges
-- Extracts readable text from PDF, DOCX, XLSX, and IPYNB files
-- **Image support**: Displays images in multiple formats (PNG, JPG, JPEG, GIF, WebP, SVG, BMP, ICO, TIFF/TIF, AVIF)
-- **Intelligent reading**: Token-budget aware reading that auto-truncates to fit remaining budget instead of failing
-- **Large file preview**: Returns a 100KB preview for very large files to enable quick inspection
-- **Graceful error recovery**: Recovers from stream errors and guides you to use line_range for targeted reads
-- Automatically truncates large text files when no line range is specified, showing the beginning of the file
-- Efficiently streams only requested line ranges for better performance
-- Makes it easy to discuss specific parts of code with line numbering
-- **Multi-file support**: Read multiple files simultaneously with batch approval
-
----
-
-## Multi-File Capabilities
-
-Multi-file reads are supported. Concurrency and per‑request limits are configured in Settings; the backend tool doesn’t hard‑enforce a file count cap and behavior may be constrained by model/tool selection:
-
-### Configuration
-- **Location**: Settings > Context > "Concurrent file reads limit"
-- **Description**: "Maximum number of files the 'read_file' tool can process concurrently. Higher values may speed up reading multiple small files but increase memory usage."
-- **Range**: 1-100 (slider control)
-- **Default**: 5
-
-### Batch Processing
-- UI‑configurable limit up to 100 files per request (default 5). Backend doesn’t hard‑enforce a cap; actual behavior may be constrained by model/tool.
-- Parallel processing for improved performance
-- Batch approval interface for user consent
-
-### Enhanced User Experience
-- Single approval dialog for multiple files
-- Individual file override options
-- Clear visibility into which files will be accessed
-- Graceful handling of mixed success/failure scenarios
-
-### Improved Efficiency
-- Reduces interruptions from multiple approval dialogs
-- Faster processing through parallel file reading
-- Smart batching of related files
-- Configurable concurrency limits to match system capabilities
-
----
-
-## Limitations
-
-- **Large files**: For extremely large files, the tool may return a preview and will guide you to use `line_range` for targeted reading.
-- **Binary files**: Except for PDF, DOCX, XLSX, IPYNB, and supported image formats, content may not be human‑readable.
-- **UI/model constraints**: Concurrency limits and per‑request file counts are configured in the UI; the backend tool doesn’t hard‑enforce a cap.
-- **Image files**: Images are provided as base64 data URLs. High‑resolution images can be large.
- - Default max single image size: 5MB
- - Default max total image size: 20MB
-- **Unsupported binary formats**: Returns a `Binary file - content not displayed` placeholder.
-- **Token budget**: Content may be truncated to fit remaining token budget; notices indicate how to proceed.
-
----
-
-## How It Works
-
-When the `read_file` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates the required `path` parameter and optional parameters
-2. **Path Resolution**: Resolves the relative path to an absolute path
-3. **Reading Strategy Selection**:
- - The tool uses a strict priority hierarchy (explained in detail below)
- - It chooses between range reading, auto-truncation, or full file reading
-4. **Content Processing**:
- - Adds line numbers to the content (e.g., "1 | const x = 13") where `1 |` is the line number.
- - For truncated files, adds truncation notice and method definitions
- - For special formats (PDF, DOCX, XLSX, IPYNB), extracts readable text
- - For image formats, the XML includes a `` with size; the actual image is attached to the tool result as a base64 data URL (no dimensions returned; MIME type is implied by the data URL)
-
----
-
-## Reading Strategy Priority
-
-The tool uses a clear decision hierarchy to determine how to read a file:
-
-1. **First Priority: Explicit Line Range**
- - Single‑file format: specify `offset` and `limit` for a range read in slice mode, or use `anchor_line` in indentation mode.
- - Multi‑file `args` format: specify one or more `line_range` entries per file.
- - Range reads stream only the requested lines and bypass `maxReadFileLine`, taking precedence over other options.
-
-2. **Second Priority: Token Budget Management**
- - The tool respects the remaining token budget to prevent context overruns
- - If a file would exceed the remaining budget, it automatically truncates to fit
- - For very large files (exceeding practical limits), returns a 100KB preview for quick inspection
- - Provides guidance to use `line_range` for targeted reading of specific sections
- - Recovers gracefully from stream errors and suggests alternative approaches
-
-3. **Third Priority: Automatic Truncation for Large Text Files**
- - Applies only when all of the following are true:
- - No `offset`/`limit` range is specified (slice mode) and no `anchor_line` is provided (indentation mode).
- - The file is identified as a text‑based file (not binary like PDF/DOCX/XLSX/IPYNB).
- - The file's total line count exceeds the `maxReadFileLine` setting (configurable; UI default may be 500; backend uses `-1`—no line limit—when unset).
- - When automatic truncation occurs:
- - The tool reads only the first `maxReadFileLine` lines.
- - It appends a notice like: `Showing only X of Y total lines. Use line_range if you need to read more lines.`
- - **Special Case – Definitions‑Only Mode**: When `maxReadFileLine` is `0`, the tool returns only code definitions without file content (plus a notice).
-
-4. **Default Behavior: Read Entire File**
- - If neither an explicit range is given nor automatic truncation applies (e.g., the file is within the line limit, or it's a supported binary type), the tool reads the entire content.
- - For supported formats like PDF and DOCX, it attempts to extract the full text content.
- - For image formats, it returns a base64-encoded data URL that can be displayed in the chat interface.
-
----
-
-## Examples When Used
-
-- When asked to explain or improve code, Roo first reads the relevant files to understand the current implementation.
-- When troubleshooting configuration issues, Roo reads config files to identify potential problems.
-- When working with documentation, Roo reads existing docs to understand the current content before suggesting improvements.
-
----
-
-## Usage Examples
-
-Here are several scenarios demonstrating how the `read_file` tool is used and the typical output you might receive.
-
-### Reading an Entire File
-
-To read the complete content of a file:
-
-**Input:**
-```xml
-
-src/app.js
-
-```
-
-**Simulated Output (for a small file like `example_small.txt`):**
-```
-1 | This is the first line.
-2 | This is the second line.
-3 | This is the third line.
-```
-*(Output will vary based on the actual file content)*
-
-### Reading Specific Lines
-
-To read only a specific range of lines (e.g., lines 46-68), use `offset` and `limit` in slice mode:
-
-**Input:**
-```xml
-
-src/app.js
-46
-23
-
-```
-
-**Simulated Output (for lines 2-3 of `example_five_lines.txt`):**
-```
-2 | Content of line two.
-3 | Content of line three.
-```
-*(Output shows only the requested lines with their original line numbers)*
-
-### Reading a Large Text File (Automatic Truncation)
-
-When reading a large text file without specifying a line range, the tool automatically truncates the content if it exceeds the internal line limit (e.g., 500 lines).
-
-**Input:**
-```xml
-
-logs/large_app.log
-
-```
-
-**Simulated Output (for a 1500-line log file with a 500-line limit):**
-```
-1 | Log entry 1...
-2 | Log entry 2...
-...
-500 | Log entry 500...
-
-Showing only 500 of 1500 total lines. Use line_range to read specific sections.
-// Optional: Source code definitions summary might appear here for code files
-```
-*(Output shows the beginning lines up to the `maxReadFileLine` limit, plus a truncation notice. Use line ranges for full access.)*
-
-### Reading Definitions Only
-
-When `maxReadFileLine` is set to `0` in user settings, the tool returns only source code definitions without file content:
-
-**Input:**
-```xml
-
-
-src/services/auth.service.ts
-
-```
-
-**Simulated Output:**
-```xml
-
- src/services/auth.service.ts
- Showing only 0 of 150 total lines. Use line_range if you need to read more lines
-
-```
-*(This mode provides a quick overview of file structure without reading content.)*
-
-### Attempting to Read a Non-Existent File
-
-If the specified file does not exist:
-
-**Input:**
-```xml
-
-non_existent_file.txt
-
-```
-
-**Simulated Output (Error):**
-```
-Error: File not found at path 'non_existent_file.txt'.
-```
-
-### Attempting to Read a Blocked File
-
-If the file is excluded by rules in a `.rooignore` file:
-
-**Input:**
-```xml
-
-.env
-
-```
-
-**Simulated Output (Error):**
-```xml
-
- .env
- Access denied by .rooignore rules
-
-```
-
----
-
-### Intelligent Reading with Token Budget Management
-
-When reading large files, the tool automatically manages token budgets to prevent context overruns.
-
-**Scenario:** Reading a very large file without specifying a line range.
-
-**Input:**
-```xml
-
-logs/massive-debug.log
-
-```
-
-**Simulated Output (for a file exceeding token budget):**
-```
-Preview: Showing first …MB of …MB file. Use line_range to read specific sections.
-```
-
-Alternative truncation notice:
-```
-File truncated to N of M characters due to context limitations. Use line_range to read specific sections.
-```
-
-This behavior ensures that:
-- Small files read completely with zero overhead
-- Large files auto‑truncate to fit remaining token budget
-- Very large files provide a quick preview
-- You receive guidance to use `line_range` for targeted reads
-- Stream errors are handled gracefully
-
-**Example with offset/limit for targeted reading:**
-```xml
-
-logs/massive-debug.log
-1000
-101
-
-```
-
-## Image Reading Examples
-
-The `read_file` tool now supports reading and displaying images directly in the chat interface. This enables powerful visual analysis workflows.
-
-### Reading a Single Image
-
-**Input:**
-```xml
-
-assets/logo.png
-
-```
-
-**Output:**
-```xml
-
- assets/logo.png
- Image file (123 KB)
-
-```
-
-The image is displayed inline in the chat (base64 data URL attached to the tool result). No dimensions are returned; MIME type is implied by the data URL.
-
-### OCR Workflow Example
-
-Reading multiple images from a folder for text extraction:
-
-**Input:**
-```xml
-
-
-
- screenshots/page1.png
-
-
- screenshots/page2.png
-
-
- screenshots/page3.png
-
-
-
-```
-
-**Usage:**
-```
-Please extract all text from these screenshot images and compile them into a single markdown document.
-```
-
-### Design Review Workflow
-
-Analyzing multiple design mockups:
-
-**Input:**
-```xml
-
-
-
- designs/homepage-v1.jpg
-
-
- designs/homepage-v2.jpg
-
-
- designs/mobile-view.png
-
-
-
-```
-
-**Usage:**
-```
-Compare these design mockups and provide feedback on:
-1. Visual consistency
-2. Mobile responsiveness
-3. Accessibility concerns
-4. UI/UX improvements
-```
-
-### Supported Image Formats
-
-The tool supports the following image formats:
-- PNG
-- JPG/JPEG
-- GIF
-- WebP
-- SVG
-- BMP
-- ICO
-- TIFF/TIF
-- AVIF
-
-### Image Analysis Use Cases
-
-1. **Documentation Screenshots**: Extract text and create documentation from UI screenshots
-2. **Error Debugging**: Analyze error screenshots to understand issues
-3. **Design Reviews**: Compare mockups and provide visual feedback
-4. **Diagram Analysis**: Understand architecture diagrams and flowcharts
-5. **Code Screenshots**: Extract code from images when text isn't available
-6. **UI Testing**: Verify visual elements and layouts
-
----
-
-## Multi-File Examples
-
-You can read multiple files simultaneously using the enhanced XML format.
-
-### Reading Multiple Complete Files
-
-To read several complete files at once:
-
-**Input:**
-```xml
-
-
-
- src/app.ts
-
-
- src/utils.ts
-
-
- src/config.json
-
-
-
-```
-
-**Simulated Output:**
-```xml
-
-
- src/app.ts
-
- 1 | import React from 'react'
- 2 | import { Utils } from './utils'
- 3 | // ... rest of file content
-
-
-
- src/utils.ts
-
- 1 | export class Utils {
- 2 | static formatDate(date: Date): string {
- 3 | // ... utility functions
-
-
-
- src/config.json
-
- 1 | {
- 2 | "apiUrl": "https://api.example.com",
- 3 | "timeout": 5000
- 4 | }
-
-
-
-```
-
-### Reading Specific Line Ranges from Multiple Files
-
-To read specific sections from multiple files:
-
-**Input:**
-```xml
-
-
-
- src/app.ts
- 1-20
- 45-60
-
-
- src/utils.ts
- 10-25
-
-
-
-```
-
-**Simulated Output:**
-```xml
-
-
- src/app.ts
-
- 1 | import React from 'react'
- 2 | import { Utils } from './utils'
- ...
- 20 | const App = () => {
-
- 45 | const handleSubmit = () => {
- 46 | // Handle form submission
- ...
- 60 | }
-
-
-
- src/utils.ts
-
- 10 | static formatDate(date: Date): string {
- 11 | return date.toISOString().split('T')[0]
- ...
- 25 | }
-
-
-
-```
-
-### Handling Mixed Results (Some Files Denied/Blocked)
-
-When some files are approved and others are denied or blocked:
-
-**Input:**
-```xml
-
-
-
- src/app.ts
-
-
- .env
-
-
- src/secret-config.ts
-
-
-
-```
-
-**Simulated Output:**
-```xml
-
-
- src/app.ts
-
- 1 | import React from 'react'
- 2 | // ... file content successfully read
-
-
-
- .env
- Access denied by .rooignore rules
-
-
- src/secret-config.ts
- User denied access to file
-
-
-```
-
-### Batch Approval Interface
-
-When requesting multiple files, you'll see a batch approval interface that allows you to:
-
-- **Approve All**: Grant access to all requested files
-- **Deny All**: Deny access to all requested files
-- **Individual Control**: Override decisions for specific files
-- **File Preview**: Click file headers to open them in your editor
-
-The interface displays each file path clearly, making it easy to understand what Roo wants to access before granting permission.
-
-### Mixed Content Types
-
-You can read different types of files in a single request:
-
-**Input:**
-```xml
-
-
-
- README.md
-
-
- architecture-diagram.png
-
-
- config.json
-
-
- requirements.pdf
-
-
-
-```
-
-This allows Roo to analyze documentation, visual diagrams, configuration, and specifications all in one context.
-
----
-
-## Troubleshooting
-
-- Range read returns error
- - Cause: Invalid `offset` or `limit` values (e.g., non-positive integers).
- - Fix: Use `offset` (1-based starting line) and `limit` (max lines to return) as positive integers in slice mode; or use `anchor_line` in indentation mode; or use the multi-file `args` format with `line_range` entries.
- - Prevention: Prefer the multi-file `args` format with `line_range` for targeted reads across multiple files.
-
-- Large file returned a preview
- - Cause: File exceeded token budget or the large‑file tokenization threshold; a preview was returned.
- - Fix: Use `line_range` to request only the section you need; reduce requested ranges.
- - Prevention: Adjust `maxReadFileLine` in Settings, or prefer targeted ranges on large files.
-
-- Image not displayed
- - Cause: Model may not support images, or image limits exceeded (5MB per image; 20MB total per request).
- - Fix: Switch to a vision‑capable model; reduce image size; request fewer/smaller images.
- - Prevention: Keep images within limits and use supported formats (PNG, JPG/JPEG, GIF, WebP, SVG, BMP, ICO, TIFF/TIF, AVIF).
-
diff --git a/docs/advanced-usage/available-tools/run-slash-command.md b/docs/advanced-usage/available-tools/run-slash-command.md
deleted file mode 100644
index 011deae7..00000000
--- a/docs/advanced-usage/available-tools/run-slash-command.md
+++ /dev/null
@@ -1,340 +0,0 @@
----
-description: Execute predefined slash commands that provide templated instructions for common tasks, with support for built-in, global, and project-specific commands in Roo Code.
-keywords:
- - run_slash_command
- - slash commands
- - command templates
- - Roo Code tools
- - workflow automation
- - instruction templates
- - custom commands
- - experimental feature
----
-
-# run_slash_command
-
-:::warning Experimental Feature
-The `run_slash_command` tool is an experimental feature that must be explicitly enabled in settings. Navigate to Settings > Experimental Settings and enable "Run Slash Command" to use this tool.
-:::
-
-The `run_slash_command` tool executes predefined slash commands to retrieve specific instructions or content templates. These commands act as reusable instruction sets for common tasks, providing detailed guidance that Roo can interpret and execute. Commands can be defined at three levels with a clear priority hierarchy: project > global > built-in.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `command` (required): Name of the slash command to execute (without the leading slash)
-- `args` (optional): Additional arguments or context to pass to the command
-
----
-
-## What It Does
-
-This tool retrieves and executes instruction templates defined as markdown files in command directories. It enables standardized workflows, reusable task instructions, and team-wide consistency through shared command templates. The tool validates experimental flag status, resolves commands through the priority hierarchy, and returns formatted instructions for Roo to interpret.
-
----
-
-## When is it used?
-
-- When executing standardized workflows that require consistent steps
-- When retrieving project-specific or team-wide instruction templates
-- When initializing codebases with analysis and documentation
-- When accessing complex multi-step processes as single commands
-- When maintaining consistency across team development practices
-
----
-
-## Key Features
-
-- **Three-Level Command System**: Built-in, global (~/.roo/commands/), and project-specific (.roo/commands/) commands
-- **Priority Hierarchy**: Project commands override global, which override built-in commands
-- **Markdown-Based Templates**: Simple `.md` files with optional YAML frontmatter for metadata
-- **Dynamic Arguments**: Pass context-specific arguments to customize command execution
-- **Automatic Discovery**: Commands are automatically found from their respective directories
-- **Safe Execution**: Commands are text-only instructions requiring user approval, not executable code
-- **Metadata Support**: Optional frontmatter for descriptions and argument hints
-- **Error Recovery**: Graceful handling with helpful error messages and command suggestions
-- **No Registration Required**: Simply place `.md` files in command directories
-
----
-
-## Requirements
-
-This tool requires explicit enablement:
-
-1. Open VS Code Settings
-2. Navigate to Experimental Settings
-3. Enable "Run Slash Command"
-4. Restart VS Code if necessary
-
----
-
-## Limitations
-
-- **Experimental Status**: Feature is disabled by default and requires opt-in
-- **Text-Only Instructions**: Commands provide instructions, not direct code execution
-- **Approval Required**: All command executions require user approval
-- **Directory-Based**: Commands must be in specific directory locations
-- **Case-Sensitive**: Command names are matched with case sensitivity
-- **Single Command**: Can only execute one command per tool invocation
-
----
-
-## How It Works
-
-When the `run_slash_command` tool is invoked, it follows this process:
-
-1. **Experimental Flag Validation**:
- - Checks if the `runSlashCommand` experiment is enabled
- - Returns descriptive error if feature is disabled
- - Provides instructions for enabling the feature
-
-2. **Parameter Processing**:
- - Validates the required `command` parameter
- - Captures optional `args` for command customization
- - Increments mistake counter for missing parameters
-
-3. **Command Resolution**:
- - Searches project directory first (`.roo/commands/`)
- - Falls back to global directory (`~/.roo/commands/`)
- - Finally checks built-in commands
- - Returns undefined if command doesn't exist
-
-4. **Command Loading**:
- - Reads the markdown file for the command
- - Parses optional YAML frontmatter using `gray-matter`
- - Extracts description and argument hints if present
- - Returns command content without frontmatter
-
-5. **Response Formatting**:
- - Includes command name and source location
- - Adds description and argument hints if available
- - Shows provided arguments for context
- - Returns the full command content for interpretation
-
-6. **Error Handling**:
- - Lists available commands if requested command not found
- - Provides helpful error messages with alternatives
- - Tracks consecutive mistakes for error patterns
-
----
-
-## Command Structure
-
-### File Format
-
-Commands are markdown files placed in designated directories:
-
-```markdown
----
-description: Brief description of what this command does
-argument-hint: What arguments this command accepts
----
-
-# Command Content
-
-Detailed instructions for the task go here.
-This can include:
-- Step-by-step procedures
-- Code templates
-- Configuration examples
-- Best practices
-```
-
-### Naming Convention
-
-- File name becomes the command name
-- Use `.md` extension
-- Example: `deploy.md` creates `/deploy` command
-- Case-sensitive matching
-
-### Directory Locations
-
-1. **Built-in Commands**: Hardcoded in source code
-2. **Global Commands**: `~/.roo/commands/`
-3. **Project Commands**: `/.roo/commands/`
-
----
-
-## Built-in Commands
-
-### /init Command
-
-The only current built-in command analyzes your codebase and creates documentation:
-
-- Analyzes project structure and architecture
-- Creates AGENTS.md documentation files
-- Identifies coding patterns and conventions
-- Documents non-obvious implementation details
-- Provides AI-friendly project context
-
----
-
-## Creating Custom Commands
-
-### Step-by-Step Guide
-
-1. **Create Command Directory**:
- ```bash
- # For project-specific commands
- mkdir -p .roo/commands
-
- # For global commands
- mkdir -p ~/.roo/commands
- ```
-
-2. **Create Command File**:
- ```bash
- # Create a deployment command
- touch .roo/commands/deploy.md
- ```
-
-3. **Add Command Content**:
- ```markdown
- ---
- description: Deploy application to production environment
- argument-hint: environment name (staging, production)
- ---
-
- ## Deployment Process
-
- 1. Run test suite to ensure all tests pass
- 2. Build production bundle with optimizations
- 3. Update environment variables for target
- 4. Deploy to specified environment
- 5. Run post-deployment health checks
- 6. Update deployment documentation
- ```
-
-4. **Use the Command**:
- The command is immediately available for use without registration.
-
----
-
-## Command Priority System
-
-When multiple commands with the same name exist:
-
-1. **Project Level** (highest priority)
- - Located in `.roo/commands/`
- - Allows project-specific overrides
- - Committed to version control for team sharing
-
-2. **Global Level** (medium priority)
- - Located in `~/.roo/commands/`
- - Shared across all projects
- - User-specific customizations
-
-3. **Built-in Level** (lowest priority)
- - Hardcoded in the extension
- - Provides default functionality
- - Always available as fallback
-
----
-
-## Examples When Used
-
-- When initializing a new project, Roo executes `/init` to analyze the codebase structure and create comprehensive documentation.
-- When deploying applications, Roo retrieves standardized deployment instructions specific to the project's infrastructure.
-- When implementing features, Roo accesses team-agreed patterns and best practices through custom commands.
-- When setting up development environments, Roo follows project-specific setup instructions consistently.
-- When performing code reviews, Roo uses standardized review checklists defined as commands.
-
----
-
-## Usage Examples
-
-Executing the built-in initialization command:
-```xml
-
-init
-
-```
-
-Running a custom deployment command with arguments:
-```xml
-
-deploy
-production environment with zero-downtime strategy
-
-```
-
-Executing a test command with specific focus:
-```xml
-
-test
-focus on integration tests for authentication module
-
-```
-
-Running a project-specific build command:
-```xml
-
-build
-optimized for production with source maps
-
-```
-
-Accessing team coding standards:
-```xml
-
-standards
-TypeScript and React best practices
-
-```
-
----
-
-## Best Practices
-
-### Command Design
-
-1. **Clear Naming**: Use descriptive, action-oriented names
-2. **Comprehensive Instructions**: Include all necessary steps
-3. **Argument Flexibility**: Design commands to work with or without arguments
-4. **Metadata Usage**: Always include description and argument hints
-5. **Version Control**: Commit project commands for team consistency
-
-### Organization Strategies
-
-1. **Categorization**: Group related commands with prefixes (e.g., `test-unit`, `test-integration`)
-2. **Documentation**: Maintain a README in command directories
-3. **Templates**: Create template commands for common patterns
-4. **Overrides**: Use project-level to customize global commands
-5. **Maintenance**: Regularly review and update command content
-
-### Team Collaboration
-
-1. **Standardization**: Define team-wide commands in global directory
-2. **Project Specifics**: Override with project-level customizations
-3. **Documentation**: Document available commands and their usage
-4. **Review Process**: Include command changes in code reviews
-5. **Training**: Share command knowledge across team members
-
----
-
-## Troubleshooting
-
-### Common Issues
-
-**Feature Not Enabled**:
-- Error: "Run slash command is an experimental feature that must be enabled in settings"
-- Solution: Enable 'Run Slash Command' in Experimental Settings
-
-**Command Not Found**:
-- Error: "Command 'X' not found. Available commands: Y, Z"
-- Solution: Check command name spelling and available commands list
-
-**Missing Parameters**:
-- Error tracked in consecutive mistake counter
-- Solution: Provide required `command` parameter
-
-### Debugging Commands
-
-1. **Verify File Location**: Ensure `.md` file is in correct directory
-2. **Check File Name**: Command name must match filename without extension
-3. **Validate Frontmatter**: Ensure YAML frontmatter is properly formatted
-4. **Test Resolution**: Try same command name at different levels to test priority
-5. **Review Content**: Ensure command content is properly formatted markdown
\ No newline at end of file
diff --git a/docs/advanced-usage/available-tools/search-files.md b/docs/advanced-usage/available-tools/search-files.md
deleted file mode 100644
index a833c8d9..00000000
--- a/docs/advanced-usage/available-tools/search-files.md
+++ /dev/null
@@ -1,201 +0,0 @@
----
-description: Learn how search_files performs powerful regex searches across your codebase, finding patterns with context using Ripgrep for high-performance results.
-keywords:
- - search_files
- - Roo Code tools
- - regex search
- - code patterns
- - Ripgrep
- - multi-file search
- - codebase search
- - pattern matching
- - VS Code AI
----
-
-# search_files
-
-The `search_files` tool performs regex searches across multiple files within your project's workspace. For security, it cannot search outside the current workspace directory. It helps Roo locate specific code patterns, text, or other content throughout your codebase with contextual results.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `path` (required): The path of the directory to search in, relative to the current workspace directory. The search is confined to the workspace.
-- `regex` (required): The regular expression pattern to search for (uses Rust regex syntax)
-- `file_pattern` (optional): Glob pattern to filter files (e.g., '*.ts' for TypeScript files)
-- `respect_gitignore` (optional): Whether to respect `.gitignore` patterns (default: `true`). Set to `false` to search all files including those in `.gitignore`.
-
----
-
-## What It Does
-
-This tool searches across files in a specified directory using regular expressions, showing each match with surrounding context. It's like having a powerful "Find in Files" feature that works across the entire project structure.
-
----
-
-## When is it used?
-
-- When Roo needs to find where specific functions or variables are used
-- When Roo helps with refactoring and needs to understand usage patterns
-- When Roo needs to locate all instances of a particular code pattern
-- When Roo searches for text across multiple files with filtering capabilities
-
----
-
-## Key Features
-
-- Searches across multiple files in a single operation using high-performance Ripgrep
-- **Respects .gitignore**: Automatically excludes files and directories listed in `.gitignore` (including nested `.gitignore` files)
-- Shows context around each match (1 line before and after)
-- Filters files by type using glob patterns (e.g., only TypeScript files)
-- Provides line numbers for easy reference
-- Uses powerful regex patterns for precise searches
-- Automatically limits output to 300 results with notification
-- Truncates lines longer than 500 characters with "[truncated...]" marker
-- Intelligently combines nearby matches into single blocks for readability
-
----
-
-## Limitations
-
-- Works best with text-based files (not effective for binary files like images)
-- Performance may slow with extremely large codebases
-- Uses Rust regex syntax, which may differ slightly from other regex implementations
-- Cannot search within compressed files or archives
-- Default context size is fixed (1 line before and after)
-- May display varying context sizes when matches are close together due to result grouping
-- For security, searches are strictly limited to the current workspace and cannot access parent directories or other locations on the file system.
-- **Respects .gitignore by default**: Files listed in `.gitignore` are excluded from searches unless explicitly overridden with `respect_gitignore: false`
-
----
-
-## How It Works
-
-When the `search_files` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates the required `path` and `regex` parameters
-2. **Path Resolution**: Resolves the relative path to an absolute path
-3. **Search Execution**:
- - Uses Ripgrep (rg) for high-performance text searching
- - Applies file pattern filtering if specified
- - Collects matches with surrounding context
-4. **Result Formatting**:
- - Formats results with file paths, line numbers, and context
- - Displays 1 line of context before and after each match
- - Structures output for easy readability
- - Limits results to a maximum of 300 matches with notification
- - Truncates lines longer than 500 characters
- - Merges nearby matches into contiguous blocks
-
----
-
-## Search Results Format
-
-The search results include:
-
-- Relative file paths for each matching file (prefixed with #)
-- Context lines before and after each match (1 line by default)
-- Line numbers padded to 3 spaces followed by ` | ` and the line content
-- A separator line (----) after each match group
-
-Example output format:
-```
-# rel/path/to/app.ts
- 11 | // Some processing logic here
- 12 | // TODO: Implement error handling
- 13 | return processedData;
-----
-
-# Showing first 300 of 300+ results. Use a more specific search if necessary.
-```
-
-When matches occur close to each other, they're merged into a single block rather than shown as separate results:
-
-```
-# rel/path/to/auth.ts
- 13 | // Some code here
- 14 | // TODO: Add proper validation
- 15 | function validateUser(credentials) {
- 16 | // TODO: Implement rate limiting
- 17 | return checkDatabase(credentials);
-----
-```
-
----
-
-## Examples When Used
-
-- When asked to refactor a function, Roo first searches for all places the function is used to ensure comprehensive changes.
-- When investigating bugs, Roo searches for similar patterns to identify related issues across the codebase.
-- When addressing technical debt, Roo locates all TODO comments across the project.
-- When analyzing dependencies, Roo finds all imports of a particular module.
-
----
-
-## Usage Examples
-
-Searching for TODO comments in all JavaScript files:
-```
-
-src
-TODO|FIXME
-*.js
-
-```
-
-Finding all usages of a specific function:
-```
-
-.
-function\s+calculateTotal
-*.{js,ts}
-
-```
-
-Searching for a specific import pattern across the entire project:
-```xml
-
-.
-import\s+.*\s+from\s+['"]@components/
-
-```
-## Respecting .gitignore
-
-By default, `search_files` respects `.gitignore` patterns in your workspace, including nested `.gitignore` files. This prevents searches in excluded directories like `node_modules/`, `dist/`, or other ignored paths.
-
-### Default Behavior (Respecting .gitignore)
-
-**Input:**
-```xml
-
-.
-TODO
-
-```
-
-This search will **exclude** files and directories listed in `.gitignore`, ensuring focused results on tracked code.
-
-### Overriding .gitignore (Search All Files)
-
-To search **all files** including those in `.gitignore`, explicitly set `respect_gitignore` to `false`:
-
-**Input:**
-```xml
-
-.
-TODO
-false
-
-```
-
-This searches **everything**, including `node_modules/`, build artifacts, and other ignored paths.
-
-**When to override:**
-- Debugging issues in dependencies or build output
-- Searching through generated code
-- Comprehensive audits that need to check all files
-- Investigating ignored configuration files
-
----
diff --git a/docs/advanced-usage/available-tools/search-replace.md b/docs/advanced-usage/available-tools/search-replace.md
deleted file mode 100644
index a757298f..00000000
--- a/docs/advanced-usage/available-tools/search-replace.md
+++ /dev/null
@@ -1,87 +0,0 @@
----
-description: Replace a uniquely-identified occurrence of text in a file using the search_replace tool in Roo Code.
-keywords:
- - search_replace
- - search and replace
- - file editing
- - text replacement
- - Roo Code tools
- - code modifications
----
-
-# search_replace
-
-The `search_replace` tool performs a targeted search-and-replace operation on a file, replacing **exactly one** uniquely-identified occurrence of specified text. If the search string matches multiple locations, the tool returns an error—the search string must be specific enough to identify a single target location.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `file_path` (required): The path of the file to modify relative to the current working directory.
-- `old_string` (required): The exact text to search for and replace.
-- `new_string` (required): The replacement text.
-
----
-
-## What It Does
-
-This tool searches for an exact string in a file and replaces **exactly one** occurrence with new text. The search string must uniquely identify the target location in the file. If multiple matches are found, the tool returns an error and requires a more specific search string to proceed. This is an intentional safety design to prevent unintended changes.
-
----
-
-## When is it used?
-
-- When making a targeted change to a specific, uniquely identifiable location in a file
-- When updating a specific string literal or configuration value at a known location
-- When fixing a specific instance of a pattern or outdated terminology
-- When you need simple, exact string replacement at a unique location
-- When you need to ensure only one specific location is changed
-
----
-
-## Key Features
-
-- Replaces **exactly one** uniquely-identified occurrence per call
-- Errors if multiple matches are found (intentional safety design)
-- Exact string matching (no regex or fuzzy matching)
-- Simple three-parameter interface
-- Shows preview of changes before applying
-- Preserves file formatting and structure
-- User approval required before applying changes
-
----
-
-## Limitations
-
-- Requires exact string matches (case-sensitive, whitespace-sensitive)
-- Errors if the search string matches more than one location (must be unique)
-- Cannot use regular expressions or patterns
-- Not suitable for replacing all occurrences globally (use scripting for that)
-- Less precise than [`apply_diff`](/advanced-usage/available-tools/apply-diff) for complex edits
-
----
-
-## How It Works
-
-When the `search_replace` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates required `file_path`, `old_string`, and `new_string` parameters.
-2. **File Loading**: Reads the target file content.
-3. **Uniqueness Check**: Counts occurrences of `old_string` in the file. If more than one match is found, returns an error asking for a more specific search string.
-4. **Replacement**: Replaces the single found occurrence with `new_string`.
-5. **User Review**: Shows a preview of changes for user approval.
-6. **Application**: Applies changes to the file if approved.
-7. **Feedback**: Reports the result of the operation.
-
----
-
-## Relation to Other Tools
-
-- `search_replace`: Replaces **exactly one** uniquely-identified occurrence (this tool)
-- [`edit_file`](/advanced-usage/available-tools/edit-file): Also replaces **exactly one** occurrence by default; also supports `old_string=""` for file creation
-- [`edit`](/advanced-usage/available-tools/edit): Replaces **first occurrence** by default (unless `replace_all: true`)
-- [`apply_diff`](/advanced-usage/available-tools/apply-diff): Use for precise, context-aware edits with fuzzy matching
-
-These are different implementations of search-and-replace functionality with varying capabilities.
diff --git a/docs/advanced-usage/available-tools/skill.md b/docs/advanced-usage/available-tools/skill.md
deleted file mode 100644
index 246020d8..00000000
--- a/docs/advanced-usage/available-tools/skill.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-description: Load and execute skill instructions using the skill tool for specialized tasks in Roo Code.
-keywords:
- - skill
- - skills
- - specialized tasks
- - instructions
- - Roo Code tools
- - automation
- - workflows
----
-
-# skill
-
-The `skill` tool loads and injects specialized skill instructions into the conversation context. Skills provide detailed, step-by-step guidance for specific tasks like creating MCP servers, custom modes, or following standardized workflows.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `skill` (required): The name of the skill to load (e.g., `create-mcp-server`, `create-mode`). Must match a skill name from the available skills list.
-- `args` (optional): Additional context or arguments to pass to the skill for customization.
-
----
-
-## What It Does
-
-This tool retrieves skill instructions from the skills directory and loads them into the active conversation. Skills are pre-written instruction sets that guide Roo through complex, multi-step procedures. The tool is mode-aware, loading skills specific to the current mode when available.
-
----
-
-## When is it used?
-
-- When executing specialized procedures that have standardized workflows
-- When creating MCP servers, custom modes, or other structured artifacts
-- When following documented best practices for specific task types
-- When you need to invoke expert knowledge for a particular domain
-- When the task matches a known skill pattern available in the system
-
----
-
-## Key Features
-
-- Mode-aware skill resolution (loads mode-specific skills when available)
-- Supports project-level skill overrides (take precedence over global skills)
-- Progressive disclosure: linked files are not auto-loaded (explicit reads required)
-- Optional arguments for skill customization
-- Skills persist in context for the duration of the conversation
-- Provides structured, step-by-step guidance for complex tasks
-
----
-
-## How It Works
-
-When the `skill` tool is invoked, it follows this process:
-
-1. **Skill Resolution**: Searches for the named skill in the following locations (highest priority first):
- - Project `.roo` mode-specific (e.g., `.roo/skills-code/`)
- - Project `.roo` generic (`.roo/skills/`)
- - Project `.agents` mode-specific (e.g., `.agents/skills-code/`)
- - Project `.agents` generic (`.agents/skills/`)
- - Global `.roo` mode-specific (e.g., `~/.roo/skills-code/`)
- - Global `.roo` generic (`~/.roo/skills/`)
- - Global `.agents` mode-specific (e.g., `~/.agents/skills-code/`)
- - Global `.agents` generic (`~/.agents/skills/`)
-2. **Skill Loading**: Loads the skill's main instruction file (typically `SKILL.md`).
-3. **Context Injection**: Injects skill instructions into conversation context.
-4. **Linked Files**: Files referenced in the skill are **not** automatically loaded; Roo must explicitly read them if needed.
-5. **Execution**: Roo follows the skill's instructions to complete the task.
-
----
-
-## Available Skills
-
-Skills are dynamically loaded based on the current mode and project configuration. Common skills include:
-
-- `create-mcp-server`: Guide for creating Model Context Protocol servers
-- `create-mode`: Guide for creating custom Roo Code modes
-- `find-skills`: Helps discover and install agent skills
-
-To see available skills, check the skills list in the system prompt or ask Roo "what skills are available?"
-
----
-
-## Relation to Features
-
-The `skill` tool is the programmatic interface to the [Skills](/features/skills) feature. For comprehensive documentation on how skills work, how to create custom skills, and the skills system architecture, see the [Skills feature documentation](/features/skills).
-
----
-
-## Example Usage
-
-Loading a skill to create an MCP server:
-```
-
- create-mcp-server
- weather API integration
-
-```
-
-Loading a skill without additional context:
-```
-
- create-mode
-
-```
diff --git a/docs/advanced-usage/available-tools/switch-mode.md b/docs/advanced-usage/available-tools/switch-mode.md
deleted file mode 100644
index a3cd265a..00000000
--- a/docs/advanced-usage/available-tools/switch-mode.md
+++ /dev/null
@@ -1,192 +0,0 @@
----
-description: Understand how switch_mode enables seamless transitions between Code, Architect, Ask, and Debug modes for specialized task handling in Roo Code.
-keywords:
- - switch_mode
- - Roo Code tools
- - mode switching
- - operational modes
- - Code mode
- - Architect mode
- - Debug mode
- - Ask mode
- - task transitions
- - VS Code AI
----
-
-# switch_mode
-
-The `switch_mode` tool enables Roo to change between different operational modes, each with specialized capabilities for specific types of tasks. This allows seamless transitions between modes like Code, Architect, Ask, or Debug when the current task requires different expertise.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `mode_slug` (required): The slug of the mode to switch to (e.g., "code", "ask", "architect")
-- `reason` (optional): The reason for switching modes, providing context for the user
-
----
-
-## What It Does
-
-This tool requests a mode change when the current task would be better handled by another mode's capabilities. It maintains context while shifting Roo's focus and available toolsets to match the requirements of the new task phase.
-
----
-
-## When is it used?
-
-- When transitioning from information gathering to code implementation
-- When shifting from coding to architecture or design
-- When the current task requires capabilities only available in a different mode
-- When specialized expertise is needed for a particular phase of a complex project
-
----
-
-## Key Features
-
-- Maintains context continuity across mode transitions
-- Provides clear reasoning for mode switch recommendations
-- Requires user approval for all mode changes
-- Enforces tool group restrictions specific to each mode
-- Seamlessly adapts tool availability based on the selected mode
-- Works with both standard and custom modes
-- Displays the mode switch and reasoning in the UI
-- Uses XML-style formatting for parameter specification
-- Handles file type restrictions specific to certain modes
-
----
-
-## Limitations
-
-- Cannot switch to modes that don't exist in the system
-- Requires explicit user approval for each mode transition
-- Cannot use tools specific to a mode until the switch is complete
-- Applies a 500ms delay after mode switching to allow the change to take effect
-- Some modes have file type restrictions (e.g., Architect mode can only edit markdown files)
-- Mode preservation for resumption applies only to the `new_task` functionality, not general mode switching
-
----
-
-## How It Works
-
-When the `switch_mode` tool is invoked, it follows this process:
-
-1. **Request Validation**:
- - Validates that the requested mode exists in the system
- - Checks that the `mode_slug` parameter is provided and valid
- - Verifies the user isn't already in the requested mode
- - Ensures the `reason` parameter (if provided) is properly formatted
-
-2. **Mode Transition Preparation**:
- - Packages the mode change request with the provided reason
- - Presents the change request to the user for approval
-
-3. **Mode Activation (Upon User Approval)**:
- - Updates the UI to reflect the new mode
- - Adjusts available tools based on the mode's tool group configuration
- - Applies the mode-specific prompt and behavior
- - Applies a 500ms delay to allow the change to take effect before executing next tool
- - Enforces any file restrictions specific to the mode
-
-4. **Continuation**:
- - Proceeds with the task using the capabilities of the new mode
- - Retains relevant context from the previous interaction
-
----
-
-## Tool Group Association
-
-The `switch_mode` tool belongs to the "modes" tool group but is also included in the "always available" tools list. This means:
-
-- It can be used in any mode regardless of the mode's configured tool groups
-- It's available alongside other core tools like `ask_followup_question` and `attempt_completion`
-- It allows mode transitions at any point in a workflow when task requirements change
-
----
-
-## Mode Structure
-
-Each mode in the system has a specific structure:
-
-- `slug`: Unique identifier for the mode (e.g., "code", "ask")
-- `name`: Display name for the mode (e.g., "Code", "Ask")
-- `roleDefinition`: The specialized role and capabilities of the mode
-- `customInstructions`: Optional mode-specific instructions that guide behavior
-- `groups`: Tool groups available to the mode with optional restrictions
-
----
-
-## Mode Capabilities
-
-The core modes provide these specialized capabilities:
-
-- **Code Mode**: Focused on coding tasks with full access to code editing tools
-- **Architect Mode**: Specialized for system design and architecture planning, limited to editing markdown files only
-- **Ask Mode**: Optimized for answering questions and providing information
-- **Debug Mode**: Equipped for systematic problem diagnosis and resolution
-
----
-
-## Custom Modes
-
-Beyond the core modes, the system supports custom project-specific modes:
-
-- Custom modes can be defined with specific tool groups enabled
-- They can specify custom role definitions and instructions
-- The system checks custom modes first before falling back to core modes
-- Custom mode definitions take precedence over core modes with the same slug
-
----
-
-## File Restrictions
-
-Different modes may have specific file type restrictions:
-
-- **Architect Mode**: Can only edit files matching the `.md` extension
-- Attempting to edit restricted file types results in a `FileRestrictionError`
-- These restrictions help enforce proper separation of concerns between modes
-
----
-
-## Examples When Used
-
-- When discussing a new feature, Roo switches from Ask mode to Architect mode to help design the system structure.
-- After completing architecture planning in Architect mode, Roo switches to Code mode to implement the designed features.
-- When encountering bugs during development, Roo switches from Code mode to Debug mode for systematic troubleshooting.
-
----
-
-## Usage Examples
-
-Switching to Code mode for implementation:
-```
-
-code
-Need to implement the login functionality based on the architecture we've discussed
-
-```
-
-Switching to Architect mode for design:
-```
-
-architect
-Need to design the system architecture before implementation
-
-```
-
-Switching to Debug mode for troubleshooting:
-```
-
-debug
-Need to systematically diagnose the authentication error
-
-```
-
-Switching to Ask mode for information:
-```
-
-ask
-Need to answer questions about the implemented feature
-
-```
diff --git a/docs/advanced-usage/available-tools/tool-use-overview.md b/docs/advanced-usage/available-tools/tool-use-overview.md
deleted file mode 100644
index 2dc0738c..00000000
--- a/docs/advanced-usage/available-tools/tool-use-overview.md
+++ /dev/null
@@ -1,297 +0,0 @@
----
-description: Comprehensive guide to Roo Code's tool system, including tool groups, calling mechanisms, mode integration, and best practices for AI-powered development.
-keywords:
- - Roo Code tools
- - tool system
- - tool groups
- - AI development
- - tool architecture
- - mode integration
- - tool security
- - workflow tools
- - VS Code AI
----
-
-# Tool Use Overview
-
-Roo Code implements a sophisticated tool system that allows AI models to interact with your development environment in a controlled and secure manner. This document explains how tools work, when they're called, and how they're managed.
-
----
-
-## Core Concepts
-
-### Tool Groups
-
-Tools are organized into logical groups based on their functionality:
-
-| Category | Purpose | Tools | Common Use |
-|----------|---------|-------|------------|
-| **Read Group** | File system reading and exploration | [read_file](/advanced-usage/available-tools/read-file), [list_files](/advanced-usage/available-tools/list-files), [read_command_output](/advanced-usage/available-tools/read-command-output) | Code exploration and analysis |
-| **Search Group** | Pattern and semantic searching | [search_files](/advanced-usage/available-tools/search-files), [codebase_search](/advanced-usage/available-tools/codebase-search) | Finding code patterns and functionality |
-| **Edit Group** | File system modifications | [apply_diff](/advanced-usage/available-tools/apply-diff), [apply_patch](/advanced-usage/available-tools/apply-patch), [edit](/advanced-usage/available-tools/edit), [edit_file](/advanced-usage/available-tools/edit-file), [search_replace](/advanced-usage/available-tools/search-replace), [write_to_file](/advanced-usage/available-tools/write-to-file) | Code changes and file manipulation |
-| **Image Group** | AI image generation | [generate_image](/advanced-usage/available-tools/generate-image) | Creating and editing images |
-| **Command Group** | System command execution | [execute_command](/advanced-usage/available-tools/execute-command), [run_slash_command](/advanced-usage/available-tools/run-slash-command)* | Running scripts, building projects, executing command templates |
-| **MCP Group** | External tool integration | [use_mcp_tool](/advanced-usage/available-tools/use-mcp-tool), [access_mcp_resource](/advanced-usage/available-tools/access-mcp-resource) | Specialized functionality through external servers |
-| **Workflow Group** | Mode and task management | [switch_mode](/advanced-usage/available-tools/switch-mode), [new_task](/advanced-usage/available-tools/new-task), [ask_followup_question](/advanced-usage/available-tools/ask-followup-question), [attempt_completion](/advanced-usage/available-tools/attempt-completion), [update_todo_list](/advanced-usage/available-tools/update-todo-list), [skill](/advanced-usage/available-tools/skill) | Context switching and task organization |
-
-*_Experimental feature - requires explicit enablement in settings_
-
-### Always Available Tools
-
-Certain tools are accessible regardless of the current mode:
-
-- [ask_followup_question](/advanced-usage/available-tools/ask-followup-question): Gather additional information from users
-- [attempt_completion](/advanced-usage/available-tools/attempt-completion): Signal task completion
-- [switch_mode](/advanced-usage/available-tools/switch-mode): Change operational modes
-- [new_task](/advanced-usage/available-tools/new-task): Create subtasks
-
----
-
-## Available Tools
-
-### Read Tools
-These tools help Roo understand your code and project:
-
-- [read_file](/advanced-usage/available-tools/read-file) - Examines the contents of files
-- [list_files](/advanced-usage/available-tools/list-files) - Maps your project's file structure
-- [read_command_output](/advanced-usage/available-tools/read-command-output) - Retrieves full output from truncated commands
-
-### Search Tools
-These tools help Roo find patterns and functionality across your codebase:
-
-- [search_files](/advanced-usage/available-tools/search-files) - Finds patterns across multiple files using regex
-- [codebase_search](/advanced-usage/available-tools/codebase-search) - Performs semantic searches across your indexed codebase
-
-### Edit Tools
-These tools help Roo make changes to your code:
-
-- [apply_diff](/advanced-usage/available-tools/apply-diff) - Makes precise, surgical changes to your code
-- [apply_patch](/advanced-usage/available-tools/apply-patch) - Applies multi-file unified diff patches
-- [edit](/advanced-usage/available-tools/edit) - Search-and-replace editing (first occurrence by default)
-- [edit_file](/advanced-usage/available-tools/edit-file) - Search-and-replace editing (all occurrences with count validation)
-- [search_replace](/advanced-usage/available-tools/search-replace) - Simple search-and-replace (all occurrences)
-- [write_to_file](/advanced-usage/available-tools/write-to-file) - Creates new files or completely rewrites existing ones
-
-### Image Tools
-These tools help Roo generate and edit images:
-
-- [generate_image](/advanced-usage/available-tools/generate-image) - Generates AI-powered images from text prompts
-
-### Command Tools
-These tools help Roo execute commands:
-
-- [execute_command](/advanced-usage/available-tools/execute-command) - Runs system commands and programs
-- [run_slash_command](/advanced-usage/available-tools/run-slash-command) - Executes predefined slash commands for templated instructions *(Experimental - requires enablement)*
-
-### MCP Tools
-These tools help Roo connect with external services:
-
-- [use_mcp_tool](/advanced-usage/available-tools/use-mcp-tool) - Uses specialized external tools
-- [access_mcp_resource](/advanced-usage/available-tools/access-mcp-resource) - Accesses external data sources
-
-### Workflow Tools
-These tools help manage the conversation and task flow:
-
-- [ask_followup_question](/advanced-usage/available-tools/ask-followup-question) - Gets additional information from you
-- [attempt_completion](/advanced-usage/available-tools/attempt-completion) - Presents final results
-- [switch_mode](/advanced-usage/available-tools/switch-mode) - Changes to a different mode for specialized tasks
-- [new_task](/advanced-usage/available-tools/new-task) - Creates a new subtask
-- [update_todo_list](/advanced-usage/available-tools/update-todo-list) - Updates task checklist progress
-- [skill](/advanced-usage/available-tools/skill) - Loads and executes predefined skill instructions
-
----
-
-## Tool Calling Mechanism
-
-### Handling Complex Tasks
-
-For certain complex operations that require multiple steps, Roo doesn't just figure them out on the fly. Instead, it follows predefined, internal plans to ensure consistency and accuracy.
-
-A prime example is creating a new MCP server, identified internally by `create_mcp_server`. **This identifier does not represent a tool you will see being called.** Rather, when you ask Roo to create a server, it triggers this known, multi-step workflow.
-
-This specific workflow is initiated by Roo using its internal `fetch_instructions` tool (with the task `create_mcp_server`) to retrieve a detailed plan. This plan then guides Roo to make calls to several standard, documented tools in sequence, such as:
-
-* [`execute_command`](/advanced-usage/available-tools/execute-command) for running setup scripts (e.g., `npx @modelcontextprotocol/create-server`).
-* [`write_to_file`](/advanced-usage/available-tools/write-to-file) or [`apply_diff`](/advanced-usage/available-tools/apply-diff) for creating or modifying server code and configuration files.
-* [`ask_followup_question`](/advanced-usage/available-tools/ask-followup-question) to gather necessary information like API keys from you.
-* Other standard tools as needed for steps like determining file locations or updating configuration entries.
-
-So, while the overall task (like `create_mcp_server`) is complex, it's ultimately accomplished by intelligently orchestrating the standard tools available in your environment. This approach allows Roo to reliably perform complex operations by leveraging the tools documented here.
-
-### When Tools Are Called
-
-Tools are invoked under specific conditions:
-
-1. **Direct Task Requirements**
- - When specific actions are needed to complete a task as decided by the LLM
- - In response to user requests
- - During automated workflows
-
-2. **Mode-Based Availability**
- - Different modes enable different tool sets
- - Mode switches can trigger tool availability changes
- - Some tools are restricted to specific modes
-
-3. **Context-Dependent Calls**
- - Based on the current state of the workspace
- - In response to system events
- - During error handling and recovery
-
-### Decision Process
-
-The system uses a multi-step process to determine tool availability:
-
-1. **Mode Validation**
- ```typescript
- isToolAllowedForMode(
- tool: string,
- modeSlug: string,
- customModes: ModeConfig[],
- toolRequirements?: Record,
- toolParams?: Record
- )
- ```
-
-2. **Requirement Checking**
- - System capability verification
- - Resource availability
- - Permission validation
-
-3. **Parameter Validation**
- - Required parameter presence
- - Parameter type checking
- - Value validation
-
----
-
-## Technical Implementation
-
-### Tool Call Processing
-
-1. **Initialization**
- - Tool name and parameters are validated
- - Mode compatibility is checked
- - Requirements are verified
-
-2. **Execution**
- ```typescript
- const toolCall = {
- type: "tool_call",
- name: chunk.name,
- arguments: chunk.input,
- callId: chunk.callId
- }
- ```
-
-3. **Result Handling**
- - Success/failure determination
- - Result formatting
- - Error handling
-
-### Security and Permissions
-
-1. **Access Control**
- - File system restrictions
- - Command execution limitations
- - Network access controls
-
-2. **Validation Layers**
- - Tool-specific validation
- - Mode-based restrictions
- - System-level checks
-
----
-
-## Mode Integration
-
-### Mode-Based Tool Access
-
-Tools are made available based on the current mode:
-
-- **Code Mode**: Full access to file system tools, code editing capabilities, command execution
-- **Ask Mode**: Limited to reading tools, information gathering capabilities, no file system modifications
-- **Architect Mode**: Design-focused tools, documentation capabilities, limited execution rights
-- **Custom Modes**: Can be configured with specific tool access for specialized workflows
-
-### Mode Switching
-
-1. **Process**
- - Current mode state preservation
- - Tool availability updates
- - Context switching
-
-2. **Impact on Tools**
- - Tool set changes
- - Permission adjustments
- - Context preservation
-
----
-
-## Best Practices
-
-### Tool Usage Guidelines
-
-1. **Efficiency**
- - Use the most specific tool for the task
- - Avoid redundant tool calls
- - Batch operations when possible
-
-2. **Security**
- - Validate inputs before tool calls
- - Use minimum required permissions
- - Follow security best practices
-
-3. **Error Handling**
- - Implement proper error checking
- - Provide meaningful error messages
- - Handle failures gracefully
-
-### Common Patterns
-
-1. **Information Gathering**
- ```
- [ask_followup_question](/advanced-usage/available-tools/ask-followup-question) → [read_file](/advanced-usage/available-tools/read-file) → [codebase_search](/advanced-usage/available-tools/codebase-search)
- ```
-
-2. **Code Modification**
- ```
- [read_file](/advanced-usage/available-tools/read-file) → [apply_diff](/advanced-usage/available-tools/apply-diff) → [attempt_completion](/advanced-usage/available-tools/attempt-completion)
- ```
-
-3. **Task Management**
- ```
- [new_task](/advanced-usage/available-tools/new-task) → [switch_mode](/advanced-usage/available-tools/switch-mode) → [execute_command](/advanced-usage/available-tools/execute-command)
- ```
-
----
-
-## Error Handling and Recovery
-
-### Error Types
-
-1. **Tool-Specific Errors**
- - Parameter validation failures
- - Execution errors
- - Resource access issues
-
-2. **System Errors**
- - Permission denied
- - Resource unavailable
- - Network failures
-
-3. **Context Errors**
- - Invalid mode for tool
- - Missing requirements
- - State inconsistencies
-
-### Recovery Strategies
-
-1. **Automatic Recovery**
- - Retry mechanisms
- - Fallback options
- - State restoration
-
-2. **User Intervention**
- - Error notifications
- - Recovery suggestions
- - Manual intervention options
diff --git a/docs/advanced-usage/available-tools/update-todo-list.md b/docs/advanced-usage/available-tools/update-todo-list.md
deleted file mode 100644
index 780013d6..00000000
--- a/docs/advanced-usage/available-tools/update-todo-list.md
+++ /dev/null
@@ -1,197 +0,0 @@
----
-description: Learn how update_todo_list creates dynamic TODO lists with status tracking, enabling step-by-step task management for complex workflows in Roo Code.
-keywords:
- - update_todo_list
- - Roo Code tools
- - task management
- - TODO lists
- - workflow tracking
- - checklist management
- - task status
- - interactive UI
- - VS Code AI
----
-
-# update_todo_list
-
-The `update_todo_list` tool enables dynamic, interactive task management within the chat interface. It replaces the entire TODO list with an updated checklist, ensuring that task status is always current and providing step-by-step tracking for complex, multi-step workflows.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `todos` (required): A markdown-formatted string representing the complete checklist with status indicators
-
----
-
-## What It Does
-
-This tool creates and manages an interactive todo list that appears as a UI component in the chat interface. It allows for real-time task tracking, status updates, and dynamic addition of new items as they are discovered during complex workflows. The list provides a structured way to manage multi-step tasks with clear visual progress indicators.
-
----
-
-## When is it used?
-
-- When managing complex, multi-step tasks that benefit from structured tracking
-- When Roo needs to show progress through a series of related activities
-- When tasks require step-by-step completion verification before proceeding
-- When new actionable items are discovered during long or complex workflows
-- When providing clear checkpoints and progress visibility to users
-
----
-
-## Key Features
-
-- **Full Checklist Replacement**: Overwrites the existing todo list with the updated version provided
-- **Interactive UI Component**: Displays as an editable interface element in the chat
-- **Multiple Status Types**: Supports pending, in-progress, and completed task states
-- **Dynamic Task Management**: Add new tasks as they arise during workflow execution
-- **User-Friendly Editing**: Provides direct editing capabilities within the chat interface
-- **Step-by-Step Tracking**: Enables confirmation of each step before updating and proceeding
-- **Progress Visualization**: Clear visual indicators for task completion status
-- **Workflow Integration**: Seamlessly integrates with task execution and completion flows
-
----
-
-## Limitations
-
-- **Complete Replacement**: Replaces the entire list rather than making incremental updates
-- **Single-Level Structure**: Uses single-level markdown checklists without nesting support
-- **Format Requirements**: Requires specific markdown checkbox syntax for proper parsing
-- **Manual Updates**: Requires explicit tool calls to update the list status
-- **State Management**: Todo list state is tied to the current task and conversation context
-
----
-
-## How It Works
-
-When the `update_todo_list` tool is invoked, it follows this process:
-
-1. **Input Validation**:
- - Validates the required `todos` parameter is provided
- - Parses the markdown checklist format for syntax correctness
- - Checks for valid status indicators: `[ ]`, `[-]`, and `[x]`
-
-2. **List Processing**:
- - Processes the markdown-formatted checklist
- - Extracts individual todo items with their status indicators
- - Validates the structure and format of each item
-
-3. **UI Integration**:
- - Presents the updated todo list to the user for approval
- - Replaces any existing todo list with the new version
- - Renders the list as an interactive component in the chat interface
-
-4. **User Interaction**:
- - Allows users to edit todos directly in the UI when in editing mode
- - Provides "Add Todo" functionality for real-time list expansion
- - Synchronizes changes back to the extension to maintain state consistency
-
-5. **State Management**:
- - Updates the task's internal todo list representation
- - Maintains synchronization between UI state and backend data
- - Preserves todo list state across conversation interactions
-
----
-
-## Checklist Format Requirements
-
-The tool uses a specific markdown format for todo items:
-
-### Status Options
-- `[ ]` - Pending task (not started)
-- `[-]` - In progress task (currently being worked on)
-- `[x]` - Completed task (fully finished)
-
-### Format Rules
-- Use single-level markdown checklist (no nesting or subtasks)
-- List todos in intended execution order
-- Each todo item should be clear and actionable
-- Status should accurately reflect current task state
-
----
-
-## Task Management Guidelines
-
-### Status Updates
-- Mark tasks as completed immediately after all work is finished
-- Start the next task by marking it as in progress
-- Use pending status for tasks not yet started
-- Only mark tasks as completed when fully accomplished with no unresolved dependencies
-
-### Dynamic List Management
-- Add new todos as soon as they are identified during task execution
-- Remove tasks only if they are no longer relevant or explicitly requested
-- Retain all unfinished tasks and update their status as needed
-- If a task is blocked, keep it as in progress and add new todos for resolution steps
-
----
-
-## Examples When Used
-
-- When developing a web application, Roo creates a todo list tracking design, implementation, testing, and deployment phases.
-- When setting up a development environment, Roo tracks installation of dependencies, configuration steps, and verification tasks.
-- When debugging complex issues, Roo maintains a list of investigation steps, potential causes, and testing procedures.
-- When refactoring code, Roo tracks which files need updates, what tests need modification, and documentation changes required.
-- When implementing new features, Roo manages tasks for planning, coding, testing, and integration steps.
-
----
-
-## Usage Examples
-
-Creating an initial todo list for a development task:
-```xml
-
-
-[ ] Analyze requirements
-[ ] Design architecture
-[ ] Implement core logic
-[ ] Write tests
-[ ] Update documentation
-
-
-```
-
-Updating progress after completing the first task:
-```xml
-
-
-[x] Analyze requirements
-[-] Design architecture
-[ ] Implement core logic
-[ ] Write tests
-[ ] Update documentation
-
-
-```
-
-Adding new tasks discovered during implementation:
-```xml
-
-
-[x] Analyze requirements
-[x] Design architecture
-[x] Implement core logic
-[-] Write tests
-[ ] Update documentation
-[ ] Add performance benchmarks
-[ ] Create deployment script
-
-
-```
-
-Managing a complex debugging workflow:
-```xml
-
-
-[x] Reproduce the issue
-[x] Check recent code changes
-[-] Analyze error logs
-[ ] Test with different configurations
-[ ] Check database queries
-[ ] Verify network connectivity
-[ ] Create fix and test
-
-
\ No newline at end of file
diff --git a/docs/advanced-usage/available-tools/use-mcp-tool.md b/docs/advanced-usage/available-tools/use-mcp-tool.md
deleted file mode 100644
index f3e21dc6..00000000
--- a/docs/advanced-usage/available-tools/use-mcp-tool.md
+++ /dev/null
@@ -1,223 +0,0 @@
----
-description: Discover how use_mcp_tool integrates external MCP servers to extend Roo Code with specialized tools, domain-specific functionality, and external services.
-keywords:
- - use_mcp_tool
- - MCP tools
- - Model Context Protocol
- - external tools
- - Roo Code integration
- - MCP servers
- - domain tools
- - tool extension
- - VS Code AI
----
-
-# use_mcp_tool
-
-The `use_mcp_tool` tool enables interaction with external tools provided by connected Model Context Protocol (MCP) servers. It extends Roo's capabilities with domain-specific functionality through a standardized protocol.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `server_name` (required): The name of the MCP server providing the tool
-- `tool_name` (required): The name of the tool to execute
-- `arguments` (required/optional): A JSON object containing the tool's input parameters, following the tool's input schema. May be optional for tools that require no input.
-
----
-
-## What It Does
-
-This tool allows Roo to access specialized functionality provided by external MCP servers. Each MCP server can offer multiple tools with unique capabilities, extending Roo beyond its built-in functionality. The system validates arguments against schemas, manages server connections, and processes responses of various content types (text, image, resource).
-
----
-
-## When is it used?
-
-- When specialized functionality not available in core tools is needed
-- When domain-specific operations are required
-- When integration with external systems or services is needed
-- When working with data that requires specific processing or analysis
-- When accessing proprietary tools through a standardized interface
-
----
-
-## Key Features
-
-- Uses the standardized MCP protocol via the `@modelcontextprotocol/sdk` library
-- Supports multiple transport mechanisms (StdioClientTransport, StreamableHTTPClientTransport and SSEClientTransport)
-- Validates arguments using Zod schema validation on both client and server sides
-- Processes multiple response content types: text, image, and resource references
-- Manages server lifecycle with automatic restarts when server code changes
-- Provides an "always allow" mechanism to bypass approval for trusted tools
-- Works with the companion `access_mcp_resource` tool for resource retrieval
-- Maintains proper error tracking and handling for failed operations
-- Supports configurable timeouts (1-3600 seconds, default: 60 seconds)
-- Allows file watchers to automatically detect and reload server changes
-
----
-
-## Limitations
-
-- Depends on external MCP servers being available and connected
-- Limited to the tools provided by connected servers
-- Tool capabilities vary between different MCP servers
-- Network issues can affect reliability and performance
-- Requires user approval before execution (unless in the "always allow" list)
-- Cannot execute multiple MCP tool operations simultaneously
-
----
-
-## Server Configuration
-
-MCP servers can be configured globally or at the project level:
-
-- **Global Configuration**: Managed through the Roo Code extension settings in VS Code. These apply across all projects unless overridden.
-- **Project-level Configuration**: Defined in a `.roo/mcp.json` file within your project's root directory.
- - This allows project-specific server setups.
- - Project-level servers take precedence over global servers if they share the same name.
- - Since `.roo/mcp.json` can be committed to version control, it simplifies sharing configurations with your team.
-
----
-
-## How It Works
-
-When the `use_mcp_tool` tool is invoked, it follows this process:
-
-1. **Initialization and Validation**:
- - The system verifies that the MCP hub is available
- - Confirms the specified server exists and is connected
- - Validates the requested tool exists on the server
- - Arguments are validated against the tool's schema definition
- - Timeout settings are extracted from server configuration (default: 60 seconds)
-
-2. **Execution and Communication**:
- - The system selects the appropriate transport mechanism:
- - `StdioClientTransport`: For communicating with local processes via standard I/O
- - `SSEClientTransport`: For communicating with HTTP servers via Server-Sent Events
- - `StreamableHTTPClientTransport`: For communicating with HTTP servers via Streamable HTTP Events
- - A request is sent with validated server name, tool name, and arguments
- - Communication uses the `@modelcontextprotocol/sdk` library for standardized interactions
- - Request execution is tracked with timeout handling to prevent hanging operations
-
-3. **Response Processing**:
- - Responses can include multiple content types:
- - Text content: Plain text responses
- - Image content: Binary image data with MIME type information
- - Resource references: URIs to access server resources (works with `access_mcp_resource`)
- - The system checks the `isError` flag to determine if error handling is needed
- - Results are formatted for display in the Roo interface
-
-4. **Resource and Error Handling**:
- - The system uses WeakRef patterns to prevent memory leaks
- - A consecutive mistake counter tracks and manages errors
- - File watchers monitor for server code changes and trigger automatic restarts
- - The security model requires approval for tool execution unless in the "always allow" list
-
----
-
-## Security and Permissions
-
-The MCP architecture provides several security features:
-
-- Users must approve tool usage before execution (by default)
-- Specific tools can be marked for automatic approval in the "always allow" list
-- Server configurations are validated with Zod schemas for integrity
-- Configurable timeouts prevent hanging operations (1-3600 seconds)
-- Server connections can be enabled or disabled through the UI
-
----
-
-## Examples When Used
-
-- Analyzing specialized data formats using server-side processing tools
-- Generating images or other media through AI models hosted on external servers
-- Executing complex domain-specific calculations without local implementation
-- Accessing proprietary APIs or services through a controlled interface
-- Retrieving data from specialized databases or data sources
-
----
-
-## Usage Examples
-
-Requesting weather forecast data with text response:
-```
-
-weather-server
-get_forecast
-
-{
- "city": "San Francisco",
- "days": 5,
- "format": "text"
-}
-
-
-```
-
-Analyzing source code with a specialized tool that returns JSON:
-```
-
-code-analysis
-complexity_metrics
-
-{
- "language": "typescript",
- "file_path": "src/app.ts",
- "include_functions": true,
- "metrics": ["cyclomatic", "cognitive"]
-}
-
-
-```
-
-Generating an image with specific parameters:
-```
-
-image-generation
-create_image
-
-{
- "prompt": "A futuristic city with flying cars",
- "style": "photorealistic",
- "dimensions": {
- "width": 1024,
- "height": 768
- },
- "format": "webp"
-}
-
-
-```
-
-Accessing a resource through a tool that returns a resource reference:
-```
-
-database-connector
-query_and_store
-
-{
- "database": "users",
- "type": "select",
- "fields": ["name", "email", "last_login"],
- "where": {
- "status": "active"
- },
- "store_as": "active_users"
-}
-
-
-```
-
-Tool with no required arguments:
-```
-
-system-monitor
-get_current_status
-
-{}
-
-
-```
diff --git a/docs/advanced-usage/available-tools/write-to-file.md b/docs/advanced-usage/available-tools/write-to-file.md
deleted file mode 100644
index 046fdb42..00000000
--- a/docs/advanced-usage/available-tools/write-to-file.md
+++ /dev/null
@@ -1,200 +0,0 @@
----
-description: Explore write_to_file for creating new files or replacing content with interactive diff view approval, ensuring safe file operations in Roo Code.
-keywords:
- - write_to_file
- - Roo Code tools
- - file creation
- - file writing
- - diff view
- - content approval
- - file operations
- - interactive editing
- - VS Code AI
----
-
-# write_to_file
-
-The `write_to_file` tool creates new files or completely replaces existing file content with an interactive approval process. It provides a diff view for reviewing changes before they're applied.
-
----
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `path` (required): The path of the file to write to, relative to the current working directory
-- `content` (required): The complete content to write to the file
-- `line_count` (required): The number of lines in the file, including empty lines
-
----
-
-## What It Does
-
-This tool writes content to a specified file, either creating a new file if it doesn't exist or completely overwriting an existing file. All changes require explicit user approval through a diff view interface, where users can review and even edit the proposed changes before they're applied.
-
----
-
-## When is it used?
-
-- When Roo needs to create a new file from scratch
-- When Roo needs to completely rewrite an existing file
-- When creating multiple files for a new project
-- When generating configuration files, documentation, or source code
-- When you need to review changes before they're applied
-
----
-
-## Key Features
-
-- Interactive Approval: Shows changes in a diff view requiring explicit approval before applying
-- User Edit Support: Allows editing the proposed content before final approval
-- Safety Measures: Detects code omission, validates paths, and prevents truncated content
-- Editor Integration: Opens a diff view that scrolls to the first difference automatically
-- Content Preprocessing: Handles artifacts from different AI models to ensure clean content
-- Access Control: Validates against `.rooignore` restrictions before making changes
-- Parent Directories: May handle directory creation through system dependencies
-- Complete Replacement: Provides a fully transformed file in a single operation
-
----
-
-## Limitations
-
-- Not suitable for existing files: Much slower and less efficient than `apply_diff` for modifying existing files
-- Performance with large files: Operation becomes significantly slower with larger files
-- Complete overwrite: Replaces entire file content, cannot preserve original content
-- Line count required: Needs accurate line count to detect potential content truncation
-- Review overhead: The approval process adds extra steps compared to direct edits
-- Interactive only: Cannot be used in automated workflows that require non-interactive execution
-
----
-
-## How It Works
-
-When the `write_to_file` tool is invoked, it follows this process:
-
-1. **Parameter Validation**: Validates the required parameters and permissions
- - Checks that `path`, `content`, and `line_count` are provided
- - If `line_count` is missing/invalid, reverts any diff view changes and returns an error suggesting alternative tools (`apply_diff`, etc.) if modifying an existing file.
- - Validates the file is allowed (not restricted by `.rooignore`)
- - Ensures the path is within the workspace boundaries
- - Tracks consecutive mistake counts for missing parameters
- - Shows specific error messages for each validation failure
-
-2. **Content Preprocessing**:
- - Removes code block markers that might be added by AI models
- - Handles escaped HTML entities (specifically for non-Claude models)
- - Strips line numbers if accidentally included in content
- - Performs model-specific processing for different AI providers
-
-3. **Diff View Generation**:
- - Opens a diff view in the editor showing the proposed changes
- - Adds a 300ms delay to ensure UI responsiveness
- - Scrolls automatically to the first difference
- - Highlights changes for easy review
-
-4. **User Approval Process**:
- - Waits for explicit user approval to proceed
- - Allows users to edit the content in the diff view
- - Captures any user edits for the final content
- - Provides option to reject changes entirely
- - Detects and incorporates user modifications into the final result
-
-5. **Safety Validation**:
- - Detects potential content truncation by comparing with provided line count
- - Shows warnings if content appears incomplete
- - Validates file path and access permissions
- - Specifically checks if files are outside the workspace with `isOutsideWorkspace` flag
-
-6. **File Writing**:
- - Writes the approved content (with any user edits) to the file
- - Provides confirmation of successful write
- - Resets the consecutive mistakes counter on success
-
----
-
-## Examples When Used
-
-- When creating a new project, Roo generates multiple files but lets you review each before committing changes.
-- When setting up configuration files, Roo shows the proposed configuration in a diff view for approval.
-- When generating documentation, Roo creates markdown files but lets you make final adjustments in the diff view.
-- When developing a prototype, Roo shows complete source files in a diff view where you can fine-tune before saving.
-
----
-
-## Usage Examples
-
-Creating a new JSON configuration file:
-```
-
-config/settings.json
-
-{
- "apiEndpoint": "https://api.example.com",
- "theme": {
- "primaryColor": "#007bff",
- "secondaryColor": "#6c757d",
- "fontFamily": "Arial, sans-serif"
- },
- "features": {
- "darkMode": true,
- "notifications": true,
- "analytics": false
- },
- "version": "1.0.0"
-}
-
-14
-
-```
-
-Creating a simple HTML file:
-```
-
-src/index.html
-
-
-
-
-
-
- My Application
-
-
-
-
-
-
-
-
-13
-
-```
-
-Creating a JavaScript module:
-```
-
-src/utils/helpers.js
-
-/**
- * Utility functions for the application
- */
-
-export function formatDate(date) {
- return new Date(date).toLocaleDateString();
-}
-
-export function calculateTotal(items) {
- return items.reduce((sum, item) => sum + item.price, 0);
-}
-
-export function debounce(func, delay) {
- let timeout;
- return function(...args) {
- clearTimeout(timeout);
- timeout = setTimeout(() => func.apply(this, args), delay);
- };
-}
-
-18
-
-```
diff --git a/docs/basic-usage/how-tools-work.md b/docs/basic-usage/how-tools-work.md
index 1a597ca6..dd32c5c7 100644
--- a/docs/basic-usage/how-tools-work.md
+++ b/docs/basic-usage/how-tools-work.md
@@ -108,4 +108,4 @@ This safety mechanism ensures you maintain control over which files are modified
## Learn More About Tools
-For more detailed information about each tool, including complete parameter references and advanced usage patterns, see the [Tool Use Overview](/advanced-usage/available-tools/tool-use-overview) documentation.
+For more detailed information about each tool, including complete parameter references and advanced usage patterns, see the [Tool Use Overview](/basic-usage/how-tools-work) documentation.
diff --git a/docs/basic-usage/using-modes.md b/docs/basic-usage/using-modes.md
index 6417b2e5..9070578e 100644
--- a/docs/basic-usage/using-modes.md
+++ b/docs/basic-usage/using-modes.md
@@ -108,7 +108,7 @@ Four ways to switch modes:
| **Description** | A strategic workflow orchestrator (aka Boomerang Mode) that breaks down complex tasks and delegates them to specialized modes. Learn more about [Boomerang Tasks](/features/boomerang-tasks). |
| **Tool Access** | No direct tool access (uses `new_task` tool to delegate work to other modes) |
| **Ideal For** | Managing multi-step projects, coordinating work across different modes, and automating complex workflows |
-| **Special Features** | Uses the [`new_task`](/advanced-usage/available-tools/new-task) tool to delegate subtasks to other modes. |
+| **Special Features** | Uses the [`new_task`](/basic-usage/how-tools-work) tool to delegate subtasks to other modes. |
---
@@ -124,4 +124,4 @@ Each tool group provides specific capabilities:
- **`command`**: Terminal command execution
- **`mcp`**: Model Context Protocol server interactions
-For detailed information about available tools, see the [Available Tools documentation](/advanced-usage/available-tools/tool-use-overview).
+For detailed information about available tools, see the [Available Tools documentation](/basic-usage/how-tools-work).
diff --git a/docs/features/api-configuration-profiles.mdx b/docs/features/api-configuration-profiles.mdx
index 06d8ff1d..7b965b90 100644
--- a/docs/features/api-configuration-profiles.mdx
+++ b/docs/features/api-configuration-profiles.mdx
@@ -44,7 +44,7 @@ Configuration profiles can have their own:
- [Temperature settings](/features/model-temperature) for controlling response randomness
- Thinking budgets
- Provider-specific settings
-- Diff editing configuration (see [`apply_diff`](/advanced-usage/available-tools/apply-diff))
+- Diff editing configuration (see [`apply_diff`](/basic-usage/how-tools-work))
- Rate limit settings
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.
@@ -143,4 +143,4 @@ API keys are stored securely in VSCode's Secret Storage and are never exposed in
- Integrates with [local models](/advanced-usage/local-models) for offline work
- Supports [temperature settings](/features/model-temperature) per mode
- Supports per-profile rate limits (configured here) and general [usage tracking/cost info](/advanced-usage/rate-limits-costs)
-- Supports diff-based editing (see [`apply_diff`](/advanced-usage/available-tools/apply-diff)).
+- Supports diff-based editing (see [`apply_diff`](/basic-usage/how-tools-work)).
diff --git a/docs/features/boomerang-tasks.mdx b/docs/features/boomerang-tasks.mdx
index b8399dc7..8b0d0c41 100644
--- a/docs/features/boomerang-tasks.mdx
+++ b/docs/features/boomerang-tasks.mdx
@@ -113,6 +113,6 @@ Adding capabilities to the Orchestrator mode should be done thoughtfully. The li
:::
-[^1]: This context is passed via the `message` parameter of the [`new_task`](/advanced-usage/available-tools/new-task) tool when the Orchestrator mode delegates the task.
-[^2]: The mode for the subtask is specified via the `mode` parameter of the [`new_task`](/advanced-usage/available-tools/new-task) tool during initiation by the Orchestrator mode.
-[^3]: This summary is passed via the `result` parameter of the [`attempt_completion`](/advanced-usage/available-tools/attempt-completion) tool when the subtask finishes.
\ No newline at end of file
+[^1]: This context is passed via the `message` parameter of the [`new_task`](/basic-usage/how-tools-work) tool when the Orchestrator mode delegates the task.
+[^2]: The mode for the subtask is specified via the `mode` parameter of the [`new_task`](/basic-usage/how-tools-work) tool during initiation by the Orchestrator mode.
+[^3]: This summary is passed via the `result` parameter of the [`attempt_completion`](/basic-usage/how-tools-work) tool when the subtask finishes.
\ No newline at end of file
diff --git a/docs/features/codebase-indexing.mdx b/docs/features/codebase-indexing.mdx
index 90ba8bc7..fa62a0ad 100644
--- a/docs/features/codebase-indexing.mdx
+++ b/docs/features/codebase-indexing.mdx
@@ -44,7 +44,7 @@ When enabled, the indexing system:
1. **Parses your code** using Tree-sitter to identify semantic blocks (functions, classes, methods)
2. **Creates embeddings** of each code block using AI models
3. **Stores vectors** in a Qdrant database for fast similarity search
-4. **Provides the [`codebase_search`](/advanced-usage/available-tools/codebase-search) tool** to Roo for intelligent code discovery
+4. **Provides the [`codebase_search`](/basic-usage/how-tools-work) tool** to Roo for intelligent code discovery
This enables natural language queries like "user authentication logic" or "database connection handling" to find relevant code across your entire project.
@@ -316,7 +316,7 @@ Use natural language descriptions:
## Using the Search Feature
-Once indexed, Roo can use the [`codebase_search`](/advanced-usage/available-tools/codebase-search) tool:
+Once indexed, Roo can use the [`codebase_search`](/basic-usage/how-tools-work) tool:
**Example Natural Language Queries**:
- "How is user authentication handled?"
diff --git a/docs/features/concurrent-file-reads.md b/docs/features/concurrent-file-reads.md
index 7794008b..da684847 100644
--- a/docs/features/concurrent-file-reads.md
+++ b/docs/features/concurrent-file-reads.md
@@ -49,7 +49,7 @@ When you ask Roo to perform a task that involves multiple files, it will automat
- Refactoring code that has dependencies in other parts of the codebase.
- Answering questions that require a broad understanding of your project.
-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.
+Roo is instructed to use this feature efficiently by prioritizing the most critical files and reading them in a single batch. The [`read_file`](/basic-usage/how-tools-work) tool automatically accepts multiple files in a single request.
When Roo requests to read multiple files, you'll see a batch approval interface that displays:
@@ -73,5 +73,5 @@ You can configure the Multi-File Read feature by clicking the - This text is used by Roo, particularly the [`🪃 Orchestrator`](/basic-usage/using-modes#orchestrator-mode-aka-boomerang-mode) mode, for [orchestrating tasks](/features/boomerang-tasks) (e.g., via the [`new_task`](/advanced-usage/available-tools/new-task) tool). - It also helps Roo decide which mode is appropriate when [switching modes](/basic-usage/using-modes#switching-between-modes) (e.g., via the [`switch_mode`](/advanced-usage/available-tools/switch-mode) tool). - This field is **not displayed in the mode selector UI** - that's handled by the `description` field. |
+| When to Use (optional) (`whenToUse`) | (Optional) Provides **guidance for Roo's automated decision-making**, particularly for mode selection and task orchestration. - This text is used by Roo, particularly the [`🪃 Orchestrator`](/basic-usage/using-modes#orchestrator-mode-aka-boomerang-mode) mode, for [orchestrating tasks](/features/boomerang-tasks) (e.g., via the [`new_task`](/basic-usage/how-tools-work) tool). - It also helps Roo decide which mode is appropriate when [switching modes](/basic-usage/using-modes#switching-between-modes) (e.g., via the [`switch_mode`](/basic-usage/how-tools-work) tool). - This field is **not displayed in the mode selector UI** - that's handled by the `description` field. |
| Custom Instructions (optional) (`customInstructions`) | **Specific behavioral guidelines** or rules for the mode. - These instructions are added near the end of the system prompt to further refine Roo's behavior beyond the `roleDefinition`. - This can be provided directly in the configuration or via separate instruction files. |
---
diff --git a/docs/features/experimental/concurrent-file-edits.md b/docs/features/experimental/concurrent-file-edits.md
index 52c33cc6..84e389e0 100644
--- a/docs/features/experimental/concurrent-file-edits.md
+++ b/docs/features/experimental/concurrent-file-edits.md
@@ -77,7 +77,7 @@ When enabled, Roo automatically uses concurrent edits when appropriate. You'll s
## Technical Details
-This feature leverages the [`apply_diff`](/advanced-usage/available-tools/apply-diff) tool's multi-file capabilities. For detailed information about the implementation and diff format, see the [apply_diff documentation](/advanced-usage/available-tools/apply-diff).
+This feature leverages the [`apply_diff`](/basic-usage/how-tools-work) tool's multi-file capabilities. For detailed information about the implementation and diff format, see the [apply_diff documentation](/basic-usage/how-tools-work).
---
@@ -117,6 +117,6 @@ This feature leverages the [`apply_diff`](/advanced-usage/available-tools/apply-
## See Also
-- [`apply_diff` Tool Documentation](/advanced-usage/available-tools/apply-diff) - Detailed technical information
+- [`apply_diff` Tool Documentation](/basic-usage/how-tools-work) - Detailed technical information
- [Experimental Features](/features/experimental/experimental-features) - Other experimental capabilities
- [`.rooignore` Configuration](/features/rooignore) - File access restrictions
\ No newline at end of file
diff --git a/docs/features/experimental/experimental-features.md b/docs/features/experimental/experimental-features.md
index 1cbf376e..2098ab6d 100644
--- a/docs/features/experimental/experimental-features.md
+++ b/docs/features/experimental/experimental-features.md
@@ -33,7 +33,7 @@ The following experimental features are currently available:
- [Custom Tools](/features/experimental/custom-tools) - Define TypeScript/JavaScript tools that Roo can call like built-in tools
- [Background Editing](/features/experimental/background-editing) - Work uninterrupted while Roo edits files in the background
- [Image Generation](/features/image-generation) - Generate images from text prompts and save them to your workspace
-- [Run Slash Command](/advanced-usage/available-tools/run-slash-command) - Execute predefined slash commands for templated instructions and workflow automation
+- [Run Slash Command](/basic-usage/how-tools-work) - Execute predefined slash commands for templated instructions and workflow automation
---
diff --git a/docs/features/mcp/using-mcp-in-roo.mdx b/docs/features/mcp/using-mcp-in-roo.mdx
index 71b28bc7..5f693c46 100644
--- a/docs/features/mcp/using-mcp-in-roo.mdx
+++ b/docs/features/mcp/using-mcp-in-roo.mdx
@@ -278,13 +278,13 @@ If you need a specific tool or capability that isn't available through existing
* Fetch internal instructions for server creation.
* Scaffold a basic server project (usually TypeScript) in the default MCP directory (e.g., `~/Documents/Cline/MCP` on macOS) unless you specify otherwise.
* Write the code to implement the requested tool, including handling necessary API calls.
- * **Handle Secrets:** If the tool requires API keys or other credentials, Roo will ask you for them using the [`ask_followup_question`](/advanced-usage/available-tools/ask-followup-question) tool to ensure they are configured securely as environment variables for the server.
+ * **Handle Secrets:** If the tool requires API keys or other credentials, Roo will ask you for them using the [`ask_followup_question`](/basic-usage/how-tools-work) tool to ensure they are configured securely as environment variables for the server.
* **Configure:** Automatically add the new server's configuration to your global `mcp_settings.json` or project `.roo/mcp.json` file.
* **Activate:** Attempt to connect to the newly configured server so its tools are immediately available.
3. **Outcome:** If successful, Roo will confirm the creation, and the new server and its tools will appear in your MCP server list, ready for use.
-This feature allows you to tailor Roo's capabilities by having it build the specific integrations you need directly from your requests. For a deeper look into the internal mechanics, see the [Tool Calling Mechanism](/advanced-usage/available-tools/tool-use-overview#tool-calling-mechanism).
+This feature allows you to tailor Roo's capabilities by having it build the specific integrations you need directly from your requests. For a deeper look into the internal mechanics, see the [Tool Calling Mechanism](/basic-usage/how-tools-work).
---
diff --git a/docs/features/rooignore.md b/docs/features/rooignore.md
index 35353046..eac6d2d1 100644
--- a/docs/features/rooignore.md
+++ b/docs/features/rooignore.md
@@ -49,13 +49,13 @@ For a comprehensive guide on syntax, refer to the [official Git documentation on
These tools directly check `.rooignore` before any file operation. If a file is ignored, the operation is blocked:
-* [`read_file`](/advanced-usage/available-tools/read-file): Will not read ignored files.
-* [`write_to_file`](/advanced-usage/available-tools/write-to-file): Will not write to or create new ignored files.
-* [`apply_diff`](/advanced-usage/available-tools/apply-diff): Will not apply diffs to ignored files.
+* [`read_file`](/basic-usage/how-tools-work): Will not read ignored files.
+* [`write_to_file`](/basic-usage/how-tools-work): Will not write to or create new ignored files.
+* [`apply_diff`](/basic-usage/how-tools-work): Will not apply diffs to ignored files.
### File Discovery and Listing
-* **[`list_files`](/advanced-usage/available-tools/list-files) Tool & `@directory` Attachments**: When Roo lists files or when you use `@directory` attachments, ignored files are omitted or marked with a 🔒 symbol (see "User Experience" below). Both use identical filtering logic.
+* **[`list_files`](/basic-usage/how-tools-work) Tool & `@directory` Attachments**: When Roo lists files or when you use `@directory` attachments, ignored files are omitted or marked with a 🔒 symbol (see "User Experience" below). Both use identical filtering logic.
* **Environment Details**: Information about your workspace (like open tabs and project structure) provided to Roo is filtered to exclude or mark ignored items.
### Context Mentions
@@ -65,14 +65,14 @@ These tools directly check `.rooignore` before any file operation. If a file is
### Command Execution
-* **[`execute_command`](/advanced-usage/available-tools/execute-command) Tool**: This tool checks if a command (from a predefined list like `cat` or `grep`) targets an ignored file. If so, execution is blocked.
+* **[`execute_command`](/basic-usage/how-tools-work) Tool**: This tool checks if a command (from a predefined list like `cat` or `grep`) targets an ignored file. If so, execution is blocked.
---
## Key Limitations and Scope
* **Workspace-Centric**: `.rooignore` rules apply **only to files and directories within the current VS Code workspace root**. Files outside this scope are not affected.
-* **[`execute_command`](/advanced-usage/available-tools/execute-command) Specificity**: Protection for `execute_command` is limited to a predefined list of file-reading commands. Custom scripts or uncommon utilities might not be caught.
+* **[`execute_command`](/basic-usage/how-tools-work) Specificity**: Protection for `execute_command` is limited to a predefined list of file-reading commands. Custom scripts or uncommon utilities might not be caught.
* **Not a Full Sandbox**: `.rooignore` is a powerful tool for controlling Roo's file access via its tools, but it does not create a system-level sandbox.
---
diff --git a/docs/features/shell-integration.mdx b/docs/features/shell-integration.mdx
index baecfe6c..8a20149d 100644
--- a/docs/features/shell-integration.mdx
+++ b/docs/features/shell-integration.mdx
@@ -38,7 +38,7 @@ Terminal Shell Integration is a key feature that enables Roo Code to execute com
Shell integration is automatically enabled in Roo Code and connects directly to your terminal's command execution lifecycle without requiring any setup from you. This built-in feature allows Roo to:
-- Execute commands on your behalf through the [`execute_command`](/advanced-usage/available-tools/execute-command) tool
+- Execute commands on your behalf through the [`execute_command`](/basic-usage/how-tools-work) tool
- Read command output in real-time without manual copy-pasting
- Automatically detect and fix errors in running applications
- Observe command exit codes to determine success or failure
diff --git a/docs/features/skills.mdx b/docs/features/skills.mdx
index 9687ce13..077646e5 100644
--- a/docs/features/skills.mdx
+++ b/docs/features/skills.mdx
@@ -57,7 +57,7 @@ Skills use **progressive disclosure** to efficiently load content only when need
**Level 1: Discovery** - Roo reads each `SKILL.md` file and parses its frontmatter to extract `name` and `description`. Only this metadata is stored for matching—the full content isn't held in memory until needed.
-**Level 2: Instructions** - When your request matches a skill's description, Roo uses [`read_file`](/advanced-usage/available-tools/read-file) to load the full SKILL.md instructions into context.
+**Level 2: Instructions** - When your request matches a skill's description, Roo uses [`read_file`](/basic-usage/how-tools-work) to load the full SKILL.md instructions into context.
**Level 3: Resources** - The prompt tells Roo it may access bundled files (scripts, templates, references) alongside the skill. There's no separate resource manifest—Roo discovers these files on-demand when the instructions reference them.
diff --git a/docs/features/suggested-responses.md b/docs/features/suggested-responses.md
index 59ab7411..e6dc3942 100644
--- a/docs/features/suggested-responses.md
+++ b/docs/features/suggested-responses.md
@@ -13,7 +13,7 @@ import Codicon from '@site/src/components/Codicon';
# Suggested Responses
-When Roo needs more information to complete a task, it uses the [`ask_followup_question` tool](/advanced-usage/available-tools/ask-followup-question). To make responding easier and faster, Roo often provides suggested answers alongside the question.
+When Roo needs more information to complete a task, it uses the [`ask_followup_question` tool](/basic-usage/how-tools-work). To make responding easier and faster, Roo often provides suggested answers alongside the question.
---
diff --git a/docs/features/task-todo-list.mdx b/docs/features/task-todo-list.mdx
index c50441d0..5b039cc4 100644
--- a/docs/features/task-todo-list.mdx
+++ b/docs/features/task-todo-list.mdx
@@ -50,7 +50,7 @@ See [When Roo Creates Todo Lists](#when-roo-creates-todo-lists) for detailed inf
## How It Works
-The Task Todo List feature is powered by the [`update_todo_list`](/advanced-usage/available-tools/update-todo-list) tool, which enables dynamic task management within the chat interface.
+The Task Todo List feature is powered by the [`update_todo_list`](/basic-usage/how-tools-work) tool, which enables dynamic task management within the chat interface.
### When Roo Creates Todo Lists
diff --git a/docs/providers/openai-compatible.md b/docs/providers/openai-compatible.md
index 0f9fcffb..63f1cf58 100644
--- a/docs/providers/openai-compatible.md
+++ b/docs/providers/openai-compatible.md
@@ -101,7 +101,7 @@ This gives you lower-latency feedback on which tools are being used and with wha
- **Model support:** Not all models support native tool calling. If a model does not support tools, it cannot be used with Roo Code. Check your provider's documentation to confirm tool-calling support for the model you want to use.
- **Provider quirks:** Some OpenAI-compatible providers only partially implement the native tools API. If you encounter tool-calling errors, verify that your provider fully supports OpenAI-compatible function calling.
-For a deeper overview of how tools work in Roo Code in general, see the [Tool Use Overview](/advanced-usage/available-tools/tool-use-overview).
+For a deeper overview of how tools work in Roo Code in general, see the [Tool Use Overview](/basic-usage/how-tools-work).
---
diff --git a/docs/update-notes/v3.11.0.md b/docs/update-notes/v3.11.0.md
index 81fe1b27..5d8472f6 100644
--- a/docs/update-notes/v3.11.0.md
+++ b/docs/update-notes/v3.11.0.md
@@ -19,9 +19,9 @@ This release introduces faster diff editing, project-level MCP configuration, AP
## Fast Edits (Multi-Block Diffs)
-Roo Code's default editing mechanism now uses a multi-block diff strategy for the [`apply_diff`](/advanced-usage/available-tools/apply-diff) tool. This is significantly faster, especially when applying multiple changes at once, as it modifies only the necessary lines instead of rewriting the entire file. This leads to quicker edits and helps prevent issues like truncated writes on large files.
+Roo Code's default editing mechanism now uses a multi-block diff strategy for the [`apply_diff`](/basic-usage/how-tools-work) tool. This is significantly faster, especially when applying multiple changes at once, as it modifies only the necessary lines instead of rewriting the entire file. This leads to quicker edits and helps prevent issues like truncated writes on large files.
-Learn more about [`apply_diff`](/advanced-usage/available-tools/apply-diff).
+Learn more about [`apply_diff`](/basic-usage/how-tools-work).
---
@@ -58,7 +58,7 @@ Learn more about [Import/Export/Reset Settings](/features/settings-management) a
## QOL Improvements
-* **Editable Suggested Answers:** Suggested answers from [`ask_followup_question`](/advanced-usage/available-tools/ask-followup-question) can now be edited before acceptance. (Thanks samhvw8!)
+* **Editable Suggested Answers:** Suggested answers from [`ask_followup_question`](/basic-usage/how-tools-work) can now be edited before acceptance. (Thanks samhvw8!)
* **Partial File Reads:** Enhancements to reading portions of large files. (Thanks KJ7LNW!)
* **"Add to Context" Action:** Prioritized in the code actions menu and now includes line numbers. (Thanks samhvw8!)
* **External Activation Command:** New command for other extensions to interface with Roo Code. (Thanks gtaylor!)
diff --git a/docs/update-notes/v3.11.md b/docs/update-notes/v3.11.md
index 02110242..e64a0ec7 100644
--- a/docs/update-notes/v3.11.md
+++ b/docs/update-notes/v3.11.md
@@ -19,9 +19,9 @@ This update focuses on performance enhancements, improved provider integration,
## Fast Edits
-Roo Code's default editing mechanism, which uses diffs via the [`apply_diff`](/advanced-usage/available-tools/apply-diff) tool, is now significantly faster, especially when applying multiple changes at once. This approach modifies only the necessary lines instead of rewriting the entire file, leading to quicker edits and helping prevent issues like truncated writes on large files. This reduces waiting time and improves the flow of iterative development.
+Roo Code's default editing mechanism, which uses diffs via the [`apply_diff`](/basic-usage/how-tools-work) tool, is now significantly faster, especially when applying multiple changes at once. This approach modifies only the necessary lines instead of rewriting the entire file, leading to quicker edits and helping prevent issues like truncated writes on large files. This reduces waiting time and improves the flow of iterative development.
-Learn more about [`apply_diff`](/advanced-usage/available-tools/apply-diff).
+Learn more about [`apply_diff`](/basic-usage/how-tools-work).
---
@@ -75,7 +75,7 @@ Learn more about [Pinning and Sorting Profiles](/features/api-configuration-prof
## Editable Suggested Answers
-When Roo asks a follow-up question using the [`ask_followup_question`](/advanced-usage/available-tools/ask-followup-question) tool, the suggested answers provided can now be edited directly in the chat interface before you accept one. This allows for quick modifications without retyping the entire response. (Thanks samhvw8!)
+When Roo asks a follow-up question using the [`ask_followup_question`](/basic-usage/how-tools-work) tool, the suggested answers provided can now be edited directly in the chat interface before you accept one. This allows for quick modifications without retyping the entire response. (Thanks samhvw8!)
Learn more about [Interacting with Suggestions](/features/suggested-responses#interacting-with-suggestions).
diff --git a/docs/update-notes/v3.14.0.md b/docs/update-notes/v3.14.0.md
index a5369cb3..1d9008b2 100644
--- a/docs/update-notes/v3.14.0.md
+++ b/docs/update-notes/v3.14.0.md
@@ -10,13 +10,13 @@ This release introduces Gemini prompt caching, improves several tools, and inclu
## Apply Diff and Other Major File Edit Improvements
-* Improve [`apply_diff`](/advanced-usage/available-tools/apply-diff) to work better with **Google Gemini 2.5** and other models
+* Improve [`apply_diff`](/basic-usage/how-tools-work) to work better with **Google Gemini 2.5** and other models
* Automatically close files opened by edit tools (`apply_diff`, `insert_content`, `search_and_replace`, `write_to_file`) after changes are approved. This prevents cluttering the editor with files opened by Roo and helps clarify context by only showing files intentionally opened by the user.
* Added the `search_and_replace` tool. This tool finds and replaces text within a file using literal strings or regex patterns, optionally within specific line ranges (thanks samhvw8!).
* Added the `insert_content` tool (now retired). This tool added new lines into a file at a specific location or the end, without modifying existing content (thanks samhvw8!).
* Deprecated the `append_to_file` tool in favor of `insert_content` (use `line: 0`).
-* Correctly revert changes and suggest alternative tools when [`write_to_file`](/advanced-usage/available-tools/write-to-file) fails on a missing line count
-* Better progress indicator for [`apply_diff`](/advanced-usage/available-tools/apply-diff) tools (thanks qdaxb!)
+* Correctly revert changes and suggest alternative tools when [`write_to_file`](/basic-usage/how-tools-work) fails on a missing line count
+* Better progress indicator for [`apply_diff`](/basic-usage/how-tools-work) tools (thanks qdaxb!)
* Ensure user feedback is added to conversation history even during API errors (thanks System233!).
* Prevent redundant 'TASK RESUMPTION' prompts from appearing when resuming a task (thanks System233!).
* Fix issue where error messages sometimes didn't display after cancelling an API request (thanks System233!).
@@ -63,7 +63,7 @@ This release introduces Gemini prompt caching, improves several tools, and inclu
## Bug Fixes and General QOL Improvements and Misc.
-* Make the [`list_files`](/advanced-usage/available-tools/list-files) tool more efficient and smarter about excluding directories like `.git/`
+* Make the [`list_files`](/basic-usage/how-tools-work) tool more efficient and smarter about excluding directories like `.git/`
* Performance improvements to task size calculations
* Give better loading feedback on chat rows (thanks elianiva!)
* Use a more sensible task export icon
diff --git a/docs/update-notes/v3.14.md b/docs/update-notes/v3.14.md
index 428256cb..e1bd4124 100644
--- a/docs/update-notes/v3.14.md
+++ b/docs/update-notes/v3.14.md
@@ -42,13 +42,13 @@ keywords:
## Apply Diff and Other Major File Edit Improvements
-* Improve [`apply_diff`](/advanced-usage/available-tools/apply-diff) to work better with **Google Gemini 2.5** and other models
+* Improve [`apply_diff`](/basic-usage/how-tools-work) to work better with **Google Gemini 2.5** and other models
* Automatically close files opened by edit tools (`apply_diff`, `insert_content`, `search_and_replace`, `write_to_file`) after changes are approved. This prevents cluttering the editor with files opened by Roo and helps clarify context by only showing files intentionally opened by the user.
* Added the `search_and_replace` tool. This tool finds and replaces text within a file using literal strings or regex patterns, optionally within specific line ranges (thanks samhvw8!).
* Added the `insert_content` tool (now retired). This tool added new lines into a file at a specific location or the end, without modifying existing content (thanks samhvw8!).
* Deprecated the `append_to_file` tool in favor of `insert_content` (use `line: 0`).
-* Correctly revert changes and suggest alternative tools when [`write_to_file`](/advanced-usage/available-tools/write-to-file) fails on a missing line count
-* Better progress indicator for [`apply_diff`](/advanced-usage/available-tools/apply-diff) tools (thanks qdaxb!)
+* Correctly revert changes and suggest alternative tools when [`write_to_file`](/basic-usage/how-tools-work) fails on a missing line count
+* Better progress indicator for [`apply_diff`](/basic-usage/how-tools-work) tools (thanks qdaxb!)
* Ensure user feedback is added to conversation history even during API errors (thanks System233!).
* Prevent redundant 'TASK RESUMPTION' prompts from appearing when resuming a task (thanks System233!).
* Fix issue where error messages sometimes didn't display after cancelling an API request (thanks System233!).
@@ -107,7 +107,7 @@ keywords:
## Bug Fixes and General QOL Improvements and Misc.
-* Make the [`list_files`](/advanced-usage/available-tools/list-files) tool more efficient and smarter about excluding directories like `.git/`
+* Make the [`list_files`](/basic-usage/how-tools-work) tool more efficient and smarter about excluding directories like `.git/`
* Performance improvements to task size calculations, including more efficient token count estimation to reduce gray screens.
* Give better loading feedback on chat rows (thanks elianiva!)
* Use a more sensible task export icon
diff --git a/docs/update-notes/v3.17.0.md b/docs/update-notes/v3.17.0.md
index 9a0e024d..abcd5955 100644
--- a/docs/update-notes/v3.17.0.md
+++ b/docs/update-notes/v3.17.0.md
@@ -25,7 +25,7 @@ Users interacting with Gemini models will experience improved performance and ov
## Smarter Boomerang Orchestration
Roo Code now offers enhanced guidance for selecting the most appropriate mode for your tasks, primarily through the new "When to Use" field in mode definitions. This field allows mode creators to provide specific instructions on the ideal scenarios for using a particular mode. Previously, or if this field is not defined for a mode, Roo would rely on the first sentence of the mode's role definition for this guidance.
-* **"When to Use" Field:** Custom modes can now include a "When to Use" description. This text is utilized by Roo, especially the [Orchestrator (Boomerang) mode](/features/boomerang-tasks), to make more informed decisions when orchestrating tasks (e.g., via the [`new_task`](/advanced-usage/available-tools/new-task) tool) or when automatically switching modes (e.g., via the [`switch_mode`](/advanced-usage/available-tools/switch-mode) tool).
+* **"When to Use" Field:** Custom modes can now include a "When to Use" description. This text is utilized by Roo, especially the [Orchestrator (Boomerang) mode](/features/boomerang-tasks), to make more informed decisions when orchestrating tasks (e.g., via the [`new_task`](/basic-usage/how-tools-work) tool) or when automatically switching modes (e.g., via the [`switch_mode`](/basic-usage/how-tools-work) tool).
* **Improved Orchestration:** By leveraging the "When to Use" field, Roo can better understand the purpose of each mode, leading to more effective task delegation and mode selection.
* **Fallback to Role Definition:** If the "When to Use" field is not populated for a mode, Roo will use the first sentence of the mode's role definition as a default summary to guide its decisions.
@@ -40,7 +40,7 @@ The image above shows an example of a "When to Use" description. This field is n
We've made several under-the-hood refinements to improve how Roo understands and responds to your requests:
* **'Ask' Mode Refinements:** 'Ask' mode has been refined to provide more comprehensive and detailed explanations, be less quick to suggest or switch to implementing code (waiting for a clearer cue from you), and to utilize diagrams like Mermaid charts more often for clarification.
-* **More Accurate Boomerang Orchestration:** The internal description for the [`new_task`](/advanced-usage/available-tools/new-task) tool (used by Roo to initiate new tasks) has been simplified for better AI comprehension. This internal refinement ensures the [Boomerang (Orchestrator) functionality](/features/boomerang-tasks) is triggered more reliably, leading to smoother and more accurate automated task delegation.
+* **More Accurate Boomerang Orchestration:** The internal description for the [`new_task`](/basic-usage/how-tools-work) tool (used by Roo to initiate new tasks) has been simplified for better AI comprehension. This internal refinement ensures the [Boomerang (Orchestrator) functionality](/features/boomerang-tasks) is triggered more reliably, leading to smoother and more accurate automated task delegation.
---
diff --git a/docs/update-notes/v3.17.md b/docs/update-notes/v3.17.md
index 5b3bc670..eb340259 100644
--- a/docs/update-notes/v3.17.md
+++ b/docs/update-notes/v3.17.md
@@ -25,7 +25,7 @@ Users interacting with Gemini models will experience improved performance and ov
## Smarter Boomerang Orchestration
Roo Code now offers enhanced guidance for selecting the most appropriate mode for your tasks, primarily through the new "When to Use" field in mode definitions. This field allows mode creators to provide specific instructions on the ideal scenarios for using a particular mode. Previously, or if this field is not defined for a mode, Roo would rely on the first sentence of the mode's role definition for this guidance.
-* **"When to Use" Field:** Custom modes can now include a "When to Use" description. This text is utilized by Roo, especially the [Orchestrator (Boomerang) mode](/features/boomerang-tasks), to make more informed decisions when orchestrating tasks (e.g., via the [`new_task`](/advanced-usage/available-tools/new-task) tool) or when automatically switching modes (e.g., via the [`switch_mode`](/advanced-usage/available-tools/switch-mode) tool).
+* **"When to Use" Field:** Custom modes can now include a "When to Use" description. This text is utilized by Roo, especially the [Orchestrator (Boomerang) mode](/features/boomerang-tasks), to make more informed decisions when orchestrating tasks (e.g., via the [`new_task`](/basic-usage/how-tools-work) tool) or when automatically switching modes (e.g., via the [`switch_mode`](/basic-usage/how-tools-work) tool).
* **Improved Orchestration:** By leveraging the "When to Use" field, Roo can better understand the purpose of each mode, leading to more effective task delegation and mode selection.
* **Fallback to Role Definition:** If the "When to Use" field is not populated for a mode, Roo will use the first sentence of the mode's role definition as a default summary to guide its decisions.
@@ -40,7 +40,7 @@ The image above shows an example of a "When to Use" description. This field is n
We've made several under-the-hood refinements to improve how Roo understands and responds to your requests:
* **'Ask' Mode Refinements:** 'Ask' mode has been refined to provide more comprehensive and detailed explanations, be less quick to suggest or switch to implementing code (waiting for a clearer cue from you), and to utilize diagrams like Mermaid charts more often for clarification.
-* **More Accurate Boomerang Orchestration:** The internal description for the [`new_task`](/advanced-usage/available-tools/new-task) tool (used by Roo to initiate new tasks) has been simplified for better AI comprehension. This internal refinement ensures the [Boomerang (Orchestrator) functionality](/features/boomerang-tasks) is triggered more reliably, leading to smoother and more accurate automated task delegation.
+* **More Accurate Boomerang Orchestration:** The internal description for the [`new_task`](/basic-usage/how-tools-work) tool (used by Roo to initiate new tasks) has been simplified for better AI comprehension. This internal refinement ensures the [Boomerang (Orchestrator) functionality](/features/boomerang-tasks) is triggered more reliably, leading to smoother and more accurate automated task delegation.
---
diff --git a/docs/update-notes/v3.18.3.mdx b/docs/update-notes/v3.18.3.mdx
index 2617d557..a412031b 100644
--- a/docs/update-notes/v3.18.3.mdx
+++ b/docs/update-notes/v3.18.3.mdx
@@ -15,7 +15,7 @@ We've introduced a powerful new **experimental** [Codebase Indexing](/features/c
Key capabilities:
* **Semantic Code Search**: Find relevant code using natural language queries instead of exact keyword matches
-* **AI-Powered Understanding**: The new [`codebase_search`](/advanced-usage/available-tools/codebase-search) tool understands code meaning and relationships
+* **AI-Powered Understanding**: The new [`codebase_search`](/basic-usage/how-tools-work) tool understands code meaning and relationships
* **Cross-Project Discovery**: Search your entire indexed codebase, not just open files
* **Flexible Setup**: Choose between OpenAI embeddings or local Ollama processing
* **Vector-Powered Search**: Advanced embedding technology with Qdrant vector database storage
diff --git a/docs/update-notes/v3.18.mdx b/docs/update-notes/v3.18.mdx
index 6fc08347..7156d643 100644
--- a/docs/update-notes/v3.18.mdx
+++ b/docs/update-notes/v3.18.mdx
@@ -22,7 +22,7 @@ Our new **experimental** [Codebase Indexing](/features/codebase-indexing) featur
Key capabilities:
* **Semantic Code Search**: Find relevant code using natural language queries instead of exact keyword matches
-* **AI-Powered Understanding**: The new [`codebase_search`](/advanced-usage/available-tools/codebase-search) tool understands code meaning and relationships
+* **AI-Powered Understanding**: The new [`codebase_search`](/basic-usage/how-tools-work) tool understands code meaning and relationships
* **Cross-Project Discovery**: Search your entire indexed codebase, not just open files
* **Flexible Setup**: Choose between OpenAI embeddings or local Ollama processing
* **Vector-Powered Search**: Advanced embedding technology with Qdrant vector database storage
diff --git a/docs/update-notes/v3.19.0.mdx b/docs/update-notes/v3.19.0.mdx
index 063b3aca..1609f6d4 100644
--- a/docs/update-notes/v3.19.0.mdx
+++ b/docs/update-notes/v3.19.0.mdx
@@ -44,7 +44,7 @@ Navigate between different modes and prompts more intuitively.
* **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` and `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!)
+* **Empty File Creation**: Fixed [`write_to_file`](/basic-usage/how-tools-work) to properly create empty files when content is empty (thanks Ruakij!)
* **Chat Input Stability**: Fixed chat input clearing during running tasks (thanks xyOz-dev!)
---
diff --git a/docs/update-notes/v3.19.4.mdx b/docs/update-notes/v3.19.4.mdx
index 352b1c82..5959e4f5 100644
--- a/docs/update-notes/v3.19.4.mdx
+++ b/docs/update-notes/v3.19.4.mdx
@@ -38,14 +38,14 @@ We've resolved multiple memory leaks across the extension, resulting in improved
## QOL Improvements
-* **Fix reading PDF, DOCX, and IPYNB files in [`read_file`](/advanced-usage/available-tools/read-file) tool**: Ensures reliable reading of these file types (thanks samhvw8!)
+* **Fix reading PDF, DOCX, and IPYNB files in [`read_file`](/basic-usage/how-tools-work) tool**: Ensures reliable reading of these file types (thanks samhvw8!)
---
## Misc Improvements
* **OpenAI Compatible Embedder**: Added a new embedder for codebase indexing that is compatible with the OpenAI API, expanding options for local and custom embedding models (thanks SannidhyaSah!)
-* **Enforce [`codebase_search`](/advanced-usage/available-tools/codebase-search) as primary tool**: Roo Code now always uses codebase_search as the first step for code understanding tasks, improving accuracy and consistency (thanks hannesrudolph!)
+* **Enforce [`codebase_search`](/basic-usage/how-tools-work) as primary tool**: Roo Code now always uses codebase_search as the first step for code understanding tasks, improving accuracy and consistency (thanks hannesrudolph!)
* **Improved Docker setup for evals**: Dockerfile and docker-compose updated for better isolation, real-time monitoring, and streamlined configuration
* **Move evals into pnpm workspace, switch from SQLite to Postgres**: Evals are now managed in a pnpm workspace and use PostgreSQL for improved scalability
* **Refactor [MCP](/features/mcp/overview) to use getDefaultEnvironment for stdio client transport**: Simplifies MCP client setup and improves maintainability (thanks samhvw8!)
diff --git a/docs/update-notes/v3.19.mdx b/docs/update-notes/v3.19.mdx
index 75d5c3f1..98e54e3d 100644
--- a/docs/update-notes/v3.19.mdx
+++ b/docs/update-notes/v3.19.mdx
@@ -24,7 +24,7 @@ This release series focuses on streamlining the user interface with intelligent
## QOL Improvements
-* **Fix reading PDF, DOCX, and IPYNB files in [`read_file`](/advanced-usage/available-tools/read-file) tool**: Ensures reliable reading of these file types (thanks samhvw8!)
+* **Fix reading PDF, DOCX, and IPYNB files in [`read_file`](/basic-usage/how-tools-work) tool**: Ensures reliable reading of these file types (thanks samhvw8!)
* **History Preview**: Buttons in the history preview now fade when there is no interaction, providing a cleaner UI (thanks samhvw8!) ([#4458](https://github.com/RooCodeInc/Roo-Code/pull/4458))
---
@@ -49,7 +49,7 @@ This release series focuses on streamlining the user interface with intelligent
## Misc Improvements
* **OpenAI Compatible Embedder**: Added a new embedder for codebase indexing that is compatible with the OpenAI API, expanding options for local and custom embedding models (thanks SannidhyaSah!)
-* **Enforce [`codebase_search`](/advanced-usage/available-tools/codebase-search) as primary tool**: Roo Code now always uses codebase_search as the first step for code understanding tasks, improving accuracy and consistency (thanks hannesrudolph!)
+* **Enforce [`codebase_search`](/basic-usage/how-tools-work) as primary tool**: Roo Code now always uses codebase_search as the first step for code understanding tasks, improving accuracy and consistency (thanks hannesrudolph!)
* **Build Scripts**: Removed unnecessary `npx` usage from some npm scripts (thanks user202729!) ([#4003](https://github.com/RooCodeInc/Roo-Code/pull/4003))
* **Storybook**: We've removed unused Storybook components and dependencies to reduce the bundle size. ([#4517](https://github.com/RooCodeInc/Roo-Code/pull/4517))
* **ESLint**: We've added a `data-testid` ESLint rule to improve our testing standards (thanks elianiva!). ([#4505](https://github.com/RooCodeInc/Roo-Code/pull/4505))
diff --git a/docs/update-notes/v3.20.0.mdx b/docs/update-notes/v3.20.0.mdx
index f00683b5..5e8bd958 100644
--- a/docs/update-notes/v3.20.0.mdx
+++ b/docs/update-notes/v3.20.0.mdx
@@ -61,10 +61,10 @@ Navigate your prompt history with a terminal-like experience using the arrow key
## Bug Fixes
-* **[`write_to_file`](/advanced-usage/available-tools/write-to-file)**: Fixed an issue with the `write_to_file` tool with early `relPath` & `newContent` validation checks (thanks Ruakij!) ([#4378](https://github.com/RooCodeInc/Roo-Code/pull/4378)).
+* **[`write_to_file`](/basic-usage/how-tools-work)**: Fixed an issue with the `write_to_file` tool with early `relPath` & `newContent` validation checks (thanks Ruakij!) ([#4378](https://github.com/RooCodeInc/Roo-Code/pull/4378)).
* **TaskItem Display**: Fixed display and copy issues with HTML tags in task messages (thanks forestyoo!) ([#4444](https://github.com/RooCodeInc/Roo-Code/pull/4444)).
* **Terminal Busy State**: Fixed an issue where the terminal busy state was not reset after manual commands completed ([#4583](https://github.com/RooCodeInc/Roo-Code/pull/4583)).
-* **[`apply_diff`](/advanced-usage/available-tools/apply-diff)**: Fixed an issue with undefined output on multi-file `apply_diff` operations (thanks daniel-lxs!) ([#4608](https://github.com/RooCodeInc/Roo-Code/pull/4608)).
+* **[`apply_diff`](/basic-usage/how-tools-work)**: Fixed an issue with undefined output on multi-file `apply_diff` operations (thanks daniel-lxs!) ([#4608](https://github.com/RooCodeInc/Roo-Code/pull/4608)).
## Documentation
diff --git a/docs/update-notes/v3.20.mdx b/docs/update-notes/v3.20.mdx
index 533fdab0..8786e39c 100644
--- a/docs/update-notes/v3.20.mdx
+++ b/docs/update-notes/v3.20.mdx
@@ -67,10 +67,10 @@ Navigate your prompt history with a terminal-like experience using the arrow key
## Bug Fixes
-* **[`write_to_file`](/advanced-usage/available-tools/write-to-file)**: Fixed an issue with the `write_to_file` tool with early `relPath` & `newContent` validation checks (thanks Ruakij!) ([#4378](https://github.com/RooCodeInc/Roo-Code/pull/4378)).
+* **[`write_to_file`](/basic-usage/how-tools-work)**: Fixed an issue with the `write_to_file` tool with early `relPath` & `newContent` validation checks (thanks Ruakij!) ([#4378](https://github.com/RooCodeInc/Roo-Code/pull/4378)).
* **TaskItem Display**: Fixed display and copy issues with HTML tags in task messages (thanks forestyoo!) ([#4444](https://github.com/RooCodeInc/Roo-Code/pull/4444)).
* **Terminal Busy State**: Fixed an issue where the terminal busy state was not reset after manual commands completed ([#4583](https://github.com/RooCodeInc/Roo-Code/pull/4583)).
-* **[`apply_diff`](/advanced-usage/available-tools/apply-diff)**: Fixed an issue with undefined output on multi-file `apply_diff` operations (thanks daniel-lxs!) ([#4608](https://github.com/RooCodeInc/Roo-Code/pull/4608)).
+* **[`apply_diff`](/basic-usage/how-tools-work)**: Fixed an issue with undefined output on multi-file `apply_diff` operations (thanks daniel-lxs!) ([#4608](https://github.com/RooCodeInc/Roo-Code/pull/4608)).
* **Security**:
* Force `tar-fs >=2.1.3` to fix a security vulnerability ([#4629](https://github.com/RooCodeInc/Roo-Code/pull/4629))
* Limit `search_files` to workspace for improved security ([#4642](https://github.com/RooCodeInc/Roo-Code/pull/4642))
diff --git a/docs/update-notes/v3.22.0.mdx b/docs/update-notes/v3.22.0.mdx
index 08efde38..0eb0a266 100644
--- a/docs/update-notes/v3.22.0.mdx
+++ b/docs/update-notes/v3.22.0.mdx
@@ -43,7 +43,7 @@ This enables configuration management across projects and machines, perfect for
* **Memory Leaks**: Fixed multiple memory leaks in chat interface and CodeBlock component that could cause crashes and grey screens (thanks kiwina, xyOz-dev!) ([#4244](https://github.com/RooCodeInc/Roo-Code/pull/4244), [#4190](https://github.com/RooCodeInc/Roo-Code/pull/4190))
* **Task Names**: Fixed blank entries in task history - tasks now display meaningful names like "Task #1 (Incomplete)" (thanks daniel-lxs!) ([#5071](https://github.com/RooCodeInc/Roo-Code/pull/5071))
* **Settings Import**: Fixed import functionality when configuration includes allowed commands (thanks catrielmuller!) ([#5110](https://github.com/RooCodeInc/Roo-Code/pull/5110))
-* **File Creation**: Fixed [`write_to_file`](/advanced-usage/available-tools/write-to-file) tool failing with newline-only or empty content (thanks Githubguy132010!) ([#3550](https://github.com/RooCodeInc/Roo-Code/pull/3550))
+* **File Creation**: Fixed [`write_to_file`](/basic-usage/how-tools-work) tool failing with newline-only or empty content (thanks Githubguy132010!) ([#3550](https://github.com/RooCodeInc/Roo-Code/pull/3550))
## Provider Updates
diff --git a/docs/update-notes/v3.23.4.mdx b/docs/update-notes/v3.23.4.mdx
index b7be36c9..94c72eec 100644
--- a/docs/update-notes/v3.23.4.mdx
+++ b/docs/update-notes/v3.23.4.mdx
@@ -9,7 +9,7 @@ This release includes bug fixes, UI improvements, and better organization.
## Bug Fixes
* **Custom Modes**: Fixed crashes when custom modes configuration files were empty or contained null content (thanks daniel-lxs!) ([#5526](https://github.com/RooCodeInc/Roo-Code/pull/5526))
-* **File Listing**: Fixed issue where the [`list_files`](/advanced-usage/available-tools/list-files) tool incorrectly showed directories that should be ignored according to .gitignore patterns (thanks X9VoiD!) ([#5394](https://github.com/RooCodeInc/Roo-Code/pull/5394))
+* **File Listing**: Fixed issue where the [`list_files`](/basic-usage/how-tools-work) tool incorrectly showed directories that should be ignored according to .gitignore patterns (thanks X9VoiD!) ([#5394](https://github.com/RooCodeInc/Roo-Code/pull/5394))
## QOL Improvements
diff --git a/docs/update-notes/v3.23.mdx b/docs/update-notes/v3.23.mdx
index 3742458d..d316fcea 100644
--- a/docs/update-notes/v3.23.mdx
+++ b/docs/update-notes/v3.23.mdx
@@ -134,7 +134,7 @@ We've added native Windows support for the Claude Code provider (thanks Sannidhy
- **OpenRouter**: Fixes an issue where the number of reserved tokens for OpenRouter models was displayed incorrectly (thanks shariqriazz!) ([#5240](https://github.com/RooCodeInc/Roo-Code/pull/5240))
- **Auto-Approval**: Fixed issue where subsequent tools required manual approval after using `update_todo_list`, even when auto-approval was enabled (thanks daniel-lxs!) ([#5508](https://github.com/RooCodeInc/Roo-Code/pull/5508))
- **Custom Modes**: Fixed crashes when custom modes configuration files were empty or contained null content (thanks daniel-lxs!) ([#5526](https://github.com/RooCodeInc/Roo-Code/pull/5526))
-- **File Listing**: Fixed issue where the [`list_files`](/advanced-usage/available-tools/list-files) tool incorrectly showed directories that should be ignored according to .gitignore patterns (thanks X9VoiD!) ([#5394](https://github.com/RooCodeInc/Roo-Code/pull/5394))
+- **File Listing**: Fixed issue where the [`list_files`](/basic-usage/how-tools-work) tool incorrectly showed directories that should be ignored according to .gitignore patterns (thanks X9VoiD!) ([#5394](https://github.com/RooCodeInc/Roo-Code/pull/5394))
- **Error Messages**: Fixed display of raw translation keys in embedding provider error messages - now shows properly localized messages (thanks daniel-lxs!) ([#5535](https://github.com/RooCodeInc/Roo-Code/pull/5535))
- **File Opening**: Fixed file opening functionality for files and folders with special characters like brackets in their names (thanks vivekfyi, nielpattin!) ([#5504](https://github.com/RooCodeInc/Roo-Code/pull/5504))
- **MDM Security**: Fixed security vulnerability where users could bypass organizational MDM policies by opening the extension in new tabs/windows (thanks liwilliam2021!) ([#5540](https://github.com/RooCodeInc/Roo-Code/pull/5540))
diff --git a/docs/update-notes/v3.25.0.mdx b/docs/update-notes/v3.25.0.mdx
index 05656873..a9e84a4d 100644
--- a/docs/update-notes/v3.25.0.mdx
+++ b/docs/update-notes/v3.25.0.mdx
@@ -42,7 +42,7 @@ Keeps your workflow smooth when you have multiple quick questions or corrections
## Image Support for read_file Tool
-The [`read_file`](/advanced-usage/available-tools/read-file) tool now supports reading and analyzing images (thanks samhvw8!) ([#5172](https://github.com/RooCodeInc/Roo-Code/pull/5172)):
+The [`read_file`](/basic-usage/how-tools-work) tool now supports reading and analyzing images (thanks samhvw8!) ([#5172](https://github.com/RooCodeInc/Roo-Code/pull/5172)):
- **Multiple Formats**: Supports PNG, JPG, JPEG, GIF, WebP, SVG, BMP, ICO, and TIFF
- **OCR Capabilities**: Extract text from screenshots and scanned documents
@@ -85,7 +85,7 @@ Critical fixes that improve stability and compatibility:
* **Multi-file Edit Fix**: Fixed issue where Git diff views interfered with file operations (thanks hassoncs, szermatt!) ([#6350](https://github.com/RooCodeInc/Roo-Code/pull/6350))
* **Non-QWERTY Keyboard Support**: Fixed keyboard shortcuts for Dvorak, AZERTY, and other layouts (thanks shlgug!) ([#6162](https://github.com/RooCodeInc/Roo-Code/pull/6162))
* **Mode Export/Import**: Fixed custom mode export to handle slug changes correctly ([#6186](https://github.com/RooCodeInc/Roo-Code/pull/6186))
-* **Hidden Directory Support**: [`list_files`](/advanced-usage/available-tools/list-files) now properly shows contents of dot directories (thanks MuriloFP, avtc, zhang157686!) ([#5176](https://github.com/RooCodeInc/Roo-Code/pull/5176))
+* **Hidden Directory Support**: [`list_files`](/basic-usage/how-tools-work) now properly shows contents of dot directories (thanks MuriloFP, avtc, zhang157686!) ([#5176](https://github.com/RooCodeInc/Roo-Code/pull/5176))
* **Scrollbar Stability**: Fixed flickering scrollbar when streaming tables and code blocks ([#6266](https://github.com/RooCodeInc/Roo-Code/pull/6266))
* **Settings Link Fix**: Restored working "View Settings" link in command permissions tooltip ([#6253](https://github.com/RooCodeInc/Roo-Code/pull/6253))
* **@mention Parsing**: Fixed mentions to work in all input contexts including follow-up questions ([#6331](https://github.com/RooCodeInc/Roo-Code/pull/6331))
diff --git a/docs/update-notes/v3.25.18.mdx b/docs/update-notes/v3.25.18.mdx
index 215e314a..060cfb2e 100644
--- a/docs/update-notes/v3.25.18.mdx
+++ b/docs/update-notes/v3.25.18.mdx
@@ -37,4 +37,4 @@ Sonic is now available in Roo Code ([#7207](https://github.com/RooCodeInc/Roo-Co
## Documentation Updates
-- ask_followup_question: simplifies the prompt guidance for clearer authoring ([#7191](https://github.com/RooCodeInc/Roo-Code/pull/7191)) — see [ask_followup_question tool](/advanced-usage/available-tools/ask-followup-question).
+- ask_followup_question: simplifies the prompt guidance for clearer authoring ([#7191](https://github.com/RooCodeInc/Roo-Code/pull/7191)) — see [ask_followup_question tool](/basic-usage/how-tools-work).
diff --git a/docs/update-notes/v3.25.mdx b/docs/update-notes/v3.25.mdx
index a71dae09..33b2125b 100644
--- a/docs/update-notes/v3.25.mdx
+++ b/docs/update-notes/v3.25.mdx
@@ -73,7 +73,7 @@ Keeps your workflow smooth when you have multiple quick questions or corrections
### Image Support for read_file Tool
-The [`read_file`](/advanced-usage/available-tools/read-file) tool now supports reading and analyzing images (thanks samhvw8!) ([#5172](https://github.com/RooCodeInc/Roo-Code/pull/5172)):
+The [`read_file`](/basic-usage/how-tools-work) tool now supports reading and analyzing images (thanks samhvw8!) ([#5172](https://github.com/RooCodeInc/Roo-Code/pull/5172)):
- **Multiple Formats**: Supports PNG, JPG, JPEG, GIF, WebP, SVG, BMP, ICO, and TIFF
- **OCR Capabilities**: Extract text from screenshots and scanned documents
@@ -213,7 +213,7 @@ Critical fixes that improve stability and compatibility:
* **Multi-file Edit Fix**: Fixed issue where Git diff views interfered with file operations (thanks hassoncs, szermatt!) ([#6350](https://github.com/RooCodeInc/Roo-Code/pull/6350))
* **Non-QWERTY Keyboard Support**: Fixed keyboard shortcuts for Dvorak, AZERTY, and other layouts (thanks shlgug!) ([#6162](https://github.com/RooCodeInc/Roo-Code/pull/6162))
* **Mode Export/Import**: Fixed custom mode export to handle slug changes correctly ([#6186](https://github.com/RooCodeInc/Roo-Code/pull/6186))
-* **Hidden Directory Support**: [`list_files`](/advanced-usage/available-tools/list-files) now properly shows contents of dot directories (thanks MuriloFP, avtc, zhang157686!) ([#5176](https://github.com/RooCodeInc/Roo-Code/pull/5176))
+* **Hidden Directory Support**: [`list_files`](/basic-usage/how-tools-work) now properly shows contents of dot directories (thanks MuriloFP, avtc, zhang157686!) ([#5176](https://github.com/RooCodeInc/Roo-Code/pull/5176))
* **Scrollbar Stability**: Fixed flickering scrollbar when streaming tables and code blocks ([#6266](https://github.com/RooCodeInc/Roo-Code/pull/6266))
* **Settings Link Fix**: Restored working "View Settings" link in command permissions tooltip ([#6253](https://github.com/RooCodeInc/Roo-Code/pull/6253))
* **@mention Parsing**: Fixed mentions to work in all input contexts including follow-up questions ([#6331](https://github.com/RooCodeInc/Roo-Code/pull/6331))
diff --git a/docs/update-notes/v3.26.6.mdx b/docs/update-notes/v3.26.6.mdx
index 05bc2f4f..fd7078e8 100644
--- a/docs/update-notes/v3.26.6.mdx
+++ b/docs/update-notes/v3.26.6.mdx
@@ -23,7 +23,7 @@ We've added a powerful new tool that allows the AI to execute slash commands as
This opens up new possibilities for task automation, letting the AI leverage the full power of Roo Code's slash command ecosystem programmatically.
-> **📚 Documentation**: See the [run_slash_command tool documentation](/advanced-usage/available-tools/run-slash-command) for usage examples and integration patterns.
+> **📚 Documentation**: See the [run_slash_command tool documentation](/basic-usage/how-tools-work) for usage examples and integration patterns.
## QOL Improvements
diff --git a/docs/update-notes/v3.26.mdx b/docs/update-notes/v3.26.mdx
index a74bab20..ae76d0ee 100644
--- a/docs/update-notes/v3.26.mdx
+++ b/docs/update-notes/v3.26.mdx
@@ -54,7 +54,7 @@ We've added a powerful new tool that allows the AI to execute slash commands as
This opens up new possibilities for task automation, letting the AI leverage the full power of Roo Code's slash command ecosystem programmatically.
-> **📚 Documentation**: See the [run_slash_command tool documentation](/advanced-usage/available-tools/run-slash-command) for usage examples and integration patterns.
+> **📚 Documentation**: See the [run_slash_command tool documentation](/basic-usage/how-tools-work) for usage examples and integration patterns.
### Qwen Code CLI API Support
diff --git a/docs/update-notes/v3.29.4.mdx b/docs/update-notes/v3.29.4.mdx
index 29b1ec68..17e1ee67 100644
--- a/docs/update-notes/v3.29.4.mdx
+++ b/docs/update-notes/v3.29.4.mdx
@@ -25,7 +25,7 @@ We've added the MiniMax provider so you can run coding and reasoning tasks with
* Improve @ file search for large projects with a higher default index limit and respect for VS Code ignore settings; add the roo-cline.maximumIndexedFilesForFileSearch setting for tunable limits (thanks Naituw!) ([#8805](https://github.com/RooCodeInc/Roo-Code/pull/8805))
* Rename MCP “Errors” tab to “Logs” to match mixed-level messages; clearer empty state (“No logs yet”) ([#8894](https://github.com/RooCodeInc/Roo-Code/pull/8894))
* Custom modes now load from your configured storage path and persist after restart (thanks elianiva!) ([#8499](https://github.com/RooCodeInc/Roo-Code/pull/8499))
-* Breaking: Removed search_and_replace tool. Use [apply_diff](/advanced-usage/available-tools/apply-diff) instead. Migration notes below. ([#8892](https://github.com/RooCodeInc/Roo-Code/pull/8892))
+* Breaking: Removed search_and_replace tool. Use [apply_diff](/basic-usage/how-tools-work) instead. Migration notes below. ([#8892](https://github.com/RooCodeInc/Roo-Code/pull/8892))
* Clarified VS Code LM API integration warning in Settings to reduce “model not supported” errors ([#8493](https://github.com/RooCodeInc/Roo-Code/pull/8493))
## Bug Fixes
diff --git a/docs/update-notes/v3.29.mdx b/docs/update-notes/v3.29.mdx
index f0d7d865..2b4a2781 100644
--- a/docs/update-notes/v3.29.mdx
+++ b/docs/update-notes/v3.29.mdx
@@ -62,5 +62,5 @@ This combined summary covers the 3.29.x releases. It introduces the MiniMax prov
* New: [MiniMax Provider](/providers/minimax)
* Update: VS Code LM guidance [VS Code LM](/providers/vscode-lm)
* Update: Custom Modes path and persistence [Custom Modes](/features/custom-modes)
-* Update: Tools truncation behavior list_code_definition_names and [read_file](/advanced-usage/available-tools/read-file)
+* Update: Tools truncation behavior list_code_definition_names and [read_file](/basic-usage/how-tools-work)
* Update: MCP UI wording to “Logs” [Using MCP in Roo](/features/mcp/using-mcp-in-roo)
\ No newline at end of file
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index e765a1cd..397a350d 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -215,70 +215,53 @@ const config: Config = {
from: ['/troubleshooting/shell-integration'],
},
- // Tools folder moved from features to advanced-usage
+ // Removed available-tools section - redirect all old URLs to how-tools-work
{
- to: '/advanced-usage/available-tools/access-mcp-resource',
- from: ['/features/tools/access-mcp-resource'],
- },
- {
- to: '/advanced-usage/available-tools/apply-diff',
- from: ['/features/tools/apply-diff'],
- },
- {
- to: '/advanced-usage/available-tools/ask-followup-question',
- from: ['/features/tools/ask-followup-question'],
- },
- {
- to: '/advanced-usage/available-tools/attempt-completion',
- from: ['/features/tools/attempt-completion'],
- },
- {
- to: '/advanced-usage/available-tools/tool-use-overview',
- from: ['/features/tools/browser-action', '/advanced-usage/available-tools/browser-action'],
- },
- {
- to: '/advanced-usage/available-tools/execute-command',
- from: ['/features/tools/execute-command'],
- },
- {
- to: '/advanced-usage/available-tools/tool-use-overview',
- from: ['/features/tools/insert-content', '/advanced-usage/available-tools/insert-content'],
- },
- {
- to: '/advanced-usage/available-tools/tool-use-overview',
- from: ['/features/tools/list-code-definition-names', '/advanced-usage/available-tools/list-code-definition-names'],
- },
- {
- to: '/advanced-usage/available-tools/list-files',
- from: ['/features/tools/list-files'],
- },
- {
- to: '/advanced-usage/available-tools/new-task',
- from: ['/features/tools/new-task'],
- },
- {
- to: '/advanced-usage/available-tools/read-file',
- from: ['/features/tools/read-file'],
- },
- {
- to: '/advanced-usage/available-tools/search-files',
- from: ['/features/tools/search-files'],
- },
- {
- to: '/advanced-usage/available-tools/switch-mode',
- from: ['/features/tools/switch-mode'],
- },
- {
- to: '/advanced-usage/available-tools/tool-use-overview',
- from: ['/features/tools/tool-use-overview'],
- },
- {
- to: '/advanced-usage/available-tools/use-mcp-tool',
- from: ['/features/tools/use-mcp-tool'],
- },
- {
- to: '/advanced-usage/available-tools/write-to-file',
- from: ['/features/tools/write-to-file'],
+ to: '/basic-usage/how-tools-work',
+ from: [
+ '/features/tools/access-mcp-resource',
+ '/features/tools/apply-diff',
+ '/features/tools/ask-followup-question',
+ '/features/tools/attempt-completion',
+ '/features/tools/browser-action',
+ '/features/tools/execute-command',
+ '/features/tools/insert-content',
+ '/features/tools/list-code-definition-names',
+ '/features/tools/list-files',
+ '/features/tools/new-task',
+ '/features/tools/read-file',
+ '/features/tools/search-files',
+ '/features/tools/switch-mode',
+ '/features/tools/tool-use-overview',
+ '/features/tools/use-mcp-tool',
+ '/features/tools/write-to-file',
+ '/advanced-usage/available-tools/tool-use-overview',
+ '/advanced-usage/available-tools/access-mcp-resource',
+ '/advanced-usage/available-tools/apply-diff',
+ '/advanced-usage/available-tools/apply-patch',
+ '/advanced-usage/available-tools/ask-followup-question',
+ '/advanced-usage/available-tools/attempt-completion',
+ '/advanced-usage/available-tools/browser-action',
+ '/advanced-usage/available-tools/codebase-search',
+ '/advanced-usage/available-tools/edit',
+ '/advanced-usage/available-tools/edit-file',
+ '/advanced-usage/available-tools/execute-command',
+ '/advanced-usage/available-tools/generate-image',
+ '/advanced-usage/available-tools/insert-content',
+ '/advanced-usage/available-tools/list-code-definition-names',
+ '/advanced-usage/available-tools/list-files',
+ '/advanced-usage/available-tools/new-task',
+ '/advanced-usage/available-tools/read-command-output',
+ '/advanced-usage/available-tools/read-file',
+ '/advanced-usage/available-tools/run-slash-command',
+ '/advanced-usage/available-tools/search-files',
+ '/advanced-usage/available-tools/search-replace',
+ '/advanced-usage/available-tools/skill',
+ '/advanced-usage/available-tools/switch-mode',
+ '/advanced-usage/available-tools/update-todo-list',
+ '/advanced-usage/available-tools/use-mcp-tool',
+ '/advanced-usage/available-tools/write-to-file',
+ ],
},
{
to: '/advanced-usage/roo-code-nightly',
diff --git a/sidebars.ts b/sidebars.ts
index a3b144ca..beb98652 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -74,42 +74,12 @@ const sidebars: SidebarsConfig = {
"features/experimental/concurrent-file-edits",
"features/experimental/background-editing",
"features/image-generation",
- "advanced-usage/available-tools/run-slash-command",
],
},
{
type: "category",
label: "Advanced Usage",
items: [
- {
- type: "category",
- label: "Available Tools",
- items: [
- "advanced-usage/available-tools/tool-use-overview",
- "advanced-usage/available-tools/access-mcp-resource",
- "advanced-usage/available-tools/apply-diff",
- "advanced-usage/available-tools/apply-patch",
- "advanced-usage/available-tools/ask-followup-question",
- "advanced-usage/available-tools/attempt-completion",
- "advanced-usage/available-tools/codebase-search",
- "advanced-usage/available-tools/edit",
- "advanced-usage/available-tools/edit-file",
- "advanced-usage/available-tools/execute-command",
- "advanced-usage/available-tools/generate-image",
- "advanced-usage/available-tools/list-files",
- "advanced-usage/available-tools/new-task",
- "advanced-usage/available-tools/read-command-output",
- "advanced-usage/available-tools/read-file",
- "advanced-usage/available-tools/run-slash-command",
- "advanced-usage/available-tools/search-files",
- "advanced-usage/available-tools/search-replace",
- "advanced-usage/available-tools/skill",
- "advanced-usage/available-tools/switch-mode",
- "advanced-usage/available-tools/update-todo-list",
- "advanced-usage/available-tools/use-mcp-tool",
- "advanced-usage/available-tools/write-to-file",
- ],
- },
"advanced-usage/context-poisoning",
"advanced-usage/large-projects",
"advanced-usage/local-models",