CLI reference

Every Terox command and flag.

This page lists every subcommand Terox ships with. Run terox <command> --help at any time for the same information from the binary itself.

terox scaffold

Render a template into an output directory.

terox scaffold <owner/repo[/subpath]|path> [flags]

Arguments

NameDescription
<owner/repo[/subpath]|path>A public GitHub repository (owner/repo), a directory inside one (owner/repo/subpath, e.g. weburz/terox-templates/nuxt-starter for template monorepos), or a local directory containing a template.

Flags

FlagDefaultDescription
-o, --output.Directory to write the rendered project into.
--set key=valuePre-set a variable value. Repeatable.
--non-interactivefalseDo not prompt. Every variable must have a --set value or a default.
--refreshfalseRe-download a remote template, ignoring the local cache. No effect on local paths.

Examples

# Interactive, from a local template
terox scaffold ./templates/demo --output ./my-project

# Non-interactive, from a template inside a GitHub monorepo
terox scaffold weburz/terox-templates/npm-package \
  --output ./my-package \
  --set PackageName=@weburz/my-package \
  --set AuthorName="Sagar Kapoor" \
  --non-interactive

Exit codes

CodeMeaning
0Scaffolded successfully.
1Any error: bad template ref, missing required variable, etc.

terox create

Create a starter template directory you can edit and publish.

terox create <template-name> [flags]

Arguments

NameDescription
<template-name>Folder name for the new template.

Flags

FlagDefaultDescription
--path.Parent directory in which to create the template folder.

Example

terox create demo --path ./templates

The generated folder contains:

  • terox.json with three example variables (project_name, author, license)
  • {{.project_name}}/README.md showing variable usage
  • {{.project_name}}/.gitignore

terox list

List available templates — either from the local cache or from a remote GitHub repository.

terox list [owner/repo]

Local cache

With no argument, lists the owner/repo entries Terox has already downloaded. Templates are cached under $XDG_DATA_HOME/terox/ (typically ~/.local/share/terox/) the first time you scaffold from a remote source.

terox list

Remote repository

Given a GitHub repo ref, lists every top-level directory at the root of that repo that contains a terox.json manifest. Directories without a manifest (shared assets, docs, tooling) are skipped. The manifest's description field, if set, is shown next to the name. Useful for monorepos like weburz/terox-templates.

terox list weburz/terox-templates

Example output:

weburz/terox-templates:
  npm-package  Weburz-flavored TypeScript npm package starter…
  nuxt-module  Weburz-flavored Nuxt 4 module starter…

By default, descriptions are truncated to fit the terminal width. Pass --long (-l) to render each template's full description, wrapped under its name:

terox list -l weburz/terox-templates

When stdout is not a terminal (piped into another command or redirected to a file), the compact table is preserved but truncation is skipped so descriptions stay intact for downstream consumers.

The command uses the public GitHub API unauthenticated, which is rate- limited to 60 requests per hour per IP. Listing a owner/repo with a subpath (e.g. owner/repo/foo) is not supported — use scaffold for subpath refs instead.

terox clean

Delete every locally cached template.

terox clean

The next remote scaffold will re-download the template from GitHub.

terox version

Print the build version, commit, build date and Go toolchain version.

terox version

Global help

Any subcommand accepts --help for the flag list.

terox --help
terox scaffold --help