Skip to content

chore: add a .gitignore that ignores worktree directories - #80

Merged
jaryl merged 1 commit into
mainfrom
chore/ignore-worktree-dirs
Jul 31, 2026
Merged

chore: add a .gitignore that ignores worktree directories#80
jaryl merged 1 commit into
mainfrom
chore/ignore-worktree-dirs

Conversation

@jaryl

@jaryl jaryl commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

This repo had no .gitignore at all, so any worktree created here reports the tree dirty — which is how it surfaced during a workspace cleanup.

Two conventions are in use across the estate — .worktrees/ for developer worktrees and .claude/worktrees/ for agent ones — and the repos that were already quiet ignore both. .DS_Store rides along since macOS is the only development platform here.

Matches the same fix just landed in rarebit-one/jumpdrive-runner#64, rarebit-one/jumpdrive-static#66, rarebit-one/rarebit-static-v3#323 and rarebit-one/nutripod-web#1125.

Cosmetic in isolation, but a permanently-dirty tree is corrosive out of proportion to its size: it trains you to stop reading git status, and it makes /cleanup's pristine pass flag this repo every single run — so the one time it flags something real, it reads as the usual noise.

This repo had no .gitignore at all, so a worktree created here reported the
tree dirty — which is how it surfaced during a workspace cleanup.

Two conventions are in use across the estate (.worktrees/ for developer
worktrees, .claude/worktrees/ for agent ones); ignoring both is what the
already-quiet repos do. .DS_Store rides along since macOS is the only
development platform here.

A permanently-dirty tree is corrosive out of proportion to its size: it
trains you to skip git status, and it makes /cleanup's pristine pass flag
the repo every run — so the once it flags something real, it reads as the
usual noise.
@claude

claude Bot commented Jul 31, 2026

Copy link
Copy Markdown

Claude finished @jaryl's task in 46s —— View job


Code Review

  • Gather context (PR diff, CLAUDE.md conventions)
  • Review the .gitignore contents
  • Post review feedback

Summary: Small, well-scoped .gitignore addition — no issues found.

What I checked:

  • Correctness: .worktrees/ matches the convention documented in this repo's CLAUDE.md (git worktree add .worktrees/<name> ...), and .claude/worktrees/ matches the agent-worktree convention referenced in the PR description. Confirmed via git ls-files that no currently-tracked files fall under either path or match .DS_Store — so this won't silently hide anything already in the tree.
  • Gitignore semantics: .DS_Store (no leading/trailing slash) correctly matches at any directory depth, so a separate **/.DS_Store entry isn't needed.
  • File hygiene: Ends with a trailing newline, no trailing whitespace.
  • Security/performance/tests: Not applicable — this is a non-executable ignore-list addition with zero runtime surface.

Nit (optional, not blocking): The comment block explaining the dual .worktrees/ / .claude/worktrees/ convention is genuinely useful here since it's non-obvious from the file alone — good call keeping it, since a bare .gitignore with no rationale would likely just get "cleaned up" by someone later without contacting the estate-wide convention it's protecting.

Matches the stated goal of eliminating the always-dirty tree noise this repo was producing. LGTM.

@jaryl
jaryl merged commit dbc1294 into main Jul 31, 2026
5 checks passed
@jaryl
jaryl deleted the chore/ignore-worktree-dirs branch July 31, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant