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

# Simple compilation
$ nova compile main.typ

# Compile and open
$ nova compile main.typ --open

# Export to SVG
$ nova compile main.typ -f svg -o output.svg

# Export to high-resolution PNG
$ nova compile main.typ -f png -o figure.png

# With custom fonts
$ nova compile main.typ --font-path ./fonts/

# Skip Python figures (use cached)
$ 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

Examples

# New project with default template
$ nova init mon-article

# Project with IEEE template
$ nova init conference-paper --template ieee-article

# Without Git
$ nova init draft --no-git

Created structure

mon-article/
├── main.typ        # Main document
├── nova.toml       # Project configuration
├── references.bib  # Bibliography
└── .gitignore      # Files ignored by Git

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

# Simple watch
$ nova watch main.typ

# With terminal clearing
$ nova watch main.typ --clear

# Custom recompilation delay
$ nova watch main.typ --debounce 500
Tip

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

# Validate a document
$ nova validate main.typ

# Validate multiple documents
$ nova validate chapter1.typ chapter2.typ chapter3.typ

# With custom schema
$ nova validate main.typ --schema my-schema.json

# Strict mode
$ 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

# List templates
$ 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

# Template information
$ nova template info ieee-article

Template: ieee-article
Description: IEEE journal article format
Required fields: title, authors
Optional fields: abstract, keywords, bibliography

# Create a custom template
$ 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

# Search and install a font
$ nova font search inter
$ nova font install "Inter"

# Install only regular and bold
$ nova font install "EB Garamond" --variants regular,bold,italic

# Install a bundle
$ nova font bundle academic

# List what's installed
$ 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