--- toc_depth: 1 --- # CLI Reference RenderCV provides a command-line interface with three main commands: - **`rendercv new`** - Generate a sample CV to get started - **`rendercv render`** - Generate PDF, Markdown, HTML, and PNG from your YAML input - **`rendercv 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. ## `rendercv` Check your installed version: ```bash rendercv --version ``` Get help anytime: ```bash rendercv --help ``` ## `rendercv new` Generate a sample CV file to start editing. **Basic usage:** ```bash rendercv new "John Doe" ``` This creates `John_Doe_CV.yaml` in your current folder. **Choose a different theme:** ```bash rendercv new "John Doe" --theme moderncv ``` Available themes: << available_themes >> **Use a different language:** ```bash rendercv new "John Doe" --locale french ``` Available locales: << available_locales >> **For advanced users - generate editable templates:** ```bash rendercv new "John Doe" --create-typst-templates ``` This creates template files you can customize for complete design control. See [Override Default Templates](how_to/override_default_templates.md) for details. ## `rendercv render` Generate your CV outputs (PDF, Markdown, HTML, PNG) from a YAML file. **Basic usage:** ```bash rendercv render John_Doe_CV.yaml ``` This creates a `rendercv_output` folder with all formats. ### Common Scenarios **Auto-reload while editing:** ```bash rendercv render John_Doe_CV.yaml --watch ``` The CV regenerates automatically whenever you save changes. Great for live preview! **Only generate PDF:** ```bash rendercv render John_Doe_CV.yaml --dont-generate-markdown --dont-generate-html --dont-generate-png ``` Or use the short form: ```bash rendercv render John_Doe_CV.yaml -nomd -nohtml -nopng ``` **Custom output location:** ```bash rendercv render John_Doe_CV.yaml --pdf-path ~/Desktop/MyCV.pdf ``` ### All Options | 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. ```bash 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-theme` Create your own theme with full control over the design. **Basic usage:** ```bash rendercv create-theme "mytheme" ``` This creates a `mytheme/` folder with template files you can edit. See [Override Default Templates](how_to/override_default_templates.md) for details.