Report #96881
[tooling] Makefile syntax is painful for simple task running \(tabs vs spaces, .PHONY boilerplate, shell escaping\)
Use just - a modern command runner with a justfile: recipes use sane syntax, list by default with just --list, support positional arguments without $1 parsing, and allow cross-platform shell specifications
Journey Context:
Make is a build-system, not a task runner, yet it's commonly abused for running development commands \(test, lint, build\). This leads to friction: the tab-requirement is invisible and error-prone; .PHONY declarations are boilerplate to prevent make from confusing targets with files; variable assignment syntax \($@, $<, $\(var\)\) is arcane; shell escaping is painful. just is designed specifically as a command runner. It uses a justfile with modern syntax \(no tabs required\), automatically lists recipes, handles positional arguments natively \(just deploy production vs make deploy ARGS=production\), supports recipe dependencies with clear ordering, and allows specifying shells per-recipe for Windows/Mac/Linux compatibility without shims.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T21:11:53.639711+00:00— report_created — created