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.
49 lines
2.6 KiB
Markdown
49 lines
2.6 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project are documented here. The format is based on
|
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres
|
|
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
Releases are vetted checkpoints of `master`. If you maintain a personalized fork,
|
|
prefer updating to a tagged release over pulling raw `master` (see
|
|
[SETUP.md, section 8](SETUP.md#8-pulling-upstream-updates-into-your-fork)). The
|
|
`framework_version` markers on methodology files tell you which of your customized
|
|
files a release touched; `python3 tools/check_upstream_updates.py` lists them with
|
|
per-file diff commands.
|
|
|
|
## [Unreleased]
|
|
|
|
- **Custom templates: any compile-to-PDF toolchain (Typst, ...)** - `/add-template` no longer
|
|
hardcodes a `lualatex`/`xelatex`/`pdflatex` engine enum. Custom templates now declare a
|
|
source extension and a full compile command, so Typst (`typst compile`) registers the same
|
|
way a custom LaTeX template does. Stock CV/cover letter templates stay LaTeX, unchanged.
|
|
|
|
## [1.0.0] - 2026-07-22
|
|
|
|
First tagged release. This marks the framework as stable and gives forks a described
|
|
checkpoint to update against instead of a moving `master`. It is a baseline of what
|
|
already exists rather than a set of new changes; subsequent releases will document
|
|
what changed since the previous tag.
|
|
|
|
At this baseline the framework provides:
|
|
|
|
- **Application workflow** - a drafter/reviewer `/apply` pipeline (CV + cover letter),
|
|
plus `/setup`, `/scrape`, `/rank`, `/interview`, `/outcome`, `/upskill`,
|
|
`/expand`, `/html-report`, `/gmail-sync`, `/notion-sync`, `/add-portal`,
|
|
`/add-template`, and `/reset`.
|
|
- **Portal search skills** - country-agnostic job-board CLIs (LinkedIn, freehire, and
|
|
the Danish boards) in the portable Agent Skills format under `.agents/skills/`,
|
|
discovered and orchestrated by `/scrape`, with an `enabled:` toggle for skipping
|
|
portals.
|
|
- **Framework versioning** - `framework_version` markers on methodology files plus
|
|
`tools/check_framework_version.py` (CI guard) and `tools/check_upstream_updates.py`
|
|
(fork-side update preview).
|
|
- **Privacy and safety guards** - `.gitignore` protection for personal data, the
|
|
`tools/security_guards.py` allowlist for `.gitignore` negations, and a CI policy of
|
|
making no live portal requests.
|
|
- **Cross-runtime support** - a root `AGENTS.md` pointer so Codex and Antigravity can
|
|
discover the portable portal skills, with Claude Code as the reference runtime.
|
|
|
|
[Unreleased]: https://github.com/MadsLorentzen/ai-job-search/compare/v1.0.0...HEAD
|
|
[1.0.0]: https://github.com/MadsLorentzen/ai-job-search/releases/tag/v1.0.0
|