.DS_Store
*.log
.env
.env.*
node_modules/
**/node_modules/
.venv/
**/.venv/
.playwright-browsers/
**/.playwright-browsers/
playwright-report/
**/playwright-report/
test-results/
**/test-results/
__pycache__/
*.pyc

# Auto-generated artifacts derived from personal data (Obsidian diary, etc.)
# These get pushed to GitHub via lab-autocommit.sh, so anything that contains
# raw personal-journal content (not yet distilled for publication) must be
# excluded. Regenerate locally with the script that produced them.
marketing/content-plan/*-diary-gems.md

# Secrets / local credentials
secrets-backup/
**/.env
**/.env.*
**/*credentials*.json
**/*token*.json
**/*service-account*.json
**/cookies.txt
**/*-cookies.json
*.pem
*.key
*.p12
*.pfx
id_rsa*
id_ed25519*

# WordPress / XML-RPC backups and raw public snapshots
businesses/**/05_outputs/reports/**/*backup*.json
businesses/**/05_outputs/reports/**/*backup*.xml
businesses/**/05_outputs/reports/**/*backup*.html
businesses/**/05_outputs/reports/**/*xmlrpc*.json
businesses/**/05_outputs/reports/**/*xmlrpc*.xml
businesses/**/05_outputs/reports/**/*raw-backup*.html
businesses/**/05_outputs/reports/**/*post-update-raw*.html
businesses/**/05_outputs/reports/**/*public-before*.html
businesses/**/05_outputs/reports/**/*public-after*.html
businesses/**/05_outputs/reports/**/*current-raw*.html
businesses/**/05_outputs/reports/**/*current-public*.html

# Raw analytics exports. Keep summarized reports in git, regenerate raw exports locally.
businesses/**/04_data/gsc/**/*.csv
businesses/**/04_data/gsc/**/*.tsv
businesses/**/04_data/ga4/**/*.csv
businesses/**/04_data/ga4/**/*.tsv
businesses/**/04_data/adsense/**/*.csv
businesses/**/04_data/adsense/**/*.tsv


# Outreach/form-channel generated artifacts (regenerable). Commit reviewed summaries/scripts only.
businesses/**/05_outputs/proposals/**/*.csv
businesses/**/05_outputs/proposals/**/*.html
businesses/**/05_outputs/proposals/screenshots/
# Machine-generated Playwright dryrun / QA roll-up summaries (regenerable from CSV/batches).
# Curated boards/manuals/setup docs do NOT end in _summary.md so they are not ignored here.
businesses/**/05_outputs/proposals/form_browser_review_*_summary.md
businesses/**/05_outputs/proposals/form_candidate_qa_*_summary.md
businesses/**/05_outputs/proposals/form_channel_*_summary.md

# <brand> internal-link-check raw output. Keep the human-readable result.md, drop raw dumps.
businesses/<business-slug>/05_outputs/reports/*-link-check/result.json
businesses/<business-slug>/05_outputs/reports/*-link-check/internal-links.csv
ops/logs/scaffold-ci-state

# v5 executor runtime (job specs, command output, approval decisions, profile homes/workspaces,
# locks, logs = instance-like: real paths/output). Core stays tracked: executor/README.md +
# executor/allowed-scripts/. Regenerate runtime locally with ops/scripts/lab-executor.py.
executor/jobs/
executor/outputs/
executor/approvals/
executor/locks/
executor/logs/
executor/profiles/
