Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsApr 11, 2026·3 min de lectura

Just — A Modern Command Runner and Makefile Alternative

Just is a command runner, like Make but for modern dev workflows. Write recipes in a Justfile, run them with `just recipe-name`. Simpler syntax than Make, no obscure behaviors, cross-platform, and works great for project tasks.

Introducción

Just is a command runner, inspired by Make but built for modern developer workflows. Written in Rust by Casey Rodarmor, it offers cleaner syntax, cross-platform support, and avoids Make quirks (tab-only indentation, .PHONY gotchas, shell escaping). Perfect for project task automation.

What Just Does

  • Recipes — named task definitions in a justfile
  • Arguments — positional and named with defaults
  • Dependencies — recipes can depend on other recipes
  • Shebang recipes — run entire recipe with python/node/bash
  • String interpolation{{var}} substitution
  • Env vars — dotenv support via set dotenv-load
  • Conditionalif os == "macos" { ... }
  • Private recipes — prefix with _
  • Groups — organize recipes into groups

Architecture

Parses the justfile, builds a DAG of recipes, and runs them via the configured shell (sh by default, or any shebang). No make-style file timestamps or incremental logic — simpler and more predictable.

Self-Hosting

Single Rust binary.

Key Features

  • Modern clean syntax
  • Cross-platform (macOS, Linux, Windows)
  • Recipe arguments with defaults
  • Dependencies and groups
  • Shebang recipes for multi-language tasks
  • Env var integration
  • Nice error messages
  • just --list auto-help
  • Tab or space indentation

Comparison

Tool Language Scope Strengths
Just Rust Task runner Simple modern syntax
Make C Build + tasks Ubiquitous, incremental
Taskfile Go Task runner YAML-based
npm scripts JS Node projects Built into npm
mise tasks Rust Task runner Integrated env manager
cargo-make Rust Rust projects Rust-focused

FAQ

Q: How does it differ from Make? A: Just doesn't do incremental builds (no file-timestamp tracking) — it focuses on task running. The syntax is cleaner: no mandatory tabs, no .PHONY pitfalls. Great for project tasks, not for large C/C++ builds.

Q: Can it be used in CI? A: It's a great fit. In CI, just ci runs all checks in one line — and developers get exactly the same experience locally.

Q: Does it support include? A: Yes — import syntax (v1.14+) lets you reuse recipes.

Sources & Credits

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados