YAML source of truth
Plain text. Diff in git, search with grep, copy between machines without lock-in.
One plain-text file. Twelve polished templates. A PDF in one command. Diff it, version it, fork it — your résumé as code.
$ pnpm cvmake build data/cvs/cv.de.yaml → rendering with template "classic-serif" → writing out/cv.pdf ✓ done in 1.4s
Identical content from a single example.en.yaml,
rendered through classic-serif, swiss, bauhaus, and noir. Switch by changing one line.
Every template ships with three or more color palettes. Click any preview for the full résumé.
No clone, no accounts, no telemetry. Just npx — everything stays on your machine.
npx @codevena/cvmake-cli \
init cv.yaml
# --lang de for German
# open cv.yaml in any editor
# and fill in your data —
# it's commented to guide you
npx @codevena/cvmake-cli \
build cv.yaml
# → out/cv.pdf
Prefer to hack on it or add a template?
Clone the repo
and run pnpm build.
A résumé is the most important document most people own. It deserves the same tools you use for your code.
Plain text. Diff in git, search with grep, copy between machines without lock-in.
Author cv.de.yaml and
cv.en.yaml side by side. Switch via CLI flag.
Academic, corporate, editorial, tech — each with three or more color palettes baked in.
Render from your terminal or edit live in the browser. Same engine either way.