just
A handy command runner that lets you save and run project-specific commands, like make but without the gotchas.
just is a command runner for saving and running project-specific commands.
It's similar to make, but focused purely on running commands rather than
building files — no arcane tab requirements, no surprising behavior, just a
clean justfile that anyone on your team can read and run.
Features
- Simple syntax —
justfilerecipes are easy to read and write, with none ofmake's footguns - Cross-platform — works on Linux, macOS, and Windows
- Parameters — recipes can accept arguments with optional defaults
- Dependencies — recipes can depend on other recipes
.envsupport — automatically loads a.envfile if present- Shell selection — choose which shell runs your recipes (bash, zsh, fish, PowerShell, etc.)
- Listing —
just --listgives a clean overview of all available recipes - Dotenv integration — load environment variables automatically from
.env
Installation
cargo install just
Or via your package manager:
# Debian / Ubuntu (Ubuntu 23.10+ / Debian 13+)
apt install just
# Fedora
dnf install just
# macOS
brew install just
# Arch Linux
pacman -S just
# Windows (scoop)
scoop install justExample justfile
# Default recipe — shown when you run `just` with no arguments
default:
just --list
# Build the project
build:
cargo build --release
# Run tests
test:
cargo nextest run
# Run tests with coverage
coverage:
cargo llvm-cov --html
# Format and lint
check:
cargo fmt --check
cargo clippy -- -D warnings
# Build and immediately run
run *args:
cargo run -- {{args}}
# Bump version and tag a release
release version:
@echo "Releasing version {{version}}"
cargo set-version {{version}}
git commit -am "chore: release v{{version}}"
git tag v{{version}}
git push --follow-tagsUsage
# List all available recipes
just --list
# Run a recipe
just build
# Run with arguments
just run --flag value
# Run from any subdirectory (searches upward for justfile)
just test
# Pass arguments to a parameterised recipe
just release 1.2.0
# Run multiple recipes in sequence
just check test buildWhy not make?
make is a build system that happens to be used as a command runner. It comes
with surprising rules around tabs vs spaces, implicit targets, and
file-modification tracking that get in the way when all you want is to run a
command. just is laser-focused on that one job and does it cleanly.