A structured resume management system with version control and PDF generation.
- Markdown-based — Write your resume in plain text
- Version control — Track changes with git
- Role variations — Maintain tailored versions for different job types
- Job reference library — Store job descriptions for context when tailoring
- Clean PDFs — Generates professional PDFs with no word hyphenation
# Create your resume project
bun create pwarnock/resume-template my-resume
cd my-resume
# Copy the example to start your base resume
cp src/example.md src/base.md
# Edit your resume
# ... edit src/base.md ...
# Build PDF
./build/build.sh
# Output: output/Resume.pdfmy-resume/
├── src/ # Your resume markdown files
│ ├── base.md # Master resume (all your content)
│ ├── frontend-dev.md # Role-specific variation
│ └── backend-dev.md # Another variation
├── jobs/ # Job descriptions for reference
│ └── company-role.md
├── output/ # Generated PDFs (gitignored)
├── build/
│ ├── build.sh # PDF generation script
│ └── preamble.tex # LaTeX settings
├── .env # Your personalized defaults (copy from .env.example)
└── README.md
- Copy
src/example.mdtosrc/base.md - Fill in your complete work history, all projects, all skills
- This is your master resume — it contains everything
- Save job description to
jobs/company-role.mdfor reference - Create a variation:
cp src/base.md src/role-name.md - Tailor the variation for the specific role
- Build:
./build/build.sh src/role-name.md "Your-Name-Role" - Commit your changes
# Build default (src/base.md → output/Resume.pdf)
source .env && ./build/build.sh
# Build specific file with custom output name
./build/build.sh src/frontend-dev.md "Jane-Doe-Frontend"
# Customize output name (copy .env.example to .env first)
# Edit .env and set RESUME_OUTPUT_NAME=Your-Custom-Name- base.md as single source of truth — Never lose content; variations are subsets
- Job descriptions saved — Remember context when updating variations later
- Git tracks iterations — No need for dated file copies
- PDFs gitignored — They're generated artifacts, regenerate anytime
The build script uses Pandoc with pdflatex and custom LaTeX settings that:
- Disable word hyphenation (no "develop-\nment" breaks)
- Set consistent 1-inch margins
- Use microtype for better text rendering
MIT