Every project accumulates a handful of commands you have to remember: how to build, how to run the tests, how to clear the cache, how to deploy. People reach for a Makefile and then fight make's tab rules and its build-system assumptions. just is the tool that does only the good part: it's a command runner that stores named recipes in a justfile and runs them by name, with none of make's timestamp logic or arcana.
A Home for Project Commands
You write the tasks once, and everyone (including future you) runs them by name:
# justfile
build:
cd web/themes/custom/devtools_theme && npm run build
cr:
ddev drush cr
deploy: build cr
echo 'built and cache cleared'
Then just build, just cr, or just deploy - with recipe dependencies, parameters, and per-recipe shells all supported.
Why Not Make
just looks like make but isn't a build system: no implicit rules, no trouble with tabs, no confusion about phony targets. It's purpose-built for "save and run commands," which is what most people were using make for anyway.
Rough Edges and Limitations
- It runs commands, it doesn't build. For real dependency-graph builds, an actual build tool fits better.
- Another binary to install. Contributors need just present to run the recipes.
- Syntax is its own. Similar to make but not identical - a small thing to learn.
For collecting a project's incantations into one discoverable place, just is the simplest thing that works.
Internal link suggestion: link "how to deploy" to the mise post, which also does task running alongside version management.