Skip to content

chore(gitignore): ignore .claude-worktrees/, the second place Claude Code puts a worktree - #270

Merged
olliegilbey merged 1 commit into
mainfrom
chore/ignore-claude-worktrees
Sep 21, 2026
Merged

olliegilbey merged 1 commit into
mainfrom
chore/ignore-claude-worktrees

Conversation

@olliegilbey

Copy link
Copy Markdown
Owner

What changed

Ignore .claude-worktrees/, the second path Claude Code uses for agent worktrees. The v0.5.2 cut refused on a live worktree there, because the release gate treats untracked paths outside docs/ and .claude/ as dirt.

Closes: n/a, found during the 0.5.2 cut.

Risk class(es) from the taxonomy:

  • Pure logic / model
  • Generated artifacts
  • CLI surface
  • Cross-process / IPC
  • Install / environment (release mechanics) → needs-live-validation
  • Visual / UX

Verified automatically

Command Result
cargo test --workspace unchanged code, not re-run
cargo build -p clave-bar --target wasm32-wasip1 unchanged code, not re-run
cargo clippy --workspace --all-targets -- -D warnings unchanged code, not re-run

Class-specific evidence: git status --porcelain on main listed ?? .claude-worktrees/; with this line it does not.

Review lanes run

Lane Ran? Findings
Vendored fugu review no one gitignore line
Independent adversarial reviewer no one gitignore line
CodeRabbit CLI no one gitignore line
Other PR bots —

Findings DECLINED, with reasoning: none.

Could NOT be verified, and why

The cut itself, which is the maintainer's.

Live steps for the maintainer

  1. Merge. On main: git pull && git tag -f v0.5.2 && just release. The tag is local only, so moving it is safe.
  2. Expected: the gate passes and clave-v0.5.2 lands in ~/.local/share/clave/bin/.

Handoff and links

https://claude.ai/code/session_01VxbdvjsGZN9x4hYyGgdXHL

…Code puts a worktree

What was wrong: the v0.5.2 cut refused on a dirty tree. The dirt was a
live agent worktree at .claude-worktrees/swap-diag, a sibling path to
the ignored .claude/worktrees/ that Claude Code also uses. The release
gate exempts untracked paths under docs/ and .claude/ only, and this one
is neither.

How I know: git status --porcelain on main showed the folder as
untracked; with the ignore it does not.

Claude-Session: https://claude.ai/code/session_01VxbdvjsGZN9x4hYyGgdXHL
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: olliegilbey/clave/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 99d5b58e-cd01-458c-bdad-3d20b582b12f


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@olliegilbey
olliegilbey merged commit b403e81 into main Sep 21, 2026
10 checks passed
@olliegilbey
olliegilbey deleted the chore/ignore-claude-worktrees branch September 21, 2026 23:05
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