# dependencies
node_modules/

# build output
dist/
# EXCEPTION: `agent/src/dist/` holds SOURCE (the packaging config for the distributable binary),
# not build output. The blanket `dist/` above swallowed it, so it was never committed — a fresh
# clone was missing it and could neither typecheck `agent/src/index.ts` nor import it from the
# committed `agent/test/buildBinary.test.ts`. The directory must be re-included FIRST: git does not
# descend into an excluded directory, so un-ignoring only the file inside it would not work.
!agent/src/dist/
!agent/src/dist/**
public/build/
desktop/build/
desktop/dist-app/

# local Claude Code settings (not shared)
.claude/settings.local.json

# logs / OS cruft
*.log
npm-debug.log*
.DS_Store

# test coverage
coverage/
.gstack/

# deploy secrets (RELAY-PHASE1) — .env.example is committed, .env is not
deploy/.env
