Type object
File match tusk.yml tusk.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/tusk-yml/latest.json
Source https://raw.githubusercontent.com/rliebz/tusk/main/tusk.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

env-file envFile | envFile[]

The files to load environment variables from. If no value is specified, environment variables will be read from an optional .env file automatically.

interpreter string

The interpreter to use for commands. The interpreter is specified as an executable, which can either be an absolute path or available on the user's PATH, followed by a series of optional arguments. The commands specified in individual tasks will be passed as the final argument.

Default: "sh -c"
Examples: "node -e", "python3 -c"
name string

The alias name to display in help text when using shell aliases to create a custom named CLI application.

Default: "tusk"
options Record<string, object>

The set of command-line options that may be provided to the task.

tasks Record<string, taskInclude | taskItem>

The list of defined tasks available.

usage string

The usage text to display in help text when using shell aliases to create a custom named CLI application.

Default: "the modern task runner"

Definitions

argClause object

A command-line argument definition for the task.

type enum

The type of the value.

Values: "int" "integer" "float" "float64" "double" "bool" "boolean" "string"
usage string

A one-line summary of the argument.

values value[]

A predefined set of acceptable values to provide for the argument.

argsClause Record<string, object>

The set of command-line arguments that must be provided to the task.

commandClause commandItem | commandItem[]

The command or commands to execute using the global interpreter.

commandItem string | object

The command to execute using the global interpreter.

defaultClause defaultItem | defaultItem[]

The default value to use if the value is not otherwise set. If multiple values are provided, the first when that evaluates to true will be used as the default value, with an omitted when always considered true.

defaultItem value | object

A default value to use if the value is not otherwise set. If a when clause is provided, the value will be used if and only if the condition evaluates to true.

envFile string | object

A file to load environment variables from. File paths specified are relative to the configuration file.

envFileClause envFile | envFile[]

The files to load environment variables from. If no value is specified, environment variables will be read from an optional .env file automatically.

option object

A command-line option for the task. Options may be set by CLI flag, environment variable, or a configured default value, in that order.

The default value to use if the value is not otherwise set. If multiple values are provided, the first when that evaluates to true will be used as the default value, with an omitted when always considered true.

environment string

An environment variable that can be used to set the value.

private boolean

Whether the option is configurable by CLI or environment variable.

Default: false
required boolean
Default: false
rewrite string

The text to use for interpolation for boolean values.

short string

The one-letter option name. Short flags can be passed using a single hyphen (e.g., -a) or combined with other short flags (e.g., -abc).

minLength=1maxLength=1
type enum

The type of the value.

Values: "int" "integer" "float" "float64" "double" "bool" "boolean" "string"
usage string

A one-line summary of the option.

values value[]

A predefined set of acceptable values to provide for the option.

optionsClause Record<string, object>

The set of command-line options that may be provided to the task.

runClause runItem | runItem[]

The behavior of the task.

runItem commandClause | object
setEnvironmentClause Record<string, string | null>

The environment variables to either set or unset.

stringOrArray string | string[]
subTaskClause string | object

A sub-task to run as a part of the outer task definition.

taskClause taskInclude | taskItem

The task definition.

taskInclude object
include string required

The relative file path to the yaml task definition.

taskItem object
run runItem | runItem[] required

The behavior of the task.

args Record<string, object>

The set of command-line arguments that must be provided to the task.

description string

The full description of the task. This may be a multi-line value.

finally runItem | runItem[]

The behavior of the task.

options Record<string, object>

The set of command-line options that may be provided to the task.

private boolean

Whether the task can be ran directly.

Default: false
quiet boolean

Whether to silence the text/hint before execution. Command output will still be printed.

Default: false
source string | string[]
target string | string[]
usage string

A one-line summary of the task.

tasksClause Record<string, taskInclude | taskItem>

The list of defined tasks available.

type enum

The type of the value.

value number | boolean | string

The value of an arg or option.

valueList value | value[]

A set of possible values for an arg or option.

whenClause whenItem | whenItem[]

A condition that controls whether its outer clause runs or not. Each individual item in the list of when clauses must pass for the check to be considered successful.

whenItem value | object