Commands
CV Wonder CLI provides a set of commands that can be used to perform various tasks related to generating and managing CVs.
Main command
The main command is cvwonder, which can be used with various subcommands and options.
The command can be run from the command line interface (CLI) and provides a simple and intuitive way to generate CVs.
Subcommands
Generate
The generate subcommand is used to generate a CV based on the input file and the specified options.
It can be used with various options to customize the output format, theme, and other settings.
The command can be run as follows:
cvwonder generate [OPTIONS]
Options:
| Flag | Description |
|---|---|
--input | Path to the CV YAML file (default: cv.yml) |
--output | Output directory (default: generated/) |
--theme | Theme name to use (default: default) |
--config | Override a theme configuration key (repeatable) |
--config flag:
The --config flag overrides individual keys from the configuration: block declared in theme.yaml. It can be repeated to set multiple keys.
Syntax: --config "key=value" or --config "parent.child=value" (dot-notation for nested keys).
Values are automatically coerced: "true" / "false" become booleans, plain integers become numbers, everything else stays a string.
Examples:
# Override a top-level boolean key
cvwonder generate --config "displayName=false"
# Override a nested key using dot-notation
cvwonder generate --config "person.anonymisation=true"
# Multiple overrides
cvwonder generate --config "displayName=true" --config "person.anonymisation=false"
CLI overrides are deep-merged on top of the defaults from theme.yaml: sibling keys are preserved, only the specified leaf is replaced.
Serve
The serve subcommand is used to start a local server for serving the generated CV.
It can be used with various options to customize the server settings, such as the port and whether to open the browser automatically.
The command can be run as follows:
cvwonder serve [OPTIONS]
Options:
| Flag | Description |
|---|---|
--input | Path to the CV YAML file (default: cv.yml) |
--output | Output directory (default: generated/) |
--theme | Theme name to use (default: default) |
--config | Override a theme configuration key (repeatable) |
The --config flag works identically to the generate command — see the Generate section above for full details and examples.
Validate
The validate subcommand is used to validate a CV YAML file against the schema.
It checks for syntax errors, missing required fields, and provides helpful suggestions.
The command can be run as follows:
cvwonder validate [OPTIONS]
Aliases: val, valid
This command validates your CV file and provides detailed feedback including:
- Line numbers for errors
- Contextual suggestions
- Warnings for optional but recommended fields
Example output:
✓ Validation passed! Your CV YAML file is valid.
Or with errors:
✗ Validation failed! Please fix the following errors:
Error 1:
Line: 15
Field: person.email
Issue: Does not match format 'email'
Suggestion: Email should be in format: user@example.com
Validate Show Schema
The validate show-schema subcommand displays the JSON schema used for validation.
cvwonder validate show-schema [OPTIONS]
Aliases: schema, show
Options:
--info: Show schema information summary--prettyor-p: Pretty-print the JSON schema
Examples:
Show schema information:
cvwonder validate show-schema --info
Show pretty-printed JSON schema:
cvwonder validate show-schema --pretty
Show raw JSON schema:
cvwonder validate show-schema
Using aliases:
cvwonder validate schema --info
cvwonder validate show --pretty
Themes
The theme subcommand is used to manage themes for the CV.
It can be used to list available themes, install new themes, and remove existing themes.
The command can be run as follows:
cvwonder theme [SUBCOMMAND] [OPTIONS]
Aliases: themes, t
Subcommands:
list: List all installed themesinstall <url>: Install a theme from a GitHub repositorycreate: Create a new theme (interactive)check <theme>: Verify the integrity of a themescreenshot <theme>: Generate a PNG preview image for a theme
Examples:
List installed themes:
cvwonder theme list
Install a public theme:
cvwonder theme install https://github.com/germainlefebvre4/cvwonder-theme-default
Install a private theme:
# Option 1: Using GitHub CLI (recommended - automatic if authenticated)
gh auth login
cvwonder theme install https://github.com/your-org/your-private-theme
# Option 2: Using GITHUB_TOKEN environment variable
export GITHUB_TOKEN="ghp_your_personal_access_token"
cvwonder theme install https://github.com/your-org/your-private-theme
# Option 3: Using GH_TOKEN environment variable
export GH_TOKEN="ghp_your_personal_access_token"
cvwonder theme install https://github.com/your-org/your-private-theme
Verify authentication in debug mode:
cvwonder theme install https://github.com/your-org/your-private-theme --debug
Create a new theme:
cvwonder theme create
Check a theme for integrity and missing files:
cvwonder theme check my-theme
Generate a preview screenshot for a theme:
cvwonder theme screenshot my-theme
Aliases: themes screenshot, t screenshot, themes ss
Authentication:
When installing themes from private GitHub repositories, CVWonder supports multiple authentication methods with automatic detection:
Priority Order:
- GitHub CLI (
gh) - Automatically uses your authenticated session GITHUB_TOKEN- Environment variable with personal access tokenGH_TOKEN- Alternative environment variable for GitHub token- Unauthenticated - For public repositories only
Quick Setup:
# GitHub CLI (recommended)
gh auth login
# Or use environment variable
export GITHUB_TOKEN="ghp_your_personal_access_token"
Debugging Authentication:
Enable debug mode to see which authentication method is being used:
cvwonder theme install <url> --debug
See the Theme Installation documentation for detailed authentication setup and troubleshooting.
Version
The version subcommand is used to display the version of the CV Wonder CLI.
It can be run as follows:
cvwonder version
This command does not require any options and will display the current version of the CLI.