# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info

# Virtual environments
.venv

.coverage
coverage.json

# Session memory
.puppy_session_memory.json

# Pytest cache
.pytest_cache/

dummy_path

.idea/

.DS_Store
.env
.serena/
.beads/
main.dist/
nuitka-crash-report.xml
*.backup
main.bin

# Terminal session dumps (iTerm2 AutoLog writes these into the cwd of
# whichever shell is logging; the grove does not write them). Names vary
# (Log at <ts>, NEWLog, LATESTLog, WHAT!Log, NEW-SEPxxLog) but share the
# 'Log at <timestamp>.txt' tail -- anchor there so every variant is caught.
*Log at *.txt
NEWLog*.txt
LATESTLog*.txt

# Bundled skills removed — skills are now fetched from remote catalog
code_puppy/bundled_skills/

# Hook engine runtime artifacts (logs, compiled outputs)
.claude/activity.jsonl
.claude/hooks/audit.log

# Compiled hook binaries (built from .go sources in .claude/hooks/go-hooks/)
.claude/hooks/go-hooks/audit-bash
.claude/hooks/go-hooks/file-policy

# Compiled TypeScript hook output (built from .ts sources)
.claude/hooks/ts-hooks/dist/

.json

.state/

# Local git worktrees
.worktrees/

# Cancel-wedge repro harness output (scripts/repro_cancel_wedge.py)
wedge_artifacts/
wedge_soak.log

# Personal voice memo + local transcript (never publish — repo is public)
MASTER-MASTER-PROMPT.m4a
MASTER-MASTER-PROMPT.txt
MASTER-MASTER-PROMPT.srt

# Beads / Dolt files (added by bd init)
.dolt/
*.db
.beads-credential-key

# Private session handoffs: working notes, never a public surface.
# Local copies live in ~/.spruce_grove/handoff/ (see docs/ANONYMITY-EXIT.md, item D).
# Both the single-file idiom and the directory idiom must be ignored -- this is a
# PUBLIC repo, and handoff notes routinely quote the maintainer's real identity.
SESSION-HANDOFF.md
.handoff/

# Personal voice memos and offsite notes: recorded human life, addresses in the
# filenames, never a public surface. Keep them out no matter the "OFFSITE-" name.
docs/OFFSITE-*/
