Task is a simpler Make alternative written in Go

Task

Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make.

Features

  • Easy installation: just download a single binary, add to $PATH and you’re done! Or you can also install using Homebrew, Snapcraft, or Scoop if you want;

  • Available on CIs: by adding this simple command to install on your CI script and you’re done to use Task as part of your CI pipeline;

  • Truly cross-platform: while most build tools only work well on Linux or macOS, Task also supports Windows thanks to this awesome shell interpreter for Go;

  • Great for code generation: you can easily prevent a task from running if a given set of files haven’t changed since last run (based either on its timestamp or content).

Installation

If you’re on macOS or Linux and have Homebrew installed, getting Task is as simple as running:

1
$ brew install go-task/tap/go-task

Usages

Once installed, you just need to describe your build tasks using a simple YAML schema in a file called Taskfile.yml:

1
2
3
4
5
6
7
version: '3'

tasks:
hello:
cmds:
- echo 'Hello World from Task!'
silent: true

And call it by running task hello from you terminal.

The above example is just the start, you can take a look at the usage guide to check the full schema documentation and Task features.

References

[1] go-task/task: A task runner / simpler Make alternative written in Go - https://github.com/go-task/task

[2] Task - https://taskfile.dev/

[3] Make - GNU Project - Free Software Foundation - https://www.gnu.org/software/make/