CLI Reference
Complete documentation of all commands available in the NovaType CLI.
Overview
$ nova --help
NovaType - Modern typesetting system
Usage: nova <COMMAND>
Commands:
compile Compile a Typst document to PDF/SVG/PNG
init Initialize a new NovaType project
watch Watch files and recompile automatically
validate Validate document metadata
template Manage templates
font Manage fonts (Google Fonts integration)
Options:
-h, --help Show help
-V, --version Show version
nova compile
Compile a Typst document to PDF, SVG, or PNG.
Syntax
nova compile <INPUT> [OPTIONS]
Arguments
| Argument |
Description |
<INPUT> |
Path to the source file .typ |
Options
| Option |
Description |
Default |
-o, --output <PATH> |
Output file path |
<input>.pdf |
-f, --format <FORMAT> |
Output format : pdf, svg, png |
pdf |
--open |
Open the document after compilation |
false |
--root <PATH> |
Root directory for relative paths |
Current directory |
--font-path <PATH> |
Additional directories for fonts |
- |
-v, --verbose |
Enable detailed logs |
false |
-q, --quiet |
Suppress non-error messages |
false |
--no-python |
Skip Python figure generation |
false |
Examples
$ nova compile main.typ
$ nova compile main.typ --open
$ nova compile main.typ -f svg -o output.svg
$ nova compile main.typ -f png -o figure.png
$ nova compile main.typ --font-path ./fonts/
$ nova compile main.typ --no-python
nova init
Initialize a new NovaType project with the recommended structure.
Syntax
nova init <NAME> [OPTIONS]
Arguments
| Argument |
Description |
<NAME> |
Project name (will be the folder name) |
Options
| Option |
Description |
Default |
-t, --template <TEMPLATE> |
Template to use |
article |
--no-git |
Do not initialize a Git repository |
false |
Available templates
article - Simple article (default)
ieee-article - Format IEEE
nature-article - Format Nature
report - Technical report
book - Book with chapters
presentation - Slides
cv - Curriculum vitae
Examples
$ nova init mon-article
$ nova init conference-paper --template ieee-article
$ nova init draft --no-git
Created structure
mon-article/
├── main.typ
├── nova.toml
├── references.bib
└── .gitignore
nova watch
Watch for source file changes and recompile automatically.
Syntax
nova watch <INPUT> [OPTIONS]
Options
| Option |
Description |
Default |
-o, --output <PATH> |
Output file path |
<input>.pdf |
-f, --format <FORMAT> |
Output format |
pdf |
--debounce <MS> |
Delay before recompilation (ms) |
300 |
--clear |
Clear terminal before each build |
false |
--font-path <PATH> |
Additional directories for fonts |
- |
Examples
$ nova watch main.typ
$ nova watch main.typ --clear
$ nova watch main.typ --debounce 500
Use Ctrl+C to stop watching.
nova validate
Validate document metadata (frontmatter) against a JSON schema.
Syntax
nova validate <INPUT>... [OPTIONS]
Options
| Option |
Description |
Default |
--schema <PATH> |
Path to a custom schema |
Template schema |
--strict |
Strict mode (frontmatter required) |
false |
Examples
$ nova validate main.typ
$ nova validate chapter1.typ chapter2.typ chapter3.typ
$ nova validate main.typ --schema my-schema.json
$ nova validate main.typ --strict
nova template
Manage NovaType templates.
Subcommands
| Command |
Description |
nova template list |
List all available templates |
nova template info <NAME> |
Show template details |
nova template install <SOURCE> |
Install a template from a package or path |
nova template new <NAME> |
Create a new custom template |
Examples
$ nova template list
Available templates:
article Simple article for general documents
ieee-article IEEE journal article format
nature-article Nature journal formatting
report Business/technical reports
book Book with chapter support
presentation Slide presentations
cv Curriculum vitae/resume
$ nova template info ieee-article
Template: ieee-article
Description: IEEE journal article format
Required fields: title, authors
Optional fields: abstract, keywords, bibliography
$ nova template new mon-template
nova font
Manage fonts with Google Fonts integration. See the Fonts page for a full guide.
Subcommands
| Command |
Description |
nova font search <QUERY> |
Search Google Fonts by name |
nova font search --category <CAT> |
Search by category (serif, sans-serif, display, handwriting, monospace) |
nova font install <NAME> |
Install a font (all variants) |
nova font install --variants <LIST> |
Install specific variants only |
nova font uninstall <NAME> |
Remove an installed font |
nova font list |
List installed fonts |
nova font info <NAME> |
Show detailed font information |
nova font bundle <NAME> |
Install a curated font bundle (academic, modern, monospace, classic, minimal) |
nova font bundle list |
Show available bundles |
nova font cache info |
Show cache size and location |
nova font cache clear |
Clear font cache |
Examples
$ nova font search inter
$ nova font install "Inter"
$ nova font install "EB Garamond" --variants regular,bold,italic
$ nova font bundle academic
$ nova font list
Environment variables
| Variable |
Description |
NOVA_FONT_PATH |
Additional paths for fonts (separated by :) |
NOVA_TEMPLATE_PATH |
Additional paths for templates |
NOVA_LOG |
Log level (error, warn, info, debug, trace) |
Exit codes
| Code |
Meaning |
0 |
Success |
1 |
Compilation error |
2 |
Validation error |
3 |
File not found |