Examples
Runnable starting points you can copy into your own project. Every example is a self-contained directory (a
Runefileplus a short README) and is verified on every CI run, so it always reflects working syntax.
New to Rune? Read What is Rune? and Getting started first, then pick the example closest to your project below.
[!TIP] Want a guided walkthrough instead of a bare example? See the use-case walkthroughs for Python, Node, and AI agents (MCP) — each explains why the Runefile is written the way it is.
Basics
Section titled “Basics”| Example | What it shows |
|---|---|
| getting-started | Your first Runefile: a task, a parameter, a dependency. |
Project shapes
Section titled “Project shapes”Start here if you want a layout for a particular kind of project.
| Example | What it shows | Needs |
|---|---|---|
| go-service | Fetch → build → test → run for a Go service. | — |
| node-project | npm workflow + a JavaScript task body. | node |
| python-project | venv/pytest workflow + a Python task body. | python3 |
| monorepo | Shared tasks via import, per-service mod namespaces. |
— |
| ci-cd | A CI gate (lint/test/build) + a gated deploy + exit codes. | — |
| docker-workflow | Build/run/push lifecycle for a container image. | docker |
| polyglot | One pipeline across shell, Python, and Node. | python3, node |
| agent-driven | An AI-agent task + MCP exposure + destructive gating. | agent CLI |
Capability spotlights
Section titled “Capability spotlights”Each isolates one feature so you can see exactly how it works.
| Example | Capability |
|---|---|
| dependencies | Dependencies, post-hooks, and failure hooks. |
| parameters | Defaulted, required, and variadic parameters. |
| caching | Opt-in content-hash caching ([cache(...)]). |
| parallel | Running independent prerequisites concurrently. |
| settings-dotenv | Settings, set export, and .env loading. |
| secret-masking | Sensitive values masked as *** in all output. |
| os-filtering | Tasks restricted to a specific OS. |
How to run any example
Section titled “How to run any example”# From inside an example directory:rune --list # see its tasksrune <task> # run one
# Or point at it without changing directory:rune --file <path>/Runefile --listEach example’s README states its prerequisites (most need nothing beyond Rune) and the expected output, so you can confirm it works. Examples needing an interpreter, container runtime, or agent CLI say so up front.