YAMLResume

CLI

YAMLResume provides a CLI tool to help you manage your resume. You can follow the installation guide to install it.

YAMLResume CLI in docker

Please note that we have a docker image for you, which has yamlresume CLI installed with all the necessary dependencies.

For each sub-command in this guide, you can run it in docker by appending the sub-command after yamlresume/yamlresume.

For example, to create a new resume in yamlresume CLI:

yamlresume new my-resume.yml

You can also run it in docker by:

docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume new my-resume.yml

Help

Show CLI help and all available commands:

$ yamlresume help
Usage: yamlresume [options] [command]

YAMLResume — Resume as Code in YAML

 __   __ _    __  __ _     ____
 \ \ / // \  |  \/  | |   |  _ \ ___  ___ _   _ ___  ___   ___
  \ V // _ \ | |\/| | |   | |_) / _ \/ __| | | / _ \/ _ \ / _ \
   | |/ ___ \| |  | | |___|  _ <  __/\__ \ |_| | | | | | |  __/
   |_/_/   \_\_|  |_|_____|_| \_\___||___/\____|_| |_| |_|\___|


Options:
  -V, --version                  output the version number
  -v, --verbose                  verbose output
  -h, --help                     display help for command

Commands:
  new [filename]                 create a new resume
  build [options] <resume-path>  build a resume to LaTeX and PDF
  dev [options] <resume-path>    build a resume on file changes (watch mode)
  languages                      i18n and l10n support
  templates                      manage resume templates
  validate <resume-path>         validate a resume against the YAMLResume schema
  help [command]                 display help for command

Show YAMLResume CLI version:

$ yamlresume -V
0.5.0

New

Create a new resume. The default resume filename is resume.yml, but you can specify a custom filename:

$ yamlresume new --help
Usage: yamlresume new [options] [filename]

create a new resume

Arguments:
  filename    output filename (default: "resume.yml")

Options:
  -h, --help  display help for command

$ yamlresume new my-resume.yml
✔ Created my-resume.yml successfully.

Build

Build a resume from YAML to PDF. It will generate the latex code and PDF at the same time, with some intermediate files .aux, .log etc, if you use XeTeX as the typesetting engine.

$ yamlresume build --help
Usage: yamlresume build [options] <resume-path>

build a resume to LaTeX and PDF

Arguments:
  resume-path    the resume file path

Options:
  --no-pdf       only generate TeX file without PDF
  --no-validate  skip resume schema validation
  -h, --help     display help for command

$ yamlresume build my-resume.yml
◐ Generating resume PDF file with command: xelatex -halt-on-error my-resume.tex...
✔ Generated resume PDF file successfully.

--no-pdf

If you only want to generate the LaTeX file without PDF, you can use --no-pdf option.

$ yamlresume build --no-pdf my-resume.yml

--no-validate

If you want to skip the resume schema validation, you can use --no-validate option.

$ yamlresume build --no-validate my-resume.yml

Dev

Build a resume from YAML to PDF on file changes. It accepts the same options as build however it will automatically rebuild the resume when the YAML file is changed (aka, watch mode). This would be very convenient for you to preview your resume changes in real time.

$ yamlresume dev --help
Usage: yamlresume dev [options] <resume-path>

build a resume on file changes (watch mode)

Arguments:
  resume-path    the resume file path

Options:
  --no-pdf       only generate TeX file without PDF
  --no-validate  skip resume schema validation
  -h, --help     display help for command

Validate

Validate a resume against the YAMLResume schema.

$ yamlresume validate --help
Usage: yamlresume validate [options] <resume-path>

validate a resume against the YAMLResume schema

Arguments:
  resume-path  the resume file path

Options:
  -h, --help   display help for command

For example, for the following resume:

# yaml-language-server: $schema=https://yamlresume.dev/schema.json

---
content:
  basics:
    name: Andy Dufresne
    headline: Headed for the Pacific
    phone: "(213) 555-9876"
    email: hi@pp
    url: https//ppresume.com/gallery
    summary: |
      - Computer Science major with strong foundation in data structures, algorithms, and software development
      - Pixel perfect full stack web developer, specialised in creating high-quality, visually appealing websites
      - Experiened in databases (SQL, NoSQL), familiar with server-side technologies (Node.js, Express, etc.)
      - Team player, with detail-oriented mindset and a keen eye for design and user experiences
  location:
    address: 123 Main Street
    region: California
    city: S
    country: United States
    postalCode: "95814"
  education:
    - institution: University of Southern California
      url: https://www.cs.usc.edu/
      degree: Bachelor
      area: Computer Engineering and Computer Science
      score: "3.8"
      startDate: Sep 1, 2016
      endDate:
      courses:
        - D
        - Programming Language Concepts
      summary: |
        - Developed proficiency in programming languages such as Java, C++, and Python
        - Gained hands-on experience in software development through various projects and assignments
        - Strong communication and teamwork skills acquired through group projects and presentations

layout:
  typography:
    fontSize: 13pt

yamlresume validate will give you a list of potential errors, with clear positional information

$ yamlresume validate my-resume.yml
invalid-resume.yml:9:12: warning: email is invalid.
    email: hi@pp
           ^
invalid-resume.yml:19:11: warning: city should be 2 characters or more.
    city: S
          ^
invalid-resume.yml:31:11: warning: courses should be 2 characters or more.
        - D
          ^
invalid-resume.yml:40:15: warning: font size option is invalid, it must be one of the following: ["10pt", "11pt", "12pt"]
    fontSize: 13pt
              ^
✖ Resume validation failed.

Languages

List all available languages. The language code follows the spec in ISO 639 specification. You can specify the language code in layout.locale.language in order to change the language of your resume. Changing the language of your resume will automatically translate all fixed terms. You can check more details in our content -> multi languages section.

$ yamlresume languages list

| `layout.locale.language` | Language Name                   |
| ------------------------ | ------------------------------- |
| en                       | English                         |
| zh-hans                  | Simplified Chinese              |
| zh-hant-hk               | Traditional Chinese (Hong Kong) |
| zh-hant-tw               | Traditional Chinese (Taiwan)    |
| es                       | Spanish                         |

Templates

List all available templates. You can change the resume template by setting layout.template in your YAML resume. PPResume Templates for more details.

$ yamlresume templates list

| `layout.template` | Template Name    | Description                          |
| ----------------- | ---------------- | ------------------------------------ |
| moderncv-banking  | ModernCV Banking | ModernCV template with banking style |
| moderncv-casual   | ModernCV Casual  | ModernCV template with casual style  |
| moderncv-classic  | ModernCV Classic | ModernCV template with classic style |
Edit on GitHub

Last updated on