universelabSCI · CLI · BIO

ES

CLI Reference

texforge <command> [options]

Project lifecycle

Command Description
texforge new <name> Create a new project from the default template
texforge new <name> -t <template> Create with a specific template
texforge init Interactive wizard — new project or migrate an existing one
texforge build Compile to PDF
texforge build --watch Watch for changes and rebuild automatically
texforge build --watch --delay <s> Custom debounce delay (default: 2s)
texforge build --reproducible Pin SOURCE_DATE_EPOCH to a fixed epoch so identical source yields an identical PDF
texforge build --reproducible=<epoch> Reproducible build with an explicit epoch (seconds since the Unix epoch)
texforge clean Remove build artifacts

Quality

Command Description
texforge check Lint without compiling (includes spell-check)
texforge check --deny-warnings Treat warnings as errors
texforge fmt Format .tex files in place
texforge fmt --check Check formatting without modifying (CI-friendly)

Templates

Command Description
texforge template list List installed + available in the registry
texforge template list --installed List only locally installed templates
texforge template add <name> Download a template from the registry
texforge template remove <name> Remove an installed template
texforge template validate <name> Verify template compatibility
texforge template refresh Refresh all cached templates (bypass TTL)
texforge template refresh <name> Refresh one cached template (bypass TTL)

Spell-Check

Command Description
texforge spell add <words>... Add word(s) to personal dictionary
texforge spell add <words>... --local Add to project-local dictionary instead of global
texforge spell list List all words in personal dictionary
texforge spell list --local List project-local dictionary
texforge spell remove <words>... Remove word(s) from personal dictionary
texforge spell remove <words>... --local Remove from project-local dictionary

Default scope is global (~/.texforge/spell-words). Both scopes are unioned at check time.

PDF Inspection

Command Description
texforge pdf text Extract text as seen by readers and accessibility tools
texforge pdf text --raw Keep ligature codepoints as separate characters
texforge pdf info Report pages, fonts, embedding status, metadata
texforge pdf pages List which section opens each page (diff-friendly)
texforge pdf check Verify significant source words appear in the PDF text

Document Analysis

Command Description
texforge outline Print the section tree
texforge outline --json Output as JSON
texforge stats Count words by section (default)
texforge stats --by file Count words by .tex file
texforge stats --json Output as JSON

Preview

Command Description
texforge preview Rasterize all PDF pages to PNG (writes to ./preview/)
texforge preview --page <N> Rasterize page N only (1-based)
texforge preview --scale <SCALE> Scale factor for rasterization (default: 1.0)
texforge preview --out <DIR> Output directory (default: ./preview/)

Diagnostics

Command Description
texforge doctor Diagnose Tectonic, cache, fonts, dictionaries, and project

Uninstall

Command Description
texforge uninstall Remove everything texforge manages under ~/.texforge
texforge uninstall --yes Skip the confirmation prompt
texforge uninstall --dry-run Print the plan without removing anything
texforge uninstall --include-spell-words Also remove the personal spell dictionary (preserved by default)

The texforge binary itself is never removed by this command. The personal spell dictionary (~/.texforge/spell-words) contains your own writing and is preserved unless --include-spell-words is passed.

Configuration

Command Description
texforge config Interactive wizard (name, email, institution, language)
texforge config list Show all configured values
texforge config <key> Show value for a key
texforge config <key> <value> Set a value

Valid keys: name, email, institution, language.

Global flags

Flag Description
--help Show help for any command
--version Show texforge version