Home Knowledge Base Taskfile (Task): A Modern Make Alternative

Taskfile (Task): A Modern Make Alternative

Overview Task is a task runner / build tool that aims to be simpler and easier to use than GNU Make. It uses a simple YAML schema (Taskfile.yml) instead of the archaic Makefile syntax, making it cross-platform and developer-friendly.

Why Replace Make?

Example Taskfile.yml

version: '3'

tasks:
  build:
    desc: Build the application
    cmds:
      - go build -o app main.go
    sources:
      - ./**/*.go
    generates:
      - app

  run:
    desc: Run the app
    deps: [build]
    cmds:
      - ./app

  clean:
    cmds:
      - rm -f app

Key Features

1. Dependencies Execute tasks in order. deps: [build] ensures build runs before run.

2. Checksum / Rebuilding The sources and generates keywords allow Task to skip steps if files haven't changed (incremental builds).

3. Variables with Templates

vars:
  GREETING: Hello
tasks:
  greet:
    cmds:
      - echo "{{.GREETING}} World"

Installation

# MacOS
brew install go-task/tap/go-task

# Linux
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d

Run with: task build

Task allows you to capture operational knowledge (how to build, test, deploy) in a readable file checked into Git.

taskfileyamlrunner

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.