Mint perfect resumes from code. One page, every time.
Classic · Executive · Compact · Modern
Drop any file. Get 4 resume PDFs + editable source code.
git clone https://github.com/WHATDOESTHEFOXSAY2U/resumint.git
cd resumint
make mint FILE=your_resume.docxAccepts .docx, .txt, .pdf, .json, or .yaml. If both a .docx and .pdf exist side by side, resumint cross-references them for the best extraction.
Want a company theme? Add THEME=stripe (15+ presets -- run make themes to see them all).
resumint generates resume code, then validates its own output. The code-to-PDF feedback loop is the product:
your file (docx, txt, pdf, yaml)
|
v
[ parse ] --> structured YAML (the "code")
|
v
[ build ] --> 4 PDFs + Typst source via Typst
|
v
[ QA ] --> 11 checks: overlap, margins, alignment, density, ATS
|
pass? --yes--> done (PDFs + editable source in output/)
|
no
v
[ fix ] --> trim bullets, shorten text, drop sections
|
+-------> rebuild (up to 5 iterations until clean)
AI agents generate the code. The QA engine validates it. The fix loop corrects it. Humans get a perfect PDF.
resumint converts your resume into structured data (YAML) and typeset source (Typst). AI agents and humans edit the code. PDFs are the rendered output.
output/
pdf/ # what you submit to jobs
resume_classic.pdf
resume_executive.pdf
resume_compact.pdf
resume_modern.pdf
code/ # what you (or your AI agent) edit
resume_classic.typ
resume_executive.typ
resume_compact.typ
resume_modern.typ
resume_data.yaml # the structured source of truth
Edit the YAML or .typ files, run make build, get updated PDFs. Your resume lives as code -- versioned, diffable, and agent-friendly.
- Any file, one command -- drop a
.docx,.txt,.pdf, or structured data. resumint parses it, builds 4 templates, and QA-checks the output..docxgives the cleanest extraction;.pdfworks but may lose precision on numbers. - Always fits one page -- the feedback loop trims bullets, shortens text, removes sections, and drops old jobs until every template fits. No manual tweaking.
- Built for AI agents -- point Cursor, Claude Code, Copilot, or any agent at
AGENTS.mdand let it handle everything. The QA engine gives agents deterministic pass/fail signals. - 111 tests -- 9 fixture profiles, 12 test categories, covering builds, page counts, ATS extraction, QA checks, theme switching, content trimming, cross-referencing, and docx input.
No API keys. No accounts. Runs locally.
make mint FILE=resume.docx # the main command -- any file in, PDFs out
make mint FILE=resume.txt THEME=stripe # same, with a company color preset
make build # rebuild after editing YAML or .typ files
make qa # run 11 layout checks on your PDFs
make fix # auto-fix issues + rebuild
make test # run the full 111-test suite
make themes # list all company presets
make setup # first-time setup with example dataresumint ships with 4 templates and 15 themes. We want 40 of each.
Add a template -- create a .typ file in 1_Templates/, export #let render(data), add the name to 3_Engine/build.py.
Add a company theme -- one line in 3_Engine/build.py:
"tesla": "#CC0000",Ideas we'd love PRs for:
Two-column layout / Minimal template / Academic CV / Dark mode / Company themes (Tesla, Nvidia, Figma, Vercel, Shopify, Uber, Airbnb, Datadog, Palantir, Jane Street)
See CONTRIBUTING.md for the full guide.
Typst (brew install typst) and Python 3.8+.
MIT License · Contribute · Agent docs



