
Task
Task runner and build tool that reads tasks from a YAML Taskfile, a simpler cross-platform alternative to Make.
Task is a task runner and build tool written in Go. Tasks are defined in a Taskfile.yml in the project root and run with task <name>, which makes it a simpler alternative to Make for scripting builds, tests and other repeatable project commands.
Each task lists the commands to run in cmds, and can declare dependencies with deps, which run before the task and in parallel with each other. Variables and environment variables can be set globally or per task, and other Taskfiles can be included to split up large projects. Running task --list shows tasks that have descriptions.
Task can skip work that is already done. With sources and generates, it compares file checksums or timestamps and only runs a task when its inputs changed. A status block can also mark a task as up to date. Watch mode (--watch) reruns a task when its source files change.
It ships as a single binary and runs on Linux, macOS and Windows. Commands are run through a built-in shell interpreter, so the same Taskfile works without bash on Windows. Full documentation, including the Taskfile schema, is at taskfile.dev.
Alternatives & related tools
kubectx
CLI tools to quickly switch between Kubernetes contexts and namespaces with fuzzy search support
ipatool
CLI for searching the App Store for iOS, iPadOS, tvOS, visionOS and macOS apps and downloading .ipa or macOS .pkg packages.
VHS
Generate terminal GIFs from code scripts for testing and demonstrating CLI tools
Terragrunt
Orchestration tool for OpenTofu/Terraform infrastructure code, used to scale and manage Infrastructure as Code across many modules and environments.
reviewdog
Parses linter output and posts findings in changed lines as review comments on GitHub, GitLab, and Bitbucket, or filters lint results by diff locally.
add a badge to your README
Maintain Task? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/go-task?utm_source=badge)<a href="https://www.trmn.sh/tools/go-task?utm_source=badge"><img src="https://www.trmn.sh/badge/go-task.svg" alt="Featured on trmn" height="20"></a>