# Rust build artefacts
/target/
**/target/

# Local persisted data + secrets
/var/
**/var/emem/
**/var/demos/
*.secret.b32
identity.secret.b32
.cloudflared/
acme.cache/
tls/
# Runtime cruft — when EMEM_DATA=:memory: is misinterpreted as a path
# string, a literal :memory: directory is created. Untracked but
# silenced from `git status` so it doesn't read as repo state.
/:memory:/
**/:memory:/

# Editor / OS
.DS_Store
.idea/
.vscode/
*.swp
*.swo

# Node / Vite — the old TS/Vite SPA at repo root was retired in 0.0.6;
# the live https://emem.dev is served by the Rust `emem-server` binary.
# These patterns prevent the scaffolding from sneaking back in at root.
# sdks/emem-ts/ has its own legitimate package.json / tsconfig.json /
# src/ — those are NOT matched here because patterns are anchored to /.
node_modules/
dist/
dist-server/
.parcel-cache/
/index.html
/package.json
/package-lock.json
/vite.config.ts
/tsconfig.json
/tsconfig.server.json
/src/
/server/
/tests/*.test.ts

# Artifacts (screenshots, generated images) — keep folder, ignore contents
artifacts/*
!artifacts/.gitkeep

# Python ad-hoc tools
__pycache__/
*.pyc
.venv/

# Local Claude / IDE state
.claude/
CLAUDE.md
registry_claude.md

# Env files
.env
.env.*
!.env.example

# Logs + coverage
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
coverage/
.nyc_output/
notes/

# fastembed-rs ONNX model cache (HF hub mirror, ~400 MB)
.fastembed_cache/
scripts/eval/results/q*.json

# mdbook output for the /docs/ site. The book is built at deploy/CI time
# (see scripts/redeploy.sh and .github/workflows/ci.yml) and baked into
# the binary via `include_dir!("docs/book")`. Committing it would churn the
# repo every docs edit (hashed asset filenames) and add ~5 MB; build it
# fresh on each CI run instead.
docs/book/
