# --- Base ignores (stack-agnostic) ---

# Secrets / local env — never commit real ones (see .env.example)
.env
.env.*
!.env.example
*.local

# AI assistant build instructions — kept local, never committed
CLAUDE.md
CLAUDE.local.md

# Editor / OS cruft
.vscode/*
!.vscode/extensions.json
!.vscode/launch.json
.idea/
.DS_Store
Thumbs.db
*.log

# Generic build / cache output
dist/
build/
out/
coverage/
.cache/
tmp/
*.tmp

# --- Stack-specific (Python) ---
.venv/
__pycache__/
*.py[cod]
*.egg-info/
.pytest_cache/
.ruff_cache/
.mypy_cache/

# Manifold run artifacts (generated). Recorded-trace fixtures under
# examples/recorded/ ARE committed (they make the Claude demo run offline).
report.html
runs/
/*.jsonl
# `--live` writes a `*.new.jsonl` side copy when a re-record doesn't match the fixture
# contract; it's a scratch inspection artifact and must never be committed.
*.new.jsonl
