# Python
__pycache__/
*.py[cod]
.pytest_cache/
*.egg-info/

# uv
.venv/

# Local state. NOTHING under here is ever committed: it holds the vault seed, the
# session ledger and live account addresses. See DESIGN.md §2 — the vault key is
# the trust boundary and never leaves the machine.
#
# The glob is deliberately wide. `OBOL_DATA_DIR` makes the directory name a
# choice, and `.obol-dev/` slipped past a bare `.obol/` entry during Phase 1 —
# with a live seed in it. A seed committed once is a seed leaked forever.
.obol*/
*.mnemonic
*_seed.bin
probes/out/

# Local test media. Large binaries that exist only to be POSTed at a paid
# endpoint during a walkthrough - not part of the project.
*.png
!demo/*.svg
# ...except brand assets shipped inside the package. The QR renderer composites
# these, so they must be installed with the wheel, not sat in a demo folder.
!obolus/assets/*.png

# Build artifacts
dist/
build/

# Per-machine editor config, not project config.
.claude/settings.local.json
