Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions docs/features/rooignore.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,10 @@ These tools directly check `.rooignore` before any file operation. If a file is
* [`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.
* [`insert_content`](/advanced-usage/available-tools/insert-content): Will not write to ignored files.
* [`search_and_replace`](/advanced-usage/available-tools/search-and-replace): Will not search and replace within ignored files.
* [`list_code_definition_names`](/advanced-usage/available-tools/list-code-definition-names): Will not parse ignored files for code symbols.

### File Editing Tools (Potential Write Bypass)

The [`insert_content`](/advanced-usage/available-tools/insert-content) and [`search_and_replace`](/advanced-usage/available-tools/search-and-replace) tools use an internal component for managing changes.
**Important**: Currently, the final write operation performed by these tools might bypass `.rooignore` rules. While initial read attempts might be blocked, the save action itself does not have an explicit check.

### File Discovery and Listing

* **[`list_files`](/advanced-usage/available-tools/list-files) Tool**: When Roo lists files, ignored files are typically omitted or marked with a 🔒 symbol (see "User Experience" below).
Expand All @@ -57,7 +54,6 @@ The [`insert_content`](/advanced-usage/available-tools/insert-content) and [`sea

* **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.
* **Write Operations via [`insert_content`](/advanced-usage/available-tools/insert-content) & [`search_and_replace`](/advanced-usage/available-tools/search-and-replace)**: As noted, these tools might be able to write to ignored files due to current limitations in their save mechanism.
* **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.

## User Experience and Notifications
Expand All @@ -66,4 +62,4 @@ The [`insert_content`](/advanced-usage/available-tools/insert-content) and [`sea
* **Error Messages**: If a tool operation is blocked, Roo receives an error: `"Access to [file_path] is blocked by the .rooignore file settings. You must try to continue in the task without using this file, or ask the user to update the .rooignore file."`
* **Chat Notifications**: You will typically see a notification in the Roo chat interface when an action is blocked due to `.rooignore`.

This guide helps you understand the `.rooignore` feature, its capabilities, and its current limitations, so you can effectively manage Roo's interaction with your codebase.
This guide helps you understand the `.rooignore` feature, its capabilities, and its current limitations, so you can effectively manage Roo's interaction with your codebase.