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