# OS .DS_Store Thumbs.db # Editors .vscode/ .idea/ *.swp # Dependencies / build output # # NO TRAILING SLASH on node_modules, deliberately. `node_modules/` matches a directory and not a # SYMLINK of that name — so one pointing at a shared install was committed in v0.4.7, and because it # pointed at a path that does not exist, a fresh checkout had no TypeScript: `npm run typecheck` said # "tsc: not found" and 20 tests failed for a reason that had nothing to do with the code. node_modules dist/ dist-test/ build/ target/ __pycache__/ *.pyc # Claude Code's own state — session checkpoints and the git worktrees it works in. # # NOT ignored until now, so `git add -A` in the repo root would have staged # `.claude/worktrees/`: a whole second checkout of this repository, committed into itself. Nothing # in here is a source file and none of it should travel with the package. .claude/ # Env .env .env.local # Logs *.log # Generated replays — ANCHORED to the repo root on purpose. # # Unanchored, `replay*.html` also matched `src/web/replays.html`, which is a SOURCE file: the # website's replay viewer. It was therefore never committed, and a fresh clone was missing a page # the build copies unconditionally. Only the throwaway files this directory collects are ignored. /replay*.html