Build artifacts land beside the sources, and a prose step has to remember to delete them
Line references against master @ 968fb1b.
/apply Step 5e (apply.md:332-334) ends the compile loop with a remembered instruction: delete the intermediate files the compile left beside the source. /add-template Step 4 (add-template.md:141) repeats it for its test compile and lists six LaTeX extensions by hand.
The files are there by construction. Every compile in the repo is a bare cd <dir> && <engine> <file>.tex: no -output-directory, no latexmk, no Makefile. They are already gitignored (.gitignore:12-19), so this is working-tree clutter and one more step to remember, not a leak.
/add-template spreads it. The compile command a custom template declares (add-template.md:77-80), the manifest example (:116) and the ACTIVE-TEMPLATE block /apply reads it from (:164) never mention a build directory, so every newly registered template inherits the clutter.
Proposal
Change add-template.md only, plus one .gitignore line:
- The elicited LaTeX command redirects intermediates and moves the PDF back to the output path
/applyreads (:167):TeX Live does not create the output directory, so themkdir -p build && lualatex -interaction=nonstopmode -output-directory=build <file>.tex && mv build/<file>.pdf .mkdir -pis needed.typst compilehas nothing to redirect and keeps its command. - Step 4 cleanup deletes
build/instead of listing extensions. build/is added to.gitignore.
Stock templates are untouched, so Step 5e stays. A draft PR is attached.
Alternative: also sweep the stock compile sites
Using the same flag for the stock templates would let Step 5e be deleted. That is 16 lines across 7 files: SETUP.md:80,124,294,295,300,301, apply.md:236-237, 05-cv-templates.md:20,246, 06-cover-letter-templates.md:18,27, ci.yml:151,161, add-template.md:116 and cv/main_example.tex:6. One CI catch: ci.yml:153 and :163 grep the .log inside an if, so once the log moves to build/ those checks stop firing silently unless they are repointed. Happy to do this instead if you prefer it.
Acceptance criteria
-
add-template.mdelicits and documents a compile command that keeps intermediates out ofcv/andcover_letters/and still leaves the PDF at the declared output path - Toolchains with nothing to redirect keep their command, and registration never blocks on the rule
- Step 4 leaves no
_compile_test.*intermediates without listing extensions by hand -
build/is in.gitignore -
python3 tools/lint_skills.pyand the test suite pass
Source: MadsLorentzen/ai-job-search