# deps
node_modules/
__pycache__/
*.pyc
.venv/
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage

# solana / anchor
solana/target/*
!solana/target/idl/
solana/target/idl/*
!solana/target/idl/olive_options.json
solana/.anchor/
solana/.surfpool/
solana/test-ledger/
solana/evidence/
solana/deployments/*.json
!solana/deployments/*.example.json
!solana/deployments/canonical-assets.json
backend/config/devnet.configured.json

# next.js
frontend/.next*/
internal-dashboard/.next*/
frontend/out/

# build
dist/
*.tsbuildinfo

# env
.env
.env.*
.env.local
.env.*.local
!.env.example
!.env.devnet.example

# secrets
# A safety net, not a storage location — credentials belong outside the repo
# entirely. These patterns exist so that one `git add -A` cannot publish a key
# to a public remote.
client_secret*.json
*.apps.googleusercontent.com.json
*-keypair.json
*.pem
*.key
*.p12
*.pfx
id_rsa*
service-account*.json

# misc
.DS_Store
*.log

# Visual QA output from `npm run qa:share-cards`
frontend/.qa-cards/
