Skip to main content

ATS-friendly CV/Resume builder using YAML and Typst

Project description

CVForge

CVForge is a straightforward, YAML-based, ATS-compatible CV/Resume generator powered by Typst. Create professional, machine-readable resumes in seconds.


🚀 Quick Start

Using UV (Recommended)

The fastest way to use CVForge is with uv, which is significantly faster and keeps tools isolated.

# Run instantly without installing (creates a temp environment)
uvx cvforge init        # Create a template cv.yaml
uvx cvforge cv.yaml     # Build your CV

# Or install globally as a tool
uv tool install cvforge
cvforge cv.yaml

Using Pip

CVForge is available on PyPI and can be installed with standard pip:

pip install cvforge
cvforge cv.yaml

📋 Requirements

  • Typst: The Typst CLI must be installed and available in your PATH.
  • Python 3.8+

📖 Usage

Command Description
cvforge init Creates a template cv.yaml in the current directory.
cvforge <file.yaml> Generates a PDF from the specified YAML file.
cvforge fonts Lists all available ATS-friendly fonts.
cvforge ats-check <file.pdf> Analyzes a PDF for ATS compatibility.
cvforge --help Shows help information.

Examples

# Initialize a new CV project
cvforge init

# Build CV from default cv.yaml
cvforge cv.yaml

# Build from any YAML file
cvforge resume.yaml

# Check if your PDF is ATS-friendly
cvforge ats-check cv.pdf

⚙️ Configuration

Language

language: "en"  # English (default)
language: "tr"  # Turkish

Fonts

All fonts are ATS-friendly. Use cvforge fonts to see the full list.

font: "roboto"  # Options: noto, roboto, inter, lato, montserrat, opensans, etc.

📝 YAML Structure

# Configuration
language: "en"
font: "noto"

# Required
name: "Your Name"

# Optional
role: "Software Engineer"
email: "hello@example.com"
phone: "+1 555 123 4567"
location: "New York, USA"
website: "example.com"
linkedin: "linkedin.com/in/username"
github: "github.com/username"
photo: "photo.jpg"

summary: |
  A brief professional summary...

experience:
  - company: "Tech Corp"
    role: "Senior Developer"
    date: "2022 - Present"
    description:
      - "Led a team of 5 developers"
      - "Reduced latency by 40%"

education:
  - school: "University of Science"
    degree: "B.S. Computer Science"
    date: "2018 - 2022"

skills:
  - Category: "Languages"
    Items: ["Python", "Rust", "TypeScript"]

# Additional sections: projects, languages, certifications, awards, interests

✨ Features

  • Cross-platform: Linux, Windows, macOS
  • ATS Compatible: Clean, selectable text
  • Multi-language: English and Turkish section headings
  • 11 ATS-friendly fonts
  • Built-in ATS checker
  • Optional photo support

📦 Tool Management with UV

If you installed CVForge with uv tool install:

# Upgrade to latest version
uv tool upgrade cvforge

# Run a specific version
uvx cvforge@1.0.0

# Uninstall
uv tool uninstall cvforge

🤖 A Note

This project was fully vibe coded — built with AI assistance. ✨


📜 License

MIT

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

cvforge-1.0.0.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

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

cvforge-1.0.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file cvforge-1.0.0.tar.gz.

File metadata

  • Download URL: cvforge-1.0.0.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cvforge-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bbe5054d50794fe53c097674f5ae7656379fc0e3cc393dc52dbf8f788667301f
MD5 25c63f0acdadaa40e9e454f3ba719a9e
BLAKE2b-256 443ea63751c00f53e88528e60682a8f9bf663b09ecf5ebe42565fc3bb1332512

See more details on using hashes here.

File details

Details for the file cvforge-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cvforge-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cvforge-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 daedef0a7db4d24b4aef00211629408bd4d58f865a8b029bf3d0f4e754bf6a8b
MD5 b27c6c49ebb161170d0a6fd0c27da588
BLAKE2b-256 71b362fc61d69dbbb14b1853a9cbf35f267aad0b9d862e3e663ef918a6d710d8

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