__pycache__/
*.py[cod]
*$py.class
*.egg-info/
dist/
build/
*.egg
.eggs/
*.so
.venv/
venv/
.env
.mypy_cache/
.pytest_cache/
.ruff_cache/
.coverage
htmlcov/
*.log
.commit-msg
.crossby.yml
KNOWLEDGE.md
KNOWLEDGE.ratings.yml
steps.md
.agents/
# wade-managed symlinks (skills sync)
.cursor/skills
.gemini/
.github/skills

# Editor swap/backup files.
# vim rotates swap names when several instances share a file (.swp -> .swo ->
# ... -> .swa -> .svz -> ...), and writes them WITHOUT a filename prefix when it
# has no named buffer — so bare `.swa` / `.svs` must be covered too, not just
# the `.README.md.swp` form.
*~
*.sw[a-p]
*.sv[a-z]
.*.sw[a-p]
.*.sv[a-z]
.sw[a-p]
.sv[a-z]
