install
source · Clone the upstream repo
git clone https://github.com/casey/just
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/casey/just "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/just" ~/.claude/skills/casey-just-just && rm -rf "$T"
manifest:
skills/just/SKILL.mdsource content
Just
Discovery
Print justfilejust --dump
Print variable valuesjust --evaluate
Print detailed command-line syntax helpjust --help
Print recipes with descriptionsjust --list
Print recipe sourcejust --show <RECIPE>
Print recipes without descriptiosnjust --summary
Execution
Run default recipejust
Run specific recipejust <RECIPE>
Run recipe with argumentsjust <RECIPE> <ARG1> <ARG2
Syntax
executable := 'main' # compile main.c compile: cc main.c -o {{ executable }} # run main run: compile ./{{ executable }} # run test test name: compile ./bin/test {{ name }} # start webserver serve port='8080': python -m http.server {{port}} # publish current tag publish: #!/usr/bin/env bash set -euxo pipefail tag=`git describe --tags --exact-match` ./bin/check-tag $tag git push origin $tag
Notes
The comment proceeding a recipe is used as its doc-comment, and included in
just --list.
By default, each line of a recipe runs in a fresh shell. Recipes whose bodies start with
#! are written to a file and executed as a script.
Commonly used commands and scripts should be turned into
just recipes.