Skip to content

CLI Reference

Complete reference for all Functualize CLI commands and options.

Note: func and functualize are aliases for the same CLI. All documentation uses func.

Concepts

Understand how the func CLI works — execution modes, job discovery, and configuration:

  • Execution Modes — The three CLI modes: single-file (A), project discovery (B), and listing/help (C). Group navigation, duality nodes, reserved names, and the builtin subtree
  • Inline TUI — The interactive SmartBar shell launched by bare func: modes, panel rings, ! shell mode, sigil dispatch, and keyboard reference
  • Discovery Filtering — Composable filter system, AND model, filter ordering, and the Mode × Discovery matrix
  • Configuration — Global config, precedence chain, environment variables, dotenv support, and func builtin config commands
  • Global Config Directory — XDG directory layout, per-job config cascading, user-global jobs
  • Aliases — Alias definition, naming constraints, and common patterns

Commands

Scaffold Commands

Commands available through the func builtin scaffold sub-command. Used to create and extend Functualize projects:

  • func builtin scaffold init — Create a new Functualize project from a template (simple, full-interactivity, plugin-project, job-folder)
  • func builtin scaffold add — Add components (jobs, plugins, tui-screens, domains) to an existing project

Scaffold Commands Reference →

Workflow Commands

Commands available through the func builtin workflow sub-command. Inspect and resume persisted workflow scopes — the paused state a @workflow leaves when it blocks at a gate:

  • func builtin workflow list — Survey scopes, with filters
  • func builtin workflow show — One scope in full: graph, results, gates
  • func builtin workflow answer — Record input for a gate
  • func builtin workflow resume — Advance the walk
  • func builtin workflow gate-tool — Run a tool a waiting gate offers
  • func builtin workflow cancel — Cancel a scope (terminal)
  • func builtin workflow purge — Delete finished scopes

Workflow Commands Reference →

Run Commands

Commands available through the func builtin run sub-command. Read the run log — every execution this project has performed, through any door:

  • func builtin run list — Survey runs, newest first, with filters
  • func builtin run show — One run: its origin, outcome, tree and events

Run Commands Reference →

Runs and workflow scopes are different things

Both are listed, both have ids, and they answer different questions:

a scope a run
is a workflow's position one execution
exists to be resumed read afterwards
answers "what is waiting on me?" "why did last night's build fail?"

A workflow that blocked and resumed three times is one scope and four runs. func builtin run list --scope <id> is how the four are found.

User App Commands

Commands available in applications generated by Functualize. When you scaffold a project and install it as a CLI, these global options and built-in commands are automatically available:

  • Global options — Control logging, environment files, and config directory (--log-level, --dotenv-file, --config-directory)
  • builtin info — Introspect registered jobs, configuration, and environment variables (--job, --show-env-vars, --json)
  • Bare invocation — Running the app with no arguments launches the inline TUI on a TTY (prints the job list otherwise)

User App Commands Reference →

Command Format

Each command is documented with a consistent format:

  • Syntax — The full command invocation pattern
  • Description — What the command does
  • Arguments — Positional arguments with descriptions
  • Options — Named options with types, defaults, and descriptions