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
  • 100% Local & Private

🔒 Privacy & Security

CVForge operates entirely on your local machine. Unlike web-based resume builders, no data is ever sent to external servers.

  • Secure: Your personal information stays on your computer.
  • Private: You maintain full control over your data without uploading it to the cloud.

📦 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.1.tar.gz (23.2 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.1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cvforge-1.0.1.tar.gz
  • Upload date:
  • Size: 23.2 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.1.tar.gz
Algorithm Hash digest
SHA256 c43d754eb32e558bbd7d30d84800a761dd81c3414a129fb4a9b4ed5cb5affe71
MD5 45da45fa1580a6f7ed0e2ec002659252
BLAKE2b-256 fe02695af7a0ef63330f576a224f253b49f29411d6bd6d84832aa401550f2915

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cvforge-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df56f46b53dd83a334fdd58aa4f8da75d2af0d022c936c59aaf88408267dd3aa
MD5 a2fabed818887fc22fa2833d912e4c40
BLAKE2b-256 aba082632ca9eadce4b31c4fc634872d213da2f445885deafcab992cc08cc467

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