fix(build): exclude .claude/.worktrees from tsconfig scope to stop next build OOM (#5031)

Root cause of the local build:release OOM/GC-livelock (deploy blocker, 2026-06-25):
tsconfig.json uses include: ["**/*.ts","**/*.tsx","**/*.js","**/*.jsx"] (recursive
glob) but exclude did NOT list .claude — where git worktrees live (.claude/worktrees/).
With 69 active port-* worktrees, the TS scope was 355,215 files (352,261 of them inside
.claude/worktrees) vs 4,547 real source files. next build's type-check/scan processed ~70x
the codebase, OOMing at 4GB AND 16GB and GC-livelocking at 32GB/64GB. CI built fine because
its checkout is clean (no worktrees). After excluding .claude/.worktrees, build:release
completes in 17m with the DEFAULT 4GB heap.

Changes:
- tsconfig.json exclude: + .claude .worktrees .source coverage @omniroute .tmp dist _ideia;
  removed 6 stale entries for dirs that no longer exist.
- .dockerignore: + .claude .source (the _* glob already covered underscore dirs).
- CLAUDE.md: standardize ALL worktrees under .claude/worktrees/ (was split with .worktrees/),
  the single gitignored + build-excluded location the native EnterWorktree tool uses.
This commit is contained in:
Diego Rodrigues de Sa e Souza
2026-06-25 17:22:41 -03:00
committed by GitHub
parent cba636b9f0
commit b5c789a3b4
3 changed files with 25 additions and 13 deletions

View File

@@ -77,6 +77,8 @@ bun.lock
# Agent config
.agents
.gemini
.claude
.source
# Misc
llm.txt