Task: The Modern Task Runner
Skip to content

TaskThe Modern Task Runner

A fast, cross-platform build tool inspired by Make, designed for modern workflows.

Task logo

FROM ZERO TO YOUR FIRST TASK

A useful Taskfile in a few minutes

Install one binary, add readable project commands, and give everyone the same entry point—locally and in CI.

Install Task

Homebrew, winget, Scoop, npm, apt, dnf, apk, and more—every installation method lives on one page.

Taskfile.yml
version: '3'

vars:
  APP: '{{.APP | default "my-app"}}'

tasks:
  build:
    desc: Test and build {{.APP}}
    aliases: [b]
    deps: [test]
    cmds:
      - go build -o bin/{{.APP}} .

  test:
    preconditions:
      - sh: command -v go
        msg: 'Install Go to test and build this project.'
    cmds:
      - go test ./...
Terminal
$ task --list
task: Available tasks for this project:
* build:       Test and build my-app      (aliases: b)

$ task build
task: [test] go test ./...
ok      example/app     0.2s
task: [build] go build -o bin/my-app .

$ task b APP=demo
task: [test] go test ./...
ok      example/app     (cached)
task: [build] go build -o bin/demo .

FIND THE RIGHT ANSWER

Start broad or jump straight to syntax

The documentation has separate entry points for learning, exact lookup, and machine-readable access.

Task is free and open source, made possible by wonderful sponsors.

Gold Sponsors

Community Sponsors

Cloudsmith

Cloudsmith
Hosts the deb and rpm package registries for free