Quickstart Tutorial
Write and run your first Horus workflow in YAML, from install to output, in a few minutes.
Quickstart
A workflow is a set of tasks. The simplest one has a single task that runs a shell command, so that is where we will start.
1. Write the workflow
Create a file called hello.yaml:
name: hello
kind: horus_workflow
tasks:
- id: greet
name: Greet
kind: horus_task
target: { kind: local, working_directory: "./horus-work" }
runtime:
kind: command
command: "echo 'Hello from Horus!' > $message\n"
executor:
kind: shell
outputs:
- { kind: file, id: message, path: "./horus-out/message.txt" }What each piece means:
runtimeis what to run. Here it is a shellcommand.executoris how to run it.shellruns the command in a subprocess.targetis where to run it.localruns on your machine.outputslists the files this task produces. In the command,$messageexpands to the output artifact's path, so the task writes its own output.
2. Run it
horus run hello.yamlA live dashboard takes over the terminal while the workflow runs, with a
progress bar, a task table, the dependency graph, and a log pane. The task turns
green (✓) once it completes. When the run ends the dashboard closes and leaves
a one-line summary behind.
3. Check the result
cat horus-out/message.txtHello from Horus!You described a task in YAML and Horus ran it, with live progress and the output captured on disk.
Where to go next
- Core concepts covers workflows, tasks, artifacts, and edges.
- Writing workflows in YAML has the full schema and a multi-task example with dependencies.
- Writing workflows in Python is for tasks that need real Python logic or user prompts.
- Running workflows explains the
horus runcommand and the live dashboard.