Just Command Runner

The Just task runner is a handy command runner or “task runner” written in Rust that helps organize and execute project-specific commands. It works similarly to Make, but is designed to be simpler and more ergonomic. Here’s a brief overview:

Key Features

Command Simplification: Just allows you to define and document tasks (or commands) in a justfile. These tasks can range from simple shell commands to complex scripts, making it easy to automate repetitive actions.

Cross-Shell Compatibility: Commands can be written in any shell, making it flexible to work across different environments.

Recipes: Tasks in a justfile are called recipes. Each recipe is a command or series of commands that you define and can run quickly.

Variables and Functions: You can define variables and simple functions within the justfile, making it more versatile for tasks requiring dynamic values.

Arguments: Recipes can accept arguments, allowing you to pass in values when running commands, making them customizable.

Dry Run & Verbose Modes: You can run tasks in a dry-run mode (–dry-run) to see what will happen before executing, or in a verbose mode (–verbose) for more detailed output.

Example justfile

# Define a simple recipe
build:
    echo "Building project..."

# A recipe with an argument
test test_type:
    echo "Running tests of type {{test_type}}..."

# Recipe depending on another recipe
deploy: build
    echo "Deploying project..."

Running Tasks

Run the build task: just build

Run the test task with an argument: just test unit

Chain tasks: just deploy

Benefits

  • Simple syntax for defining tasks
  • Cross-platform compatibility
  • Supports command chaining and dependencies between tasks

In short, Just helps streamline task management in projects, allowing developers to automate frequently used commands easily.

Read more