just is a handy way to save and run project-specific commands.
This readme is also available as a book;
Commands, called recipes, are stored in a file called
justfile with syntax inspired by
You can then run them with
$ 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
justis a command runner, not a build system, so it avoids much of
make’s complexity and idiosyncrasies. No need for
Linux, MacOS, and Windows 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.
Wherever possible, errors are resolved statically. Unknown recipes and circular dependencies are reported before anything runs.
.envfiles, 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 NodeJS.
justcan be invoked from any subdirectory, not just the directory that contains the
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!