CLI Commands

Reference for parse, render, preview, templates, init, and validate subcommands.

rustume parse

Convert an external resume format to Rustume JSON.

rustume parse <INPUT> [OPTIONS]
OptionDescription
-f, --formatInput format: json-resume, LinkedIn (linkedin), rrv3, rustume (auto-detected if omitted)
-o, --outputOutput file (default: stdout)
--prettyPretty-print JSON (default: true)

Examples

rustume parse resume.json --format json-resume -o out.json
rustume parse export.zip -f linkedin -o out.json
rustume parse - < export.zip -f linkedin   # read ZIP from stdin

Auto-detection checks file extension (.zip → LinkedIn), ZIP magic bytes, and JSON structure (basics.labelJSON Resume, sections + metadata + publicReactive Resume / rrv3).


rustume render

Render Rustume JSON to PDF.

rustume render <INPUT> [OPTIONS]
OptionDescription
-t, --templateOverride metadata.template and apply matching theme colors
-o, --outputOutput PDF path (default: resume.pdf)

Validates the resume before rendering. When -t is set, apply_template also updates metadata.theme colors to match the template. Returns non-zero on validation or Typst errors.

rustume render resume.json -t leafish -o jane-doe.pdf

rustume preview

Render a single page as PNG.

rustume preview <INPUT> [OPTIONS]
OptionDescription
-p, --pagePage index, 0-based (default: 0)
-t, --templateOverride template and apply matching theme colors
-o, --outputOutput PNG path (default: preview.png)
rustume preview resume.json -p 1 -o page-2.png

rustume templates

List available Typst templates.

rustume templates [OPTIONS]
OptionDescription
-v, --verboseShow theme colors (background, text, primary)

Returns all 12 template IDs: rhyhorn, azurill, pikachu, nosepass, bronzor, chikorita, ditto, gengar, glalie, kakuna, leafish, onyx.


rustume validate

Validate resume JSON against the Rustume schema.

rustume validate <INPUT>

Prints Valid resume on success. On failure, lists field paths and validation messages:

Validation errors:
  basics.email: invalid email format

Uses the same rules as POST /api/validate.


rustume init

Create a new resume JSON file.

rustume init [OPTIONS]
OptionDescription
-o, --outputOutput path (default: stdout)
--samplePre-fill with sample data (Jane Doe, experience, skills)
rustume init -o blank.json
rustume init --sample -o starter.json