Skip to content

Ignore local dev tool worktrees#1310

Merged
Simon (simonhj) merged 3 commits into
v1.xfrom
simon/ignore-devex-walkers
May 11, 2026
Merged

Ignore local dev tool worktrees#1310
Simon (simonhj) merged 3 commits into
v1.xfrom
simon/ignore-devex-walkers

Conversation

@simonhj
Copy link
Copy Markdown

@simonhj Simon (simonhj) commented May 11, 2026

Summary

(chore) : Claude likes to store git worktrees in ./.claude/worktrees. This confuses the heck out of the linting tools, causing them to seemingly hang. Added worktres and pnpm store to various ignore lists,

  • ignore repo-local .pnpm-store for Git/ESLint discovery
  • ignore Claude worktrees and pnpm stores for Oxlint, Biome, and Vitest discovery
  • keep patterns root-relative where broad excludes would make nested worktrees unusable

Verification

  • git diff --check
  • git check-ignore -v .pnpm-store .pnpm-store/v10 .claude/worktrees .claude/worktrees/example
  • oxlint --print-config with .oxlintignore
  • vitest list --config vitest.config.mts --dir src/commands/scan --reporter dot

Note

Low Risk
Low risk: changes are limited to ignore/exclude patterns for git, linters, TypeScript, and Vitest, with minimal chance of inadvertently skipping intended source files if patterns are too broad.

Overview
Prevents tooling hangs/noise by excluding local dev artifacts from discovery: repo-local .pnpm-store and Claude-managed .claude/worktrees are now ignored by git and excluded from oxlint, biome, and both Vitest configs.

Expands tsconfig.json excludes to keep TypeScript from scanning build/cache/output directories (including .claude/** and common artifact folders).

Reviewed by Cursor Bugbot for commit a2e6870. Configure here.

Adds .gitignore rules to keep transient .claude/ subdirs (notably
.claude/worktrees) out of the repo, while preserving tracked
agents/commands/hooks/ops/skills/settings.json.

Adds defensive directory excludes to tsconfig.json so build/dist/external/
node_modules/.cache/.claude artifacts are never picked up. The 'include'
pattern already scopes compilation to src/**/*.mts; these are belt-and-
suspenders.

Without these, eslint walks .claude/worktrees/* during 'pnpm check' and
descends into nested checkouts, which combined with the type-aware
projectService config can hang for many minutes.
@simonhj Simon (simonhj) marked this pull request as ready for review May 11, 2026 11:42
Copy link
Copy Markdown
Contributor

@mtorp Martin Torp (mtorp) left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅

@simonhj Simon (simonhj) merged commit 095cfc8 into v1.x May 11, 2026
12 checks passed
@simonhj Simon (simonhj) deleted the simon/ignore-devex-walkers branch May 11, 2026 11:50
@jdalton
Copy link
Copy Markdown
Collaborator

John-David Dalton (jdalton) commented May 11, 2026

Thank you Simon (@simonhj) ! Yes, working on making that less thrashy too.

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.

3 participants