Skip to content

CLI Options

jake [OPTIONS] [RECIPE] [ARGS...]
ArgumentDescription
RECIPERecipe to run (default: first recipe or @default)
ARGSRecipe parameters (name=value or positional) and args

Flags may appear anywhere on the command line — before or after the recipe name, interspersed with recipe arguments (clap-style). jake build -v, jake -v build, and jake build arg -v are all equivalent.

  • The first bare token is the recipe; later bare tokens are its arguments.
  • -- stops flag parsing: everything after it is forwarded to the recipe literally (jake run -- --port 8080).
  • An unknown flag before the recipe is an error; an unknown flag after the recipe is forwarded to the recipe as an argument.
  • -s/--show is recipe-derived: jake --show build, jake -s build, and jake build --show all show build.
OptionShortDescription
--help-hShow help message
--version-VShow version
--list-lList available recipes
--all-aShow all recipes including hidden
--dry-run-nPrint commands without executing
--verbose-vShow verbose output
--yes-yAuto-confirm all @confirm prompts
--jakefile PATH-fUse specified Jakefile
--watch [PATTERN]-wWatch and re-run on changes
--jobs [N]-jParallel jobs (default: CPU count)
--show [RECIPE]-sShow recipe details (defaults to the recipe on the line)
--summaryPrint recipe names for scripts
--shortOutput one recipe name per line
--jsonEmit JSON for listing-style output
--group GROUPFilter recipes to a specific group
--filter PATTERNFilter recipe names by glob pattern
--type TYPEFilter recipes by type (task, file, simple, external)
--groupsList available group names
--webStart web UI server
--port PORTWeb UI port (default: 8420)
--external [TYPE]Show external recipes (make/just)
--no-externalHide external recipes from listing
--completions [SHELL]Print shell completion script
--installInstall shell completions
--uninstallRemove shell completions
--fmtFormat Jakefile
--checkValidate formatting (requires --fmt)
--dumpPrint formatted Jakefile (requires --fmt)
Terminal window
# Run default recipe
jake
# Run specific recipe
jake build
# List all recipes including hidden
jake --list --all
# Run with verbose output
jake test --verbose
# Pass parameters
jake deploy env=production
# Run with 4 parallel jobs
jake -j4 all
# Watch and rebuild
jake -w build
# Dry-run (show what would execute)
jake -n deploy
# Use different Jakefile
jake -f build.jake test
# Auto-confirm prompts
jake -y deploy
# Machine-readable output
jake --summary
jake --list --short
jake --json
jake --summary --json
jake --groups --json
# Filter listings
jake --group dev --list --short
jake --filter "build*" --summary
jake --type file --summary
jake --groups
# Validate formatting
jake --fmt --check -f build.jake
# Start web UI
jake --web
jake --web --port 9000
jake --web --verbose
jake --web -j4
# List external build system recipes
jake --external
jake --external make
jake --external just
# Run external recipes
jake make.build
jake just.test
# External discovery follows the selected Jakefile
jake -f tools/Jakefile make.build

When -f points at a Jakefile in another directory, external Makefile/Justfile discovery and delegated execution use that Jakefile’s directory as the base path.

Web UI runs inherit the CLI process’ --verbose and --jobs settings, forward browser-entered recipe params as name=value, validate @require before execution, and surface @confirm prompts back to the browser for interactive approval.

CodeMeaning
0Success
1Recipe failed
2Recipe not found
3Jakefile not found
4Parse error
VariableDescription
JAKEFILEDefault Jakefile path
JAKE_DRY_RUNEnable dry-run mode
JAKE_VERBOSEEnable verbose output
JAKE_YESAuto-confirm prompts
JAKE_JOBSDefault parallel job count
NO_COLORDisable colored output