__pycache__/
*.pyc
*.egg-info/
build/
dist/
.venv/
.pytest_cache/

# stray test artifacts from running the CLI in-repo, but keep committed settings
/.claude/*
!/.claude/settings.json

# The .blitz/ working area is governed content, not an artifact: memory/ holds
# the repo's playbook (seeded once, never overwritten even by `init --force`),
# and scripts/ + templates/ are what the playbook commands execute. Two parts
# are per-run or per-developer state and never belong in git.
/.blitz/execute/
/.blitz/feature.json

# blitz-sdk local trace capture (see blitz.toml's [capture] local = true).
# Unanchored: the sdk writes its store relative to whichever project dir holds
# the blitz.toml, which is not always the repo root. The `*` covers the SQLite
# -wal/-shm sidecars.
**/.blitz/traces.db*

# Regenerable `blitz init` output: scripts/ and templates/ are refreshed from the
# package on --force, so a clone reproduces them exactly by running init.
# memory/playbook.md is deliberately NOT here: it is seeded once and never
# overwritten, so it stays tracked.
/.blitz/scripts/
/.blitz/templates/
