feat(worktree): symlink repoRoot node_modules into job worktrees #26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/mcp-worktree-node-modules-symlink"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Probleem (de 127-helft)
Een git-worktree start met een lege, gitignored
node_modules. De runner draait géénnpm installin de worktree, dusnpm run verify(eslint/tsc/vitest) vindt niets →sh: 1: eslint: not found(exit 127). De agent gaat dan zelf deps installeren en loopt vast.Fix
createWorktreeForJobsymlinkt nagit worktree add<worktree>/node_modules → <repoRoot>/node_modules(best-effort, faalt nooit de worktree-creatie). TASK- én SPRINT-jobs lopen allebei doorcreateWorktreeForJob, dus deze ene plek dekt alle verify-draaiende kinds; IDEA-product-worktrees bewust niet (die linten/testen niet).linkNodeModuleshelper: skip als de repoRoot geennode_modulesheeft; absoluut symlink-target (worktrees staan buiten de repoRoot, onderSCRUM4ME_AGENT_WORKTREE_DIR); EEXIST genegeerd; overige fouten gelogd, niet gegooid.Test
__tests__/git/worktree.test.ts(real-git harness): symlink-when-present (resolve dóór de link), skip-when-absent, en een removal-safety regressietest die vastlegt dat het verwijderen van een worktree de gedeelderepoRoot/node_modulesniet wist (git worktree remove/fs.rmontkoppelen de symlink, niet het target). 14/14 groen,tsc --noEmitclean.Hangt samen met
repo-bootstrap.shinstalleert de deps één keer in~/Projects/<repo>(volledigenpm ci, incl. dev+optional) — deze symlink wijst daarnaar.noexec-mount falen de gelinkte binaries nog steeds met 126 /ERR_DLOPEN. Wordt apart aangepakt (exec-fs fix).