forked from cline/cline
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request cline#1715 from cline/clineignore-intro-markdown
- Loading branch information
Showing
2 changed files
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"claude-dev": minor | ||
--- | ||
|
||
Adding .clineignore guide |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
### .clineignore Support | ||
|
||
To give you more control over which files are accessible to Cline, we've implemented `.clineignore` functionality, similar to `.gitignore`. This allows you to specify files and directories that Cline should **not** access or process. This is useful for: | ||
|
||
* **Privacy:** Preventing Cline from accessing sensitive or private files in your workspace. | ||
* **Performance:** Excluding large directories or files that are irrelevant to your tasks, potentially improving the efficiency of Cline. | ||
* **Context Management:** Focusing Cline's attention on the relevant parts of your project. | ||
|
||
**How to use `.clineignore`** | ||
|
||
1. **Create a `.clineignore` file:** In the root directory of your workspace (the same level as your `.vscode` folder, or the top level folder you opened in VS Code), create a new file named `.clineignore`. | ||
|
||
2. **Define ignore patterns:** Open the `.clineignore` file and specify the patterns for files and directories you want Cline to ignore. The syntax is the same as `.gitignore`: | ||
|
||
* Each line in the file represents a pattern. | ||
* **Standard glob patterns are supported:** | ||
* `*` matches zero or more characters | ||
* `?` matches one character | ||
* `[]` matches a character range | ||
* `**` matches any number of directories and subdirectories. | ||
|
||
* **Directory patterns:** Append `/` to the end of a pattern to specify a directory. | ||
* **Negation patterns:** Start a pattern with `!` to negate (un-ignore) a previously ignored pattern. | ||
* **Comments:** Start a line with `#` to add comments. | ||
|
||
**Example `.clineignore` file:** | ||
|
||
``` | ||
# Ignore log files | ||
*.log | ||
# Ignore the entire 'node_modules' directory | ||
node_modules/ | ||
# Ignore all files in the 'temp' directory and its subdirectories | ||
temp/** | ||
# But DO NOT ignore 'important.log' even if it's in the root | ||
!important.log | ||
# Ignore any file named 'secret.txt' in any subdirectory | ||
**/secret.txt | ||
``` | ||
3. **Cline respects your `.clineignore`:** Once you save the `.clineignore` file, Cline will automatically recognize and apply these rules. | ||
* **File Access Control:** Cline will not be able to read the content of ignored files using tools like `read_file`. If you attempt to use a tool on an ignored file, Cline will inform you that access is blocked due to `.clineignore` settings. | ||
* **File Listing:** When you ask Cline to list files in a directory (e.g., using `list_files`), ignored files and directories will still be listed, but they will be marked with a **🔒** symbol next to their name to indicate that they are ignored. This helps you understand which files Cline can and cannot interact with. | ||
4. **Dynamic Updates:** Cline monitors your `.clineignore` file for changes. If you modify, create, or delete your `.clineignore` file, Cline will automatically update its ignore rules without needing to restart VS Code or the extension. | ||
**In Summary** | ||
The `.clineignore` file provides a powerful and flexible way to control Cline's access to your workspace files, enhancing privacy, performance, and context management. By leveraging familiar `.gitignore` syntax, you can easily tailor Cline's focus to the most relevant parts of your projects. |