gitmyhub

just

Rust ★ 35k updated 21h ago

🤖 Just a command runner

Just is a command runner that replaces Makefiles, you define named shortcuts for your project's common tasks in a justfile, then run any of them with 'just taskname' from anywhere in the project.

Rustsetup: easycomplexity 1/5

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.

Where it fits