# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

# Environment variables (API keys)
.env
.env.local
.env.*.local

# Node
node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# Tauri
src-tauri/target/
src-tauri/gen/
src-tauri/lcov.info

# Frontend test coverage
coverage/

# Generated at build/test/dev time (scripts/generate-release-notes-bundle.mjs).
# Ignore the contents (not the dir) so the committed tauri-specta FE↔BE contract
# snapshot below can be re-included — a `!` exception cannot escape an ignored dir.
src/generated/*
# ...except the committed tauri-specta contract snapshot, so CI diffs catch drift.
!src/generated/bindings.ts

# Documentation
CLAUDE.md

# Local commit-instructions for agents (never commit)
to_commit.md

# Claude Code memory (local only)
memory/

# Local scratchpad / notes (not committed)
tmp/

# Third-party clones for local research (not committed)
research/

# Nix build output symlink
result
result-*

# Local incremental cargo (nix develop; not used by flake — see nix/psysonic.nix cleanSource)
.build-local/

# Local Nix helpers (not in repo — optional; use `nix develop` / flake without them)
dev.sh
shell.nix
prod.sh
tsconfig.tsbuildinfo
