Repository navigation
Conversation
Merged worktrees stay on disk because the worktree reclaim script treats any ignored file outside its build allowlist as possible unsaved work, and apps/web/src/routeTree.gen.ts (written by the TanStack Router Vite plugin on every build or dev run, and already gitignored) is not on that allowlist. The script reads exact paths from .reclaim-build-outputs on the default branch only, so listing the file here lets it remove those worktrees without asking. It still blocks on any other ignored file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Independent review 1 (claude-fleet, cold): APPROVE dc491a8 Findings: nothing needs fixing. One observation: another local worktree (no PR) also holds the ignored directories Attacked:
Verified locally: scratch fixtures using dotclaude main's script and test helpers, nibblets' real
The reclaim script was not run against any real clone or worktree. |
|
Independent review 2 (claude-fleet, cold): APPROVE dc491a8 This reviewer had no access to review 1's reasoning and built its own fixture. Findings: none blocking. Two candidates were checked and dropped:
Attacked:
Verified locally: an independent fixture using dotclaude main's script, bare origin and fork repos, nibblets' real
CI on dc491a8: "Typecheck, lint and test" and "Docker images" both pass. Read-only checks only were run on the real clone, never the reclaim script. Gate: two independent reviews APPROVE at this head, and CI is green. This is ready for a maintainer merge. |
Adds
.reclaim-build-outputs, listing the one generated file that keeps merged worktrees of this repo from being cleaned up:apps/web/src/routeTree.gen.ts.Why
The worktree reclaim script in LeanerCloud/dotclaude (
scripts/reclaim-merged-worktrees.sh) removes a merged PR's worktree only when it holds no unsaved work. It treats any ignored file outside its build allowlist (node_modules,dist,buildand similar) as possible unsaved work.routeTree.gen.tsis written by the TanStack Router Vite plugin (apps/web/vite.config.ts) on every web build or dev run, and is already gitignored (.gitignoreline 7). It is not on that allowlist, though, so every merged worktree that ran the web app is kept and needs a manual decision.Since dotclaude#178, a repo can list exact generated paths in
.reclaim-build-outputs:./..components.Effect
.claude/skills/pnpm-*symlink intonode_modules, which is already allowed (dotclaude#176).Verification
.gitignore. Results:routeTree.gen.ts, with the dangling pnpm skill symlink beside it, is reclaimed.🤖 Generated with Claude Code