# === OS junk ===
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
desktop.ini

# === Editor / IDE ===
.vscode/
.idea/
*.swp
*.swo
*~
.cursor/
.claude/settings.local.json
.claude/settings.json
.claude/*.lock
graphify-out*/

# === Secrets  NEVER commit these ===
.env
.env.*
!.env.example
!.env.local.example
*.pem
*.key
*_rsa
*_ed25519
credentials.json
secrets.yaml
config.local.*

# === Python (if relevant) ===
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
.pytest_cache/
.mypy_cache/

# === Node (if relevant) ===
node_modules/
npm-debug.log*
yarn-debug.log*
.pnpm-store/

# === Build / generated artifacts ===
dist/
build/
out/
.next/
.turbo/
.expo/
*.tsbuildinfo
*.log

# === Terraform ===
**/.terraform/
*.tfstate
*.tfstate.*
*.tfvars
# IaC sample files MUST be committed (template for ops). Don't "fix" the
# negation — the no-slash form on the line above is the documented git
# pattern for this kind of escape (REVIEW-001-010 NIT-01).
!*.tfvars.example
# Saved plan files embed variable values (incl. secrets) — never commit.
*.tfplan
tf.plan
.terraform.lock.hcl

# === Ansible ===
*.retry

# === Large or regenerable files ===
# Uncomment as needed for your workflow
# *.zip
# *.tar.gz
# *.mp4
# *.mov

# === Cowork scratch / drafts you don't want versioned ===
# Adjust to your conventions
_scratch/
_drafts/
*.draft.md
tmp/

# Eval ctx enriched with licensed EODHD/AV data (regenerable; not for VCS)
services/agents/src/ff_agents/eval/ctx_cache_enriched/

# === Working files Claude generates that you regenerate often ===
# e.g. if you have Claude produce a daily summary, you may not want every one in history
# daily-summary-*.md


# Impeccable design-lint hook — local state, never commit
.impeccable/
