docs/user_guide/cli_reference.md
RenderCV provides a command-line interface with three main commands:
rendercv new - Generate a sample CV to get startedrendercv render - Generate PDF, Markdown, HTML, and PNG from your YAML inputrendercv create-theme - Create a custom theme with editable templates!!! tip "New to command line?"
Commands are typed in your terminal/command prompt. Options starting with -- modify behavior:
```bash
rendercv new "John Doe" --theme moderncv
```
**You can combine multiple options** in a single command:
```bash
rendercv render CV.yaml --watch --dont-generate-html --dont-generate-png
```
This renders your CV with auto-reload enabled, skipping HTML and PNG generation.
rendercvCheck your installed version:
rendercv --version
Get help anytime:
rendercv --help
rendercv newGenerate a sample CV file to start editing.
Basic usage:
rendercv new "John Doe"
This creates John_Doe_CV.yaml in your current folder.
Choose a different theme:
rendercv new "John Doe" --theme moderncv
Available themes: << available_themes >>
Use a different language:
rendercv new "John Doe" --locale french
Available locales: << available_locales >>
For advanced users - generate editable templates:
rendercv new "John Doe" --create-typst-templates
This creates template files you can customize for complete design control. See Override Default Templates for details.
rendercv renderGenerate your CV outputs (PDF, Markdown, HTML, PNG) from a YAML file.
Basic usage:
rendercv render John_Doe_CV.yaml
This creates a rendercv_output folder with all formats.
Auto-reload while editing:
rendercv render John_Doe_CV.yaml --watch
The CV regenerates automatically whenever you save changes. Great for live preview!
Only generate PDF:
rendercv render John_Doe_CV.yaml --dont-generate-markdown --dont-generate-html --dont-generate-png
Or use the short form:
rendercv render John_Doe_CV.yaml -nomd -nohtml -nopng
Custom output location:
rendercv render John_Doe_CV.yaml --pdf-path ~/Desktop/MyCV.pdf
| Option | Short | What it does |
|---|---|---|
--watch | -w | Re-render when file changes |
--quiet | -q | Hide all messages |
--design FILE | -d | Load design from separate file |
--locale-catalog FILE | -lc | Load locale from separate file |
--settings FILE | -s | Load settings from separate file |
--pdf-path PATH | -pdf | Custom PDF location |
--typst-path PATH | -typ | Custom Typst location |
--markdown-path PATH | -md | Custom Markdown location |
--html-path PATH | -html | Custom HTML location |
--png-path PATH | -png | Custom PNG location |
--dont-generate-pdf | -nopdf | Skip PDF generation |
--dont-generate-typst | -notyp | Skip Typst generation |
--dont-generate-markdown | -nomd | Skip Markdown generation |
--dont-generate-html | -nohtml | Skip HTML generation |
--dont-generate-png | -nopng | Skip PNG generation |
Override any YAML value:
Use dot notation to change specific fields. This overrides values in the YAML without editing the file.
rendercv render CV.yaml --cv.phone "+1-555-555-5555"
rendercv render CV.yaml --cv.sections.education.0.institution "MIT"
rendercv render CV.yaml --design.theme "moderncv"
rendercv create-themeCreate your own theme with full control over the design.
Basic usage:
rendercv create-theme "mytheme"
This creates a mytheme/ folder with template files you can edit. See Override Default Templates for details.