id = "go-task" name = "Task" homepage = "https://taskfile.dev/" description = "A fast, cross-platform build tool inspired by Make, designed for modern workflows." executables = ["task"] [dotfiles] # The official Task changelog documents global config files at # $XDG_CONFIG_HOME/task/taskrc.yml and $HOME/.taskrc.yml. The former is the # named configHome root; the latter is a legacy home file. # https://github.com/go-task/task/blob/main/CHANGELOG.md paths = ["[configHome]/task/taskrc.yml", "~/.taskrc.yml"] secret = [] [commands] format = 1 label = "Run Taskfile tasks" description = "Run, list or preview tasks defined in a Taskfile. Remote Taskfile, experiment and output-group options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.source]] id = "flags" kind = "manual" url = "https://github.com/go-task/task/blob/main/internal/flags/flags.go" revision = "2026-10-27" evidence = "--list, -l Lists tasks with description of current Taskfile.\n--list-all, -a Lists tasks with or without a description.\n--dry, -n Compiles and prints tasks in the order that they would be run, without executing them.\n--force, -f Forces execution of the directly called task.\n--watch, -w Enables watch of the given task.\n--parallel, -p Executes tasks provided on command line in parallel.\n--dir, -d Sets the directory in which Task will execute and look for a Taskfile.\n--taskfile, -t Choose which Taskfile to run. Defaults to \"Taskfile.yml\".\n--summary Show summary about a task.\n--verbose, -v Enables verbose mode.\n--silent, -s Disables echoing.\n--yes, -y Assume \"yes\" as answer to all prompts.\n--output, -o Sets output style: [interleaved|group|prefixed].\n--concurrency, -C Limit number of tasks to run concurrently.\n--init, -i Creates a new Taskfile.yml in the current folder." [[commands.field]] id = "tasks" label = "Tasks" description = "Task names to run; leave empty for the default task. Variables (NAME=value) can be typed in as well." type = "string" position = 0 multiple = true sources = ["flags"] [[commands.field]] id = "list" label = "List tasks" description = "List tasks with a description instead of running." type = "boolean" option = ["--list", "-l"] sources = ["flags"] [[commands.field]] id = "list_all" label = "List all tasks" type = "boolean" option = ["--list-all", "-a"] sources = ["flags"] [[commands.field]] id = "dry" label = "Dry run" description = "Print the tasks in the order they would run, without executing them." type = "boolean" option = ["--dry", "-n"] sources = ["flags"] [[commands.field]] id = "force" label = "Force" description = "Run the called task even if it is up to date." type = "boolean" option = ["--force", "-f"] effect = "exec" sources = ["flags"] [[commands.field]] id = "watch" label = "Watch" type = "boolean" option = ["--watch", "-w"] sources = ["flags"] [[commands.field]] id = "parallel" label = "Parallel" description = "Run the listed tasks in parallel." type = "boolean" option = ["--parallel", "-p"] sources = ["flags"] [[commands.field]] id = "summary" label = "Summary" description = "Show a summary of the task." type = "boolean" option = ["--summary"] sources = ["flags"] [[commands.field]] id = "dir" label = "Directory" type = "path" option = ["--dir", "-d"] path = { kind = "directory", role = "input" } sources = ["flags"] [[commands.field]] id = "taskfile" label = "Taskfile" description = "Defaults to Taskfile.yml." type = "path" option = ["--taskfile", "-t"] path = { kind = "file", role = "input" } sources = ["flags"] [[commands.field]] id = "output" label = "Output style" type = "string" option = ["--output", "-o"] suggestions = [{ value = "interleaved", label = "interleaved" }, { value = "group", label = "group" }, { value = "prefixed", label = "prefixed" }] sources = ["flags"] [[commands.field]] id = "concurrency" label = "Concurrency" type = "integer" option = ["--concurrency", "-C"] sources = ["flags"] [[commands.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["--verbose", "-v"] sources = ["flags"] [[commands.field]] id = "silent" label = "Silent" type = "boolean" option = ["--silent", "-s"] sources = ["flags"] [[commands.field]] id = "yes" label = "Assume yes" type = "boolean" option = ["--yes", "-y"] sources = ["flags"] [[commands.field]] id = "init" label = "Create Taskfile" description = "Create a new Taskfile.yml here." type = "boolean" option = ["--init", "-i"] effect = "overwrite" sources = ["flags"] [[commands.task]] id = "run" label = "Run tasks" fields = ["tasks", "dry", "force", "parallel", "watch"] required = [] [[commands.task]] id = "list" label = "List tasks" fields = ["list", "taskfile", "dir"] required = [] set = { list = [true] } [[commands.task]] id = "preview" label = "Preview a task" fields = ["tasks", "dry"] required = ["tasks"] set = { dry = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["tasks", "list", "dry", "force", "watch", "parallel"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["summary", "dir", "taskfile", "output", "concurrency", "verbose", "silent", "yes", "init", "list_all"]