justjust is a handy way to save and run project-specific commands.
This readme is also available as a book. The book reflects the latest release, whereas the readme on GitHub reflects latest master.
(中文文档在 这里, 快看过来!)
Commands, called recipes, are stored in a file called justfile with syntax
inspired by make:

You can then run them with just RECIPE:
$ just test-all
cc *.c -o main
./test --all
Yay, all your tests passed!
just has a ton of useful features, and many improvements over make:
just is a command runner, not a build system, so it avoids much of
make's complexity and idiosyncrasies.
No need for .PHONY recipes!
Linux, macOS, Windows, and other reasonable unixes are supported with no
additional dependencies. (Although if your system doesn't have an sh,
you'll need to choose a different shell.)
Errors are specific and informative, and syntax errors are reported along with their source context.
Recipes can accept command line arguments, including flags and options.
just has a rich expression language and many
built-in-functions.
Wherever possible, errors are resolved statically. Unknown recipes and circular dependencies are reported before anything runs.
just loads .env files, making it easy to populate
environment variables.
Recipes can be listed from the command line.
Command line completion scripts are available for most popular shells.
Recipes can be written in arbitrary languages, like Python or Node.js.
just can be invoked from any subdirectory, not just the directory that
contains the justfile.
justfiles can be organized into multiple files using modules
and imports.
And much more!
If you need help with just, please feel free to open an issue or ping me on
Discord. Feature requests and bug reports are
always welcome!
Just can be installed using your favorite package manager, by
downloading pre-built binaries, or building from source
with cargo install just.
just should run on any system with a reasonable sh, including Linux, macOS,
and the BSDs.
On Windows, just works with the sh provided by
Git for Windows,
GitHub Desktop, or
Cygwin. After installation, sh must be available in
the PATH of the shell you want to invoke just from.
If you'd rather not install sh, you can use the shell setting to use the
shell of your choice.
Like PowerShell:
# use PowerShell instead of sh:
set shell := ["powershell.exe", "-c"]
hello:
Write-Host "Hello, world!"
…or cmd.exe:
# use cmd.exe instead of sh:
set shell := ["cmd.exe", "/c"]
list:
dir
You can also set the shell using command-line arguments. For example, to use
PowerShell, launch just with --shell powershell.exe --shell-arg -c.
(PowerShell is installed by default on Windows 7 SP1 and Windows Server 2008 R2
SP1 and later, and cmd.exe is quite fiddly, so PowerShell is recommended for
most Windows users.)
| Package Manager | Package | Command |
|---|---|---|
| arkade | just | arkade get just |
| asdf | just |
asdf plugin add justasdf install just <version>
|
| Cargo | just | cargo install just |
| Cargo Binstall | just | cargo binstall just |
| Conda | just | conda install -c conda-forge just |
| Homebrew | just | brew install just |
| Nix | just | nix-env -iA nixpkgs.just |
| npm | rust-just | npm install -g rust-just |
| pipx | rust-just | pipx install rust-just |
| Snap | just | snap install --edge --classic just |
| Spack | just | spack install just |
| uv | rust-just | uv tool install rust-just |
| Operating System | Package Manager | Package | Command |
|---|---|---|---|
| FreeBSD | pkg | just | pkg install just |
| OpenBSD | pkg_* | just | pkg_add just |
| Operating System | Package Manager | Package | Command |
|---|---|---|---|
| Alpine | apk-tools | just | apk add just |
| Arch | pacman | just | pacman -S just |
| Debian 13 and Ubuntu 24.04 derivatives | apt | just | apt install just |
| Fedora | DNF | just | dnf install just |
| Gentoo | Portage | dev-build/just |
emerge -av dev-build/just
|
| NixOS | Nix | just | nix-env -iA nixos.just |
| openSUSE | Zypper | just | zypper in just |
| Solus | eopkg | just | eopkg install just |
| Void | XBPS | just | xbps-install -S just |
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|