{
  "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": {
    "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
    },
    "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."
      }
    ],
    "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"
        ]
      },
      {
        "id": "list",
        "label": "List tasks",
        "description": "List tasks with a description instead of running.",
        "type": "boolean",
        "option": [
          "--list",
          "-l"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "list_all",
        "label": "List all tasks",
        "type": "boolean",
        "option": [
          "--list-all",
          "-a"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "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"
        ]
      },
      {
        "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"
        ]
      },
      {
        "id": "watch",
        "label": "Watch",
        "type": "boolean",
        "option": [
          "--watch",
          "-w"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "parallel",
        "label": "Parallel",
        "description": "Run the listed tasks in parallel.",
        "type": "boolean",
        "option": [
          "--parallel",
          "-p"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "summary",
        "label": "Summary",
        "description": "Show a summary of the task.",
        "type": "boolean",
        "option": [
          "--summary"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "dir",
        "label": "Directory",
        "type": "path",
        "option": [
          "--dir",
          "-d"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "flags"
        ]
      },
      {
        "id": "taskfile",
        "label": "Taskfile",
        "description": "Defaults to Taskfile.yml.",
        "type": "path",
        "option": [
          "--taskfile",
          "-t"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "flags"
        ]
      },
      {
        "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"
        ]
      },
      {
        "id": "concurrency",
        "label": "Concurrency",
        "type": "integer",
        "option": [
          "--concurrency",
          "-C"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "silent",
        "label": "Silent",
        "type": "boolean",
        "option": [
          "--silent",
          "-s"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "yes",
        "label": "Assume yes",
        "type": "boolean",
        "option": [
          "--yes",
          "-y"
        ],
        "sources": [
          "flags"
        ]
      },
      {
        "id": "init",
        "label": "Create Taskfile",
        "description": "Create a new Taskfile.yml here.",
        "type": "boolean",
        "option": [
          "--init",
          "-i"
        ],
        "effect": "overwrite",
        "sources": [
          "flags"
        ]
      }
    ],
    "task": [
      {
        "id": "run",
        "label": "Run tasks",
        "fields": [
          "tasks",
          "dry",
          "force",
          "parallel",
          "watch"
        ],
        "required": []
      },
      {
        "id": "list",
        "label": "List tasks",
        "fields": [
          "list",
          "taskfile",
          "dir"
        ],
        "required": [],
        "set": {
          "list": [
            true
          ]
        }
      },
      {
        "id": "preview",
        "label": "Preview a task",
        "fields": [
          "tasks",
          "dry"
        ],
        "required": [
          "tasks"
        ],
        "set": {
          "dry": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "tasks",
          "list",
          "dry",
          "force",
          "watch",
          "parallel"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "summary",
          "dir",
          "taskfile",
          "output",
          "concurrency",
          "verbose",
          "silent",
          "yes",
          "init",
          "list_all"
        ]
      }
    ]
  }
}
