mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 00:26:26 +00:00
* feat(add-template): make /add-template engine-agnostic so Typst can register alongside LaTeX /add-template hardcoded a lualatex|xelatex|pdflatex engine enum and .tex assumptions, so custom templates could only be LaTeX. Replace the enum with a declared source extension + compile command, so any toolchain (Typst via `typst compile`, or others) registers the same way stock LaTeX templates did. Stock CV/cover-letter pipeline stays LaTeX and untouched (per #181). Also fixes a latent bug this surfaced: apply.md's compile step ignored the ACTIVE-TEMPLATE block and always ran lualatex/xelatex on .tex regardless of the active template, and .gitignore's cv/main_*.tex pattern would not have ignored a non-.tex draft (personal-data leak). Both now resolve from the declared extension/command. * fix(add-template): satisfy security_guards on the .gitignore Typst fix security_guards.py pins the personal-data ignore rules by exact string and gates negations through an allowlist, so broadening cv/main_*.tex and cover_letters/cover_*.tex to *.* (for .typ drafts) needed a matching update to REQUIRED_IGNORE_RULES. Also tighten the .gitignore itself per review: keep the re-include negations at .tex instead of widening them to *.* too. The stock example files are always LaTeX, so .tex is enough to re-include them, and a wildcard negation would have also re-included build artifacts (main_example.pdf/.aux) that should stay ignored. ALLOWED_IGNORE_NEGATIONS needs no change since the negations are unchanged. Also adds a CHANGELOG entry under Unreleased for the Typst/custom-template support.
98 lines
2.3 KiB
Plaintext
98 lines
2.3 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)
|
|
# Extension-agnostic on the ignore side: a custom template registered via
|
|
# /add-template (e.g. Typst) writes main_<company>_<role>.typ instead of
|
|
# .tex, and it must be ignored just as reliably as the stock LaTeX output.
|
|
# The negations stay .tex-only - the stock example files are always LaTeX,
|
|
# and a wildcard negation (!cv/main_example.*) would also re-include build
|
|
# artifacts like main_example.pdf/.aux.
|
|
cv/main_*.*
|
|
!cv/main_example.tex
|
|
cv/*.txt
|
|
cover_letters/cover_*.*
|
|
cover_letters/Cover_*.*
|
|
!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/
|