Skip to main content

Generate and tailor one-page RenderCV resume PDFs from local source material.

Project description

Resume Generator

Generate and tailor one-page resume PDFs from RenderCV YAML.

The package provides two CLI paths:

  • Render an existing RenderCV YAML file to PDF.
  • Tailor a resume from a public job URL and local Markdown source material, then validate generated claims before rendering.

Install

uv tool install evidence-resume-tailor

For local development:

uv sync

Render A Resume

uv run resume-generator examples/basic.yaml

The PDF is written to:

output/resumes/basic.pdf

RenderCV also writes a .typ build artifact next to the PDF. Generated resumes are capped at one page; oversized PDFs fail the command so the resume stays targeted. When local PDF rasterization is available, the CLI also reports page fill, for example 88% page height reached.

The render command can also be called explicitly:

uv run resume-generator render examples/basic.yaml --output-dir output/resumes

Use --keep-supporting-formats when you also want RenderCV's Markdown and HTML outputs.

Tailor A Resume

The tailoring flow uses local Markdown files as the source of truth, fetches a public job page, asks Codex CLI to produce structured tailored resume content, validates generated resume claims against cited source text, then renders the final one-page PDF with RenderCV.

uv run resume-generator tailor \
  --job-url "https://company.com/jobs/123" \
  --content-dir content \
  --out-dir generated/company-role

Artifacts are written under the output directory:

job.md
prompt.md
tailored_resume.json
resume.yaml
evidence.json
resume.pdf
resume.typ

Each run writes to a staging directory first. Existing final artifacts are only replaced after evidence validation and one-page PDF rendering both succeed. If a valid one-page draft uses too little vertical space, the tailor flow gives Codex one bounded revision attempt with the measured page-use percentage and asks it to add only stronger job-matched, evidence-backed content. If a run fails after writing diagnostics, the CLI reports the staging path.

Tailoring requires the codex CLI to be installed and authenticated. Plain YAML rendering does not require Codex.

Local Source Material

Put private source material in Markdown files under content/. Nested folders are fine, and each file becomes an evidence source keyed by its relative path.

content/
  profile.md
  projects/
    resume-generator.md

Optional YAML frontmatter is supported:

---
kind: project
---

Built a RenderCV-based resume generator.

The AI is instructed to use only these files and to choose only the strongest material for the specific job. Substantive generated resume claims in summaries, highlights, bullet-style entries, section fields such as company/project names and dates, skill details, and cv.headline must be cited in evidence.json. Short display labels such as skill group names are treated as presentation, not claims. The validator also checks that cited source files contain the claim or the claim's key terms and numbers; otherwise the PDF render is blocked.

content/, generated/, output/, tmp/, and PDF/Typst render artifacts are ignored by git so personal material stays local by default.

Development

uv run pytest
uv build --wheel --sdist

To verify the local Codex CLI integration:

RUN_LIVE_CODEX_SMOKE=1 uv run pytest tests/test_codex_smoke.py

Release Automation

The repository includes a GitHub Actions workflow that can publish to PyPI through trusted publishing.

The scheduled publish workflow runs around 1:00 AM Eastern. It checks package-relevant files against the most recent v* tag. If no package changes are found, it exits without publishing. If package changes are found, it bumps the patch version, commits the version update, creates a tag, builds the wheel and source distribution, publishes to PyPI, and creates a GitHub release.

PyPI trusted publishing must be configured for this repository before the first automated publish can succeed. Configure the PyPI project with:

PyPI Project Name: evidence-resume-tailor
Owner: the-Drunken-coder
Repository name: resume-generator
Workflow filename: publish.yml
Environment name: pypi

If the PyPI project does not exist yet, create a pending trusted publisher with the same values in PyPI before running the workflow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evidence_resume_tailor-0.1.0.tar.gz (50.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evidence_resume_tailor-0.1.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file evidence_resume_tailor-0.1.0.tar.gz.

File metadata

  • Download URL: evidence_resume_tailor-0.1.0.tar.gz
  • Upload date:
  • Size: 50.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for evidence_resume_tailor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 35fac74dd6fb9473ce4d0fcef6c0026ceb000daa200cef2f8e4a4586d24afcc3
MD5 53f6ea99ff6334371480ea1692a09a57
BLAKE2b-256 4e174867308b1eb0811ff128168df0a60abb1db051e442bd71d3440857effba4

See more details on using hashes here.

File details

Details for the file evidence_resume_tailor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: evidence_resume_tailor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for evidence_resume_tailor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5dd755bf8a16f1c59e9e575c6c347890f6def985e1a57a184c269ed6efdb0f0a
MD5 fd7d744552bd0bd773302f0d5e9c009a
BLAKE2b-256 e370c91ea81307e7686d5460e2221243f0fc4c3d929b99b2326a8c70105b4c1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page