mirror of
https://github.com/cline/cline.git
synced 2026-09-13 18:10:14 +08:00
* docs: add enforced .clineignore guard plugin example Adds clineignore-read-files-guard.ts, a beforeTool hook plugin that blocks read_files, editor, apply_patch, and run_commands calls targeting paths matching gitignore-style patterns in a workspace .clineignore file, and protects .clineignore itself from modification. Features it on the .clineignore docs page as the enforced replacement for the deprecated built-in feature. Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com> * docs: use a PreToolUse file hook for the enforced .clineignore example Replaces the plugin-based guard with a PreToolUse hook script that works in the VS Code extension today (.clinerules/hooks/PreToolUse plus the Enable Hooks setting) as well as the CLI (.cline/hooks/PreToolUse.sh). The script handles both hook payload shapes, blocks read_files/editor/apply_patch/ run_commands calls matching .clineignore patterns, and protects .clineignore itself from modification. Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com> * fix: canonicalize paths in .clineignore guard hook Lexically collapse '.', '..', and empty segments before the ignore match and the .clineignore self-protection check, closing bypasses via noncanonical paths like ./.clineignore, secrets/../.env, or /root/./file (Greptile review finding on #13649). Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com> * docs: note symlink limitation in .clineignore guard hook docs Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com> --------- Co-authored-by: Saoud Rizwan <saoudrizwan@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>