just is a handy command runner for saving and running project-specific commands...
just is a command runner that lets you save and run project-specific commands (called recipes) in a justfile. It's similar to make but focused purely on running commands, not building software.
This skill includes the complete official documentation from the just repository:
# This is a comment
variable := "value"
# Recipe with no dependencies
recipe-name:
echo "Running recipe"
# Recipe with dependencies
build: clean compile
echo "Build complete"
# Recipe with parameters
greet name:
echo "Hello, {{name}}!"
# Recipe with default parameter
serve port="8080":
python -m http.server {{port}}
just # Run default recipe (first in file)
just recipe-name # Run specific recipe
just recipe arg1 arg2 # Run recipe with arguments
just --list # List available recipes
just --show recipe # Show recipe source
just --dry-run recipe # Show what would run without executing
just --choose # Interactive recipe selection (requires fzf)
:={{variable}} in recipes.env filesif expressions and functions_ to hide from listing# comment above recipes# Load .env file
set dotenv-load
# Use different shell
set shell := ["bash", "-c"]
# Export all variables as environment variables
set export
# Allow recipes with same name as built-in functions
set allow-duplicate-recipes
# Fail immediately on error
set shell := ["bash", "-uc"]
# Path functions
home_dir := home_directory()
current := justfile_directory()
parent := parent_directory(current)
# String functions
upper := uppercase("hello")
lower := lowercase("HELLO")
replaced := replace("hello", "l", "x")
trimmed := trim(" spaces ")
# Environment
value := env_var("HOME")
value_or_default := env_var_or_default("VAR", "default")
# OS detection
os := os()
arch := arch()
# Conditionals
result := if os() == "linux" { "Linux" } else { "Other" }
# Python recipe
python-example:
#!/usr/bin/env python3
import sys
print(f"Python version: {sys.version}")
# Node.js recipe
node-example:
#!/usr/bin/env node
console.log("Hello from Node!");
# Bash with strict mode
bash-example:
#!/usr/bin/env bash
set -euxo pipefail
echo "Strict bash mode"
When the user asks to:
_ to make them private (hidden from just --list)@ at start of line to suppress command echoing- at start of line to continue on errorjust --fmt to format your justfile