# Client and taxpayer data never belongs in this repository.
# These patterns block the file names real ledgers and payroll exports arrive under.
# Character classes are used on extensions because git only folds extension case
# when core.ignorecase is set, which is not the case on every contributor's box.
[pP][nN][lL]*.[cC][sS][vV]
[tT][rR][iI][aA][lL]-[bB][aA][lL][aA][nN][cC][eE]*.[cC][sS][vV]
[pP][aA][yY][rR][oO][lL][lL]*.[cC][sS][vV]
client-data/
clients/
ledgers/
exports/
*.aba
*.qbo
*.ofx
*.qif
*.[xX][lL][sS]
*.[xX][lL][sS][xX]
*.[xX][lL][sS][mM]
*.[pP][dD][fF]

# The repository's own synthetic data is deliberately exempt.
!examples/**
!tests/fixtures/**

# Credentials
.env
.env.*
!.env.example
*.pem
*.key
token.json

# Python
__pycache__/
*.py[cod]
.venv/
venv/
build/
dist/
*.egg-info/
.pytest_cache/
.ruff_cache/
.coverage
coverage.xml

# Editors and OS
.vscode/
.idea/
.DS_Store
Thumbs.db

# Agent scratch
.superpowers/
.claude/settings.local.json

# Agent planning documents stay local: they carry paths from the box
# they were written on and are of no use to a reader.
docs/superpowers/
