The just CLI is a rust-based make clone concentrating on running tasks, similar to its ruby counterpart rake and its python counterpart snakemake. For my day-to-day use, I prefer just because of its speed and simplicity – especially in comparison to make, setting up a new justfile in a project comes easy and it’s hard to make mistakes.

Recently, I found out that just supports modules. My main use-case for this is to have a “root” justfile in a monorepo that contains all the tasks for the project.

For example, think about a monorepo containing a terraform folder with modules for prod and dev environments and a services folder which in turn contains submodules containing code for microservices and a webserver application. Spinning up a dev server for one of the microservices or applying new env var values on the prod environment can be done with a single just command from the root directory.

The only caveat I’ve found so far is that to list all recipes from included modules, you need to add the flag --list-submodules in addition to the -l option. This is true even if the default target is just -l!

Of course, it’s easy to circumvent this by using just -l --list-submodules as the default target but I’m not sure whether there are valid cases where the default target should be something else.