Skip to content

Latest commit

 

History

History
94 lines (64 loc) · 3.55 KB

File metadata and controls

94 lines (64 loc) · 3.55 KB

Contributing to resumint

Thanks for your interest. This project aims to be the best open-source resume-as-code toolkit — and contributions are what will get it there.

Getting started

git clone https://github.com/WHATDOESTHEFOXSAY2U/resumint.git
cd resumint
brew install typst           # macOS — see README for other platforms
make setup                   # installs deps, builds example PDFs

What to work on

Templates (most impactful)

Every new template makes this project more useful. Ideas:

  • Two-column layout — sidebar for skills/education, main column for experience
  • Minimal — maximum whitespace, ultra-clean, no color
  • Creative — bold typography, asymmetric layout, for design roles
  • Academic / CV — multi-page, publications section, research focus
  • Infographic — skill bars, timeline visualization
  • Dark mode — dark background, light text (for digital-only use)

To add a template:

  1. Create 1_Templates/template_1page_yourname.typ.
  2. Import ../2_Themes/theme.typ and export #let render(data).
  3. Use the shared components from theme.typ where possible.
  4. Add the name to TEMPLATES in 3_Engine/build.py.
  5. Run python 3_Engine/build.py --template yourname and python 4_Quality/qa_engine.py to verify.
  6. Add a screenshot to .github/assets/ and reference it in your PR.

Company themes

Add a hex color to COMPANY_THEMES in 3_Engine/build.py. One line, instant impact. We'd love presets for:

  • Tesla, Nvidia, Palantir, Databricks, Figma, Vercel, Cloudflare, Shopify, Uber, Airbnb, LinkedIn, Twitter/X, ByteDance, Samsung, Intel, AMD

Parser improvements

  • Better PDF text extraction (handle multi-column layouts, tables)
  • Support for more input formats (LinkedIn export, Markdown)
  • Improve cross-reference merging when PDF and docx disagree on structure

QA engine improvements

  • New checks: detect orphaned bullets, verify date format consistency, check for placeholder text
  • Better auto-fix: smarter spacing reduction that targets specific sections instead of global scaling
  • PDF accessibility checks (tagged PDF, reading order)

Test fixtures

Add YAML files to 5_Tests/Data/ for edge cases:

  • Very long names or titles
  • Non-Latin characters (CJK, Arabic, Cyrillic)
  • Missing optional fields (no summary, no projects)
  • 10+ jobs (stress test for page overflow)

Documentation

  • Translate the README to other languages
  • Add a "gallery" page showing community-submitted resumes (anonymized)
  • Video walkthrough or GIF demo

Pull request guidelines

  1. One feature per PR. Templates, themes, and QA improvements should be separate PRs.
  2. Include a screenshot for any visual change (template or theme).
  3. Run the test suite before submitting: make test
  4. Run QA on your output: make qa
  5. Keep commits atomic. Squash if needed.

Code style

  • Python: follow existing patterns in 3_Engine/build.py and 4_Quality/qa_engine.py. No linter is enforced yet — just be consistent.
  • Typst: use the shared components from 2_Themes/theme.typ. Match the naming convention (template_1page_name.typ).
  • YAML: 2-space indent, double-quoted strings for values containing special characters.

Reporting issues

Use GitHub Issues. Include:

  • What you expected vs. what happened
  • Your OS, Python version, Typst version
  • The YAML data that triggered the issue (anonymize personal info)
  • Any error output from 3_Engine/build.py or 4_Quality/qa_engine.py

License

By contributing, you agree that your contributions will be licensed under the MIT License.