# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
dist/
build/
*.egg-info/
*.egg

# Virtual environments
.venv/
venv/
env/

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

# Testing
.pytest_cache/
.ruff_cache/
.coverage
htmlcov/

# uv
# Note: uv.lock is intentionally tracked — it pins all transitive deps for reproducibility.
# Uncomment the line below only if you deliberately choose not to commit the lock file.
# uv.lock

# OS
.DS_Store
Thumbs.db

# Secrets
.env
.env.*
# ...but keep checked-in example/templates (never contain real secrets)
!.env.example
!**/.env.example

# Project
*.sqlite
*.db
*.jsonl
*.npz
*.log
results/
logs/
# Anchored to repo root — DO NOT use the unanchored form `traces/`.
# hatchling honors .gitignore when building the wheel; an unanchored
# `traces/` pattern matches src/nova_ai/traces/ and silently drops
# the runtime module from the wheel (issue #372).
/traces/
coding_task_*
get-pip.py
# Junk from mocked-path tests that write to their mock's __repr__ as a path
MagicMock/

# MkDocs build output
site/

# Frontend
frontend/node_modules/
frontend/dist/

# Desktop
desktop/node_modules/
desktop/dist/
src/nova_ai/server/static/

# Desktop (Tauri)
frontend/src-tauri/target/

# Worktrees
.worktrees/

# Rust
target/

# Claude plan artifacts
docs/plans/
docs/superpowers/
.superpowers/

# Claude Code project instructions (per-developer)
CLAUDE.md
.claude/

# Tauri auto-generated schemas
**/src-tauri/gen/schemas/

# NFS lock artifacts
.nfs*
**/.nfs*

# Research output
research_mining_*
.python-version
src/nova_ai/channels/whatsapp_baileys_bridge/node_modules/

# SQLite in-memory artifacts
:memory:

# Dogfood reports (regenerated locally; not for VCS)
dogfood_report*.md

# Second Repos
Inline/
scratch/

# ---------------------------------------------------------------------------
# Distillation runtime artifacts (defense in depth — these should always live
# in ~/.nova_ai/, never inside the source tree, but we ignore them here in
# case NOVA_AI_HOME is misconfigured during dev)
# ---------------------------------------------------------------------------
.nova_ai/
learning.db
**/learning/sessions/
**/learning/pending_review/
**/learning/benchmarks/
**/teacher_traces/
*.session.json

# Local dev artifacts (hybrid worker logs + cli debug dumps)
minion_logs/
*.oj-debug.json
oj-debug.*.json

# Tauri sidecar binaries — fetched on demand by
# frontend/src-tauri/scripts/download-ollama.sh (also used by desktop.yml CI).
# A committed copy would add ~75MB to every clone for zero benefit.
desktop/src-tauri/binaries/

# TypeScript incremental build cache
frontend/tsconfig.tsbuildinfo

# PyInstaller build debris
*.spec
