# Build artifacts
/target
*.pdb
*.exe
*.dll
*.so
*.dylib
*.rlib
*.o

# Development
.env
.env.*
!.env.example
node_modules/
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db

# Python
__pycache__/
*.py[cod]
*$py.class
.pytest_cache/
venv/
ENV/
env/
.venv/
*.egg-info/
dist/

# Logs
*.log

# Generated
outputs/
tmp/

# Reference papers / large research blobs (keep locally if needed, don't ship)
docs/DeepSeek_V4.pdf
docs/*.pdf

# Note: Cargo.lock is intentionally NOT ignored for reproducible builds

# Local dev scripts and temp files
*.sh
!scripts/**
!.github/scripts/**
test.txt
TODO*.md
todo*.md
CLAUDE.md
NEXT_SESSION.md
AI_HANDOFF.md
result.json
count_deps.py
project_overhaul_prompt.md
.codex/
.context/

# Local runtime state
.deepseek/
**/session_*.json
*.db

# Companion app (tracked separately)
apps/

# Claude Code runtime artifacts
.claude/scheduled_tasks.lock
.claude/worktrees/
.worktrees/
.ace-tool/

# Local-only Claude / ralph notes
.claude/*.local.md
.claude/*.local.json

# Maintainer handoff + codemap notes are working-state, not user-facing
# artifacts. They've leaked into the public repo via .claude/ in the past
# (HANDOFF_v0.8.28, CODEMAP_v0.8.25) — those files now live under
# .private/handoffs/ instead. Block the patterns here so a future accidental
# add doesn't silently land on main.
.claude/HANDOFF_*
.claude/CODEMAP_*
.claude/handoff_*
.claude/codemap_*

# Maintainer-internal design notes (trade-secret material, never published)
.private/

# Agent handoffs and version-specific setup plans are working-state notes, not
# public docs. Keep durable setup guidance in docs/runbooks instead.
docs/*HANDOFF*.md
docs/*handoff*.md
docs/*_PLAN.md
!docs/archive/**

# direnv
.envrc
.direnv
