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.
Instalación lista para agent
Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.
npx -y tokrepo@latest install d3b6480b-35cb-11f1-9bc6-00163e2b0d79 --target codexEjecutar después de confirmar el plan con dry-run.
What it is
Just is a command runner that serves as a modern replacement for Make. You write recipes in a Justfile with a simple syntax, and run them with just recipe-name. Unlike Make, Just has no file-dependency system -- it focuses purely on running commands with a clean, predictable syntax.
Just targets developers who use Makefiles as command shortcuts rather than build systems. It eliminates Make's quirks (tabs vs spaces, implicit rules, shell differences) and adds features like arguments, variables, and recipe dependencies.
How it saves time or tokens
Just reduces project onboarding time. New team members run just --list to see all available commands. Each recipe has a description and a clear invocation pattern. No more reading through a 200-line Makefile to find the deploy command.
For AI agents, Justfiles are easier to parse and generate than Makefiles because the syntax is simpler and more consistent.
How to use
- Install Just:
brew install just # macOS
cargo install just # Rust
scoop install just # Windows
- Create a Justfile in your project root:
# Start development server
dev:
npm run dev
# Run tests with optional filter
test filter='':
go test ./... -run '{{filter}}'
# Deploy to production
deploy: test
bash deploy.sh production
# Format and lint
check:
go fmt ./...
golangci-lint run
- Run recipes:
just dev
just test MyFunction
just deploy
just --list
Example
# Justfile with variables, arguments, and conditionals
project := 'myapp'
env := env_var_or_default('ENV', 'development')
# Build the project
build target='all':
@echo 'Building {{project}} ({{target}}) for {{env}}'
go build -o bin/{{project}} ./cmd/{{target}}
# Run database migrations
migrate direction='up':
goose -dir migrations {{direction}}
# Docker build and push
docker tag='latest':
docker build -t {{project}}:{{tag}} .
docker push registry.example.com/{{project}}:{{tag}}
# Clean build artifacts
clean:
rm -rf bin/ dist/ tmp/
Related on TokRepo
- CLI and Automation Tools -- More command-line productivity tools
- AI Tools for DevOps -- Development operations and build tools
Common pitfalls
- Justfile recipes use sh by default on Unix. If you write bash-specific syntax (arrays,
[[), setset shell := ['bash', '-cu']at the top of your Justfile. - Just does not track file dependencies like Make does. If you need incremental builds, use a build tool (Go, Cargo, webpack) inside your Just recipes.
- Recipe names cannot contain hyphens in some versions. Use underscores or camelCase for recipe names.
Preguntas frecuentes
Just is command-runner-only: no file-dependency tracking, no implicit rules, no tab-sensitivity. It adds recipe arguments, environment variable support, and cross-platform compatibility. Use Make for build systems, Just for command shortcuts.
Yes. Just works on Windows, macOS, and Linux. On Windows, it uses PowerShell by default but can be configured to use cmd or bash.
Yes. Define parameters after the recipe name: `deploy env='staging':`. Run with `just deploy production`. Default values make arguments optional.
Yes. List dependencies after the recipe name and colon: `deploy: test build`. Just runs dependencies before the recipe. Dependencies only run once even if referenced multiple times.
Yes. Just is language-agnostic. Recipes are shell commands that can invoke any tool: npm, cargo, go, python, docker, or custom scripts.
Referencias (3)
- Just GitHub Repository— Just is a command runner and Makefile alternative
- Just Documentation— Cross-platform with variables, arguments, and recipe dependencies
- Just README— Simple syntax without Make's tab sensitivity and implicit rules
Relacionados en TokRepo
Discusión
Activos relacionados
WinUI 3 — Modern Native UI Framework for Windows Apps
Build polished Windows desktop applications using Microsoft's latest native UI framework with Fluent Design, XAML, and the Windows App SDK.
draw.io — Free Open-Source Diagramming Tool for Any Platform
draw.io is a free, browser-based diagramming application that supports flowcharts, UML, network diagrams, and more. Works offline as a desktop app on Windows, macOS, and Linux with no account required.
Fastlane — Automate Building and Releasing iOS and Android Apps
Fastlane is an open-source platform that simplifies iOS and Android deployment. It handles code signing, screenshots, beta distribution, and App Store releases from a single command.
D2 — Declarative Diagram Scripting Language
A modern diagram scripting language that turns text into diagrams, offering a readable syntax for architecture, flow, and sequence diagrams rendered from code.