The go-task tool is a great way to orchestrate builds, tests, and more. A small Taskfile is straightforward to read, but as the file grows — more targets, deeper dependency chains, tasks calling other tasks — it can become genuinely difficult to hold the whole picture in your head.
task-graph is a command-line tool that reads a Taskfile and produces a directed graph showing all of your tasks and the relationships between them. It can generate output for Graphviz (as a .dot file) or for Mermaid, and it can optionally render the graph directly to an image.

Why visualise your Taskfile?
Documentation. A rendered graph of your Taskfile makes an excellent addition to project documentation. New team members can see at a glance what tasks are available, how they relate to each other, and where to start. Include the image in your README or wiki and everyone can see how it works.
Troubleshooting. When a build misbehaves — perhaps a target runs before its prerequisites, or a dependency cycle is not obvious from reading YAML — a visual graph can surface the problem more quickly than reading through nested deps: and cmds: blocks.
Communication. If you need to explain your build process to someone who does not live in the codebase every day, a picture genuinely is worth a thousand lines of YAML.
Getting started
Install from source (requires Go 1.22 or later):
go install github.com/theunrepentantgeek/task-graph@latest
Generate a graph from your Taskfile:
task-graph Taskfile.yml --output taskfile.dot
Render it to an image with Graphviz:
dot taskfile.dot -Tpng -o taskfile.png
Or let task-graph handle the rendering for you:
task-graph Taskfile.yml --output taskfile.dot --render-image png
From here, you can explore colouring by namespace, grouping related tasks, and customising the appearance with a configuration file. See the Usage page for a walkthrough of the key features, or the Configuration page for a full reference.