CLI

Usage

Usage:
  vai [flags]

Flags:
      --dry-run               Don't actually run anything; just print
  -f, --file string           Read file as workflow definition
      --list                  Print list of available tasks and exit
  -l, --log-level string      Set log level (default "info")
  -t, --timeout duration      Maximum time allowed for execution (default 1h0m0s)
  -V, --version               Print version number and exit
  -w, --with stringToString   Pass key=value pairs to the called task(s) (default [])

Discover available tasks

The --list flag can be used to list all the tasks in a Vai workflow.

If defined, the default task will be listed first. Otherwise, tasks will be listed in alphabetical order.

$ vai --list

Available:

- default
- build
- test

Dry run

When the --dry-run flag is set, Vai will evaluate uses imports and with expressions but will not execute any code in eval or run.

This allows for debugging, as well as viewing the contents of remote workflows without executing them.

“default” task

The task named default in a Vai workflow is the task that will be run when no task is specified.

$ vai
# is equivalent to
$ vai default
# but this will only run the 'hello-world' task
$ vai hello-world

Run multiple tasks

Like make, you can run multiple tasks in a single command.

$ vai task1 task2

Specify a workflow file

By default, Vai will look for a file named vai.yaml in the current directory. You can specify a different file to use with the --file or -f flag.

$ vai --file path/to/other.yaml

Shell completions

Like make, vai only has a single command. As such, shell completions are not generated in the normal way most Cobra CLI applications are (i.e. vai completion bash). Instead, you can use the following snippet to generate completions for your shell:

VAI_COMPLETION=true vai completion bash
VAI_COMPLETION=true vai completion zsh
VAI_COMPLETION=true vai completion fish
$env:VAI_COMPLETION='true'; vai completion powershell; $env:VAI_COMPLETION=$null

Completions are only generated when the VAI_COMPLETION environment variable is set to true, and the completion <shell> arguments are passed to the vai command.

This is because completion bash|fish|etc... are valid task names in a Vai workflow, so the CLI would attempt to run these tasks. By setting the environment variable, the CLI knows to generate completions instead of running tasks.