Skip to content

Running a Single Step

Leonard Ramminger edited this page Aug 9, 2026 · 1 revision

Running a Single Step

Use -s or --step to run one step by its name field from build.lua.

beez -s compile
beez -s lint:cpp

Step name is global

The argument is the step name, not phase:scope. Step names must be unique in the registry.

step({
    name = "compile",
    phase = "build",
    scope = "default",
    run = "cmake --build build",
})
beez -s compile

What runs

Beez runs exactly that step instance:

  • Shell run string, or Lua run callback
  • With step cache and success cache (unless --no-cache or --dry-run)
  • Without running other steps in the same phase+scope

Use this for fast iteration on one step (format, lint, a single compile step, etc.).

Unknown step

If no step matches the name:

Error: name not found in registry

Unlike target lookup, Beez does not suggest similar names for -s.

Priority over target

If you pass both -s and a positional target:

beez build -s compile

The step runs; the build target is ignored.

Priority: --list > -s > -p > target. See CLI Overview.

Examples

beez -s compile
beez -s compile --verbose
beez -s compile --no-cache
beez -s compile --dry-run

When to use -s vs -p vs workflow

Goal Use
One known step -s <name>
All steps in a phase+scope -p phase:scope
Full pipeline beez <workflow>
Ad-hoc step chain Define a task

Next steps

Clone this wiki locally