# OS
.DS_Store
Thumbs.db

# Editors
.vscode/
.idea/
*.swp

# Dependencies / build output
node_modules/
dist/
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
