From 9bb5b040f912aab97c04be56a61198ff2138ca80 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 5 Sep 2026 08:57:24 +0000 Subject: [PATCH] chore: .gitignore covers a symlinked node_modules, not only the directory form (#15763) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `.gitignore:2` is `node_modules/` — the trailing slash makes it match a DIRECTORY only. In a linked worktree whose `node_modules` is a symlink to a shared install, the rule does not match: `git check-ignore -v node_modules` exits 1 and `git status --short` prints `?? node_modules`. Add the slashless form beside it (the existing line is untouched). This repo tracks `node_modules` in no shape, so covering both forms costs nothing, and it closes the `git add -A` hazard recorded twice before (#10781, #12583): an untracked, non-ignored path at the repo root is one careless `git add -A` away from committing a symlink to an absolute container path. Measured effect it also removes: `dispatch-gates.mjs --changed` counts that untracked path as part of the change set, and even derives a gate family from it via `node_modules/@objectstack/spec/CHANGELOG.md`. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_012zGPuVVX3deAx9LdjK8jCk --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index c2b172434f..694c9dc679 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # Dependencies node_modules/ +# also without the slash: in a linked worktree node_modules can be a symlink, which is not a directory to git and so escapes the line above; the repo tracks node_modules in no shape (#15763) +node_modules package-lock.json # Build output