Define and run project-specific test, build, and deployment commands from a single justfile.
Replace Makefiles with a simpler syntax that works across Linux, macOS, Windows, and BSD.
Write recipes in shell, Python, Node.js, or other languages and invoke them from any project subdirectory.
Document common team workflows in a version-controlled file so everyone runs tasks the same way.
Just is a command runner, a tool for saving and running project-specific commands. Most software projects require a collection of repetitive tasks: running tests, building the project, deploying, formatting code, cleaning up temporary files, and so on. Traditionally developers use Makefiles for this, but Make was designed as a build system and comes with a lot of quirks that get in the way when you just want a convenient shortcut for common tasks. Just works with a file called a "justfile" placed in your project directory. You define named "recipes" in that file, each one is essentially a shortcut for one or more shell commands. To run a recipe, you type "just" followed by its name. Recipes can accept command-line arguments, load environment variables from .env files, be written in alternative languages like Python or Node.js, and be invoked from any subdirectory of the project. Errors are clear and specific: if a recipe doesn't exist or there's a syntax problem, you're told before anything runs. You would use Just when you want a lightweight, consistent way to document and run the common tasks for a project, without the complexity of Makefiles, without writing custom shell scripts, and without requiring your team to remember long command sequences. It's especially popular in Rust projects but is language-agnostic. The tool itself is written in Rust and compiles to a single self-contained binary with no external dependencies. It runs on Linux, macOS, Windows, and the BSDs. You can install it via Cargo (Rust's package manager), Homebrew, npm, pip, or most other major package managers.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.