# Resume Repository Single-source LaTeX resume project for Alice Huston, with local build tooling and automated CI workflows. ## Repository Layout - `resume.tex`: source of truth for resume content and formatting. - `flake.nix`: reproducible Nix environment and PDF build derivation. - `.github/prompts/resume-review.prompt.md`: structured prompt used for automated review. - `.github/workflows/`: CI automation for build, checks, and review PRs. - `archive/`: historical outputs (including automated review notes). ## Build Locally ### Option 1: Nix (recommended) Build the canonical artifact: ```bash nix build .#default ``` Output PDF: - `result/Alice_Huston_Resume_Software_Engineer.pdf` ### Option 2: latexmk ```bash latexmk -pdf resume.tex ``` Output PDF: - `resume.pdf` ### Option 3: pdflatex ```bash pdflatex resume.tex ``` Run `pdflatex` multiple times if references/layout need to settle. ## Development Shell Enter the Nix development shell (includes TeX tooling): ```bash nix develop ``` ## Clean Build Artifacts ```bash latexmk -c ``` ## CI / Automation - `build-resume.yaml` - Builds resume PDF on push to `main` when `resume.tex` or workflow file changes. - Publishes the PDF as an artifact and creates a release. - `flake-health-checks.yml` - Runs `nix flake check` on pushes and pull requests. - `lock-health-checks.yml` - Validates health of `flake.lock`. - `flake-update.yml` - Scheduled lockfile update workflow that opens a PR. - `daily-resume-review.yml` - Runs daily and on manual dispatch. - Builds resume, sends prompt + source to an LLM review agent, writes review output to `archive/reviews/`. - Opens a PR only if the newly generated review differs from the most recent prior review. ## Secrets for Automation Set these repository secrets for workflows that open PRs or call the model API: - `GH_TOKEN_FOR_UPDATES`: token used by PR automation. - `OPENAI_API_KEY`: API key for daily review workflow. Optional environment variables: - `OPENAI_BASE_URL` (default: `https://api.openai.com/v1`) - `OPENAI_MODEL` (default: `gpt-5`) ## Notes - Generated files (`*.aux`, `*.log`, `*.fdb_latexmk`, `*.fls`, `*.pdf`, etc.) are ignored by Git. - PDFs are configured for Git LFS via `.gitattributes`.