# ---- OS ----
.DS_Store
Thumbs.db
desktop.ini

# ---- Editors ----
.idea/
*.swp
*.swo
*~
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
!.vscode/launch.json

# ---- Node ----
node_modules/
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
.npm/
.eslintcache
.oxlintcache
*.tsbuildinfo
next-env.d.ts

# ---- Build output ----
dist/
build/
out/
.next/
.turbo/
.vercel/
.cache/
coverage/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# ---- Python ----
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
.python-version-local
.venv/
venv/
env/
ENV/
.uv-cache/
.eggs/
*.egg-info/
*.egg
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
.hypothesis/
*.cover
*.py,cover

# ---- Claude Code harness ----
.claude/
!.claude/settings.json
!.claude/commands/

# ---- Dyadpy ----
.dyadpy/
# Generated TS clients in examples are gitignored;
# regenerated on dev. Comment out if you want them committed.
**/lib/dyadpy/client.ts

# ---- Benchmarks ----
benchmarks/results/
benchmarks/uv.lock

# ---- SvelteKit generated ----
# Everything is regenerated on ``pnpm dev`` / ``svelte-kit sync``. We commit
# just the tsconfig.json so editor TypeScript diagnostics don't break on a
# fresh clone before the first sync has run.
**/.svelte-kit/*
!**/.svelte-kit/tsconfig.json

# ---- Env / secrets ----
.env
.env.*
!.env.example
*.pem
*.key
*.crt

# ---- Misc ----
*.tgz
*.zip
.DS_Store?
._*
