.idea
.vscode
.DS_Store
# Claude Code's local state (worktrees, settings.local.json, …) stays out of the
# repo — but `.claude/skills/` is committed on purpose: the skills ARE the
# repo's procedures, and every contributor gets them with the checkout.
.claude/*
!.claude/skills/
node_modules
dist
clients/web/dist
clients/**/build
clients/**/coverage
test-servers/build
# TypeScript incremental build cache (written by `tsc -b`); web routes its own
# into node_modules/.tmp via tsBuildInfoFile, but a stray `tsc -b` elsewhere
# drops one next to the tsconfig — never source.
*.tsbuildinfo
.env
/.playwright-mcp/

# Local debugging artifacts dropped at the repo root (e.g. attached to
# Claude Code conversations): screenshots, exported Inspector history dumps,
# and ad-hoc registry/client config fixtures used for manual import testing.
# Should never be part of the source tree.
/*.png
/inspector-history-*.json
/inspector-network-*.json
/*.server.json
/configs/
pr-screenshots
