just
command runner similar to make but focused on running project-specific
TLDR
SYNOPSIS
just [options] [recipe] [arguments ...]
DESCRIPTION
just is a command runner similar to make but focused on running project-specific commands rather than building targets. It uses a justfile (similar to Makefile) to define recipes - named sets of commands.Recipes are defined with a name, optional parameters, and body of shell commands. Unlike make, just doesn't track file dependencies or timestamps; it simply runs the specified commands. This makes it ideal for task automation, development workflows, and project scripts.Variables can be defined and used with {{variable}} syntax. Environment variables are accessible, and recipes can export variables. Conditionals, default values, and error handling are supported.Just supports multiple shells (sh, bash, powershell, python, etc.) per recipe via shebang-like syntax. Recipes can have dependencies (other recipes to run first), and private recipes (prefixed with _) are hidden from --list.Cross-platform support means justfiles work on Linux, macOS, and Windows. The tool is fast (written in Rust) and has no dependencies.
PARAMETERS
-l, --list
List available recipes.-n, --dry-run
Print what would be executed without running.--evaluate
Evaluate and print all variables.-f, --justfile path
Use specified justfile.-d, --working-directory path
Run from specified directory.--set var value
Override variable value.--chooser program
Use program to select recipe interactively.--choose
Select recipe with chooser.-s, --show recipe
Show recipe definition.--summary
List recipes one per line.--dump
Print justfile in canonical form.--fmt
Format justfile.--check
Check justfile for errors.-q, --quiet
Suppress echoing of recipe lines.-v, --verbose
Verbose output.--color when
Color output: auto, always, never.--shell shell
Shell to use for recipes.
INSTALL
CAVEATS
Not a build system - no incremental builds or dependency tracking. Different from make syntax despite similarities. Shell differences may affect cross-platform recipes. Variable scope differs from make. Comments use # (not supported in all recipe positions).
HISTORY
just was created by Casey Rodarmor starting around 2016 as a simpler alternative to make for running commands. Frustrated with make's complexity and focus on building (rather than running), he designed just for the common use case of project-specific task running. The tool has gained popularity in the Rust community and beyond.
SEE ALSO
make(1), task(1), rake(1), npm-run-script(1)