# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
*.egg
dist/
build/
.eggs/
*.whl
.venv/
venv/
.uv/

# Rust / Cargo
src-tauri/target/
**/*.rs.bk

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Tauri
src-tauri/target/
src-tauri/gen/
src-tauri/WixTools/
# icon.icns is the macOS bundle icon. Track it. Ignoring *.icns is why the
# v0.15.0 DMG shipped Tauri's green minus-bar placeholder.

# IDE
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# Environment
.env
.env.local
.env.*.local

# Testing
.pytest_cache/
.coverage
htmlcov/
.mypy_cache/

# PyInstaller
*.spec

# Captures (user data, never committed)
captures/
archive/
tombstones/

# Audit logs
audit.jsonl

# OS
Thumbs.db
Desktop.ini

# Tauri sidecar binaries (frozen by CI before bundling; never committed)
src-tauri/binaries/*
!src-tauri/binaries/.gitkeep

# Vite build output
/dist/

# Tauri generated schemas (regenerated by tauri-build)
src-tauri/gen/

# Never-publish workspace material (strategy, prospect research, counsel packs,
# personal contact details). Created ad hoc; must never reach a remote.
.private/

# Cover every .env variant, not one at a time. A .env.bak holding live
# API keys sat in a stash for six weeks and was one `git add -A` from being
# committed. Negate the committed template so it stays tracked.
.env.*
!.env.example
