Files
ai-job-search/.gitignore
T
LeoWinston-9596 808be3daad fix(privacy): ignore scraper state and interview records at any depth (#208)
job_scraper/seen_jobs.json (and notion_sync.json / *.md) were ignored by a repo-rooted pattern, but the job-scraper skill resolves job_scraper/ relative to its own directory, so the state file lands at .claude/skills/job-scraper/job_scraper/ and the rule never matched - publishing every scraped posting with fit scores and skip-reasons on a public fork. Switches to **/-prefixed patterns that match at any depth (the rooted location still matches too, so no regression), and adds documents/interview/** (interview prep names employers, quotes submitted material, and lists the candidate's weak points) - it was never ignored though documents/applications/** was. REQUIRED_IGNORE_RULES updated in lockstep so the security guard stays in sync.

By @LeoWinston-9596 (split from #199). Verified: both nested and root seen_jobs.json now ignored, interview records ignored, guard suite green (17 tests incl. #195's negation checks). Rebased cleanly on current master.
2026-07-21 07:39:56 +02:00

92 lines
1.9 KiB
Plaintext

# Dependencies
node_modules/
bun.lock
# Python
__pycache__/
*.pyc
*.pyo
.venv/
venv/
# Compiled documents
*.pdf
*.aux
*.log
*.out
*.synctex.gz
*.fls
*.fdb_latexmk
# Personal data (never commit these)
salary_data.json
# Match at any depth: the job-scraper skill resolves `job_scraper/` relative to
# its own directory, so these land at .claude/skills/job-scraper/job_scraper/*.
# A rooted `job_scraper/...` pattern silently fails to match them.
**/job_scraper/seen_jobs.json
**/job_scraper/notion_sync.json
**/job_scraper/*.md
*_BehavioralReport.pdf
linkedin_Profile.pdf
# Personal photos and signatures
*.jpg
*.jpeg
*.png
!cover_letters/OpenFonts/fonts/**
# OS files
.DS_Store
Thumbs.db
# Editor
.vscode/
.idea/
# Memory files (Claude Code user-specific)
.claude/projects/
# Skills lock (auto-generated)
skills-lock.json
# Personal application output files (generated by /apply — do not share)
cv/main_*.tex
!cv/main_example.tex
cv/*.txt
cover_letters/cover_*.tex
cover_letters/Cover_*.tex
!cover_letters/cover_example.tex
# documents/ subfolder contents are personal — only README and folder structure are tracked
documents/cv/**
documents/linkedin/**
documents/diplomas/**
documents/references/**
documents/applications/**
documents/postings/**
# Interview prep and experience records: these name the employers applied to,
# quote what was submitted, and set out the candidate's weak points.
documents/interview/**
!documents/**/.gitkeep
# Personal job search tracking
job_search_tracker.csv
# Gmail sync state (message IDs, subjects - personal data)
gmail_sync/
# Generated reports (personal output from /html-report)
reports/
# Upskill reports (personal output)
upskill/*.md
# Agent skills: track the source, ignore only deps and logs.
# (A blanket `.agents/` ignore silently drops the job-search CLI skills from the repo.)
.agents/**/node_modules/
.agents/**/*.log
.agents/usage/
# Brainstorm mockups (superpowers visual companion) - never ship
.superpowers/