Agent instructions
Agent instructions
Keep the CV PDF in sync
files/CV.pdf is committed to the repository and is not rebuilt automatically. Whenever a change touches the CV’s sources, recompile the PDF and commit it together with that change:
cv_source/**(cv.typ,definitions.typ, fonts,biblio/)_data/publications/**(the files incv_source/biblio/are symlinks to these)
Build from the repository root:
typst compile --root . --font-path cv_source/fonts cv_source/cv.typ files/CV.pdf
Check that the build finishes without errors before committing.
Applications (cv_source/candidatures/)
Job applications and grant proposals live in cv_source/candidatures/. They are private: they must never be published on the website. _config.yml excludes the folder from the Jekyll build; keep that exclusion, and do not link to or copy these files from anywhere the site publishes.
Each application has a main.typ that merges its documents with the CV into one PDF, each document keeping its own bibliography. This needs Typst >= 0.15. Build from the repository root, e.g.:
typst compile --root . --font-path cv_source/fonts cv_source/candidatures/UCLouvain_2026/main.typ
Password-protected files (files/protected/)
To share a file through the website with a password, encrypt it with node scripts/encrypt_file.mjs <file> [password] (a random password is generated if none is given). This writes files/protected/<name>.enc and prints the link to share, /files/protected/?f=<name>#<password>; the page files/protected/index.html decrypts the file in the browser. Never commit the unencrypted file next to it.
