tur run -- Justfile-compatible task runner

tur run is a built-in Justfile task runner. Any spice that ships a Justfile can be driven by tur run without installing the upstream just binary.

Quick start

tur run              # list recipes (or run 'default' if defined)
tur run build        # run the 'build' recipe
tur run test         # run the 'test' recipe (runs 'build' dep first)
tur run tag 0.2.0    # pass an argument to a recipe

Creating a Justfile

tur run --init       # write a starter Justfile into the current directory

The generated Justfile contains the standard spice recipes: build, release, test, watch, clean, docs, fmt, check, tag, install, ci. Every new spice created with tur new also gets this template.

Listing recipes

tur run --list           # plain text
tur run --list --json    # machine-readable (editor integrations)

Flags

Flag Description
--list, -l List all recipes with doc comment and parameters
--json JSON output for --list
--dry-run Print resolved commands; do not execute them
--verbose Echo recipe metadata (start, end) to stderr
--justfile PATH Use an explicit Justfile instead of searching upward
--chdir DIR Change to DIR before running the recipe
--init Write a starter Justfile into cwd
--force Overwrite an existing Justfile (with --init)

Exit codes

Code Meaning
0 Recipe succeeded
1 Recipe ran but exited non-zero (exit code propagated)
2 CLI / parse / unsupported-feature error
127 Justfile not found

Supported Justfile subset (v0.1.0)

tur run implements a subset of the Justfile syntax compatible with upstream just 1.x. For any Justfile that uses only this subset, just <recipe> and tur run <recipe> produce identical results.

Included

Deferred (clear error with upgrade hint)

When tur run encounters an unsupported feature it prints:

tur run: unsupported Justfile feature at Justfile:14: recipe attribute [unix]
        Install `just` (https://just.systems) to run this recipe, or
        remove the [unix] attribute if the recipe is portable.

Disambiguation with tur run <file.tur>

tur run <file.tur> (with a .tur or .tur.sweet extension) uses the classic compile-and-run path. tur run build (no .tur extension) invokes the Justfile task runner.

Writing Justfiles for spices

Use only the supported subset so your spice works with both tur run and upstream just. The template from tur run --init already does this.

Shell injection

Recipe bodies are shell strings; {{ var }} substitutes without quoting. This matches upstream just behaviour. Use "{{ var }}" in the body to protect against values that contain spaces, or {{ quote(var) }} when the value cannot be wrapped in double quotes.

Dotenv loading

set dotenv-load := true

Reads a .env file from the Justfile's directory and sets environment variables (variables already in the environment win).

Compatibility table

Upstream just version Compatible
1.x (as of 2026-05) For the supported subset above

See also