justfile

📁 mizchi/justfile 📅 Jan 29, 2026
1
总安装量
1
周安装量
#47750
全站排名
安装命令
npx skills add https://github.com/mizchi/justfile --skill justfile

Agent 安装分布

mcpjam 1
claude-code 1
kilo 1
junie 1
zencoder 1

Skill 文档

justfile Skill

just is a command runner for project-specific commands. Similar to Make but simpler.

Basic Syntax

# Default recipe (runs when just is called without arguments)
default:
  @echo "Available: just --list"

# Basic recipe
build:
  cargo build --release

# Dependencies
test: build
  cargo test

# Arguments
greet name:
  echo "Hello, {{name}}!"

# Default arguments
serve port="8080":
  python -m http.server {{port}}

# Variadic arguments
run *args:
  cargo run -- {{args}}

Variables

# String
version := "1.0.0"

# Shell command result
git_hash := `git rev-parse --short HEAD`

# Environment variable with default
home := env_var_or_default("HOME", "/tmp")

# Usage
info:
  echo "Version: {{version}}, Hash: {{git_hash}}"

Settings

# Shell
set shell := ["bash", "-cu"]

# Load .env
set dotenv-load

# Continue on error
set ignore-errors

# Suppress command echo
set quiet

# Working directory
set working-directory := "subdir"

Conditionals

# OS detection
install:
  {{if os() == "macos" { "brew install foo" } else { "apt install foo" }}}

# Architecture detection
build:
  {{if arch() == "aarch64" { "make arm" } else { "make x86" }}}

Built-in Functions

Function Description
os() OS name (linux, macos, windows)
arch() Architecture (x86_64, aarch64)
env_var("NAME") Get environment variable
justfile_directory() Directory containing justfile
invocation_directory() Directory where just was invoked

Common Commands

just              # Run default recipe
just recipe       # Run specific recipe
just recipe arg   # Run with arguments
just --list       # List recipes
just --dry-run    # Show without running
just --choose     # Select with fzf
just --fmt        # Format justfile

GitHub Actions

Use extractions/setup-just@v3. See assets/gh_action_example.yaml for full example.

steps:
  - uses: actions/checkout@v4

  - uses: extractions/setup-just@v3
    # with:
    #   just-version: '1.40.0'  # Optional version

  - run: just build
  - run: just test

Practical Example

set dotenv-load
set shell := ["bash", "-cu"]

default:
  @just --list

# Dev server
dev:
  npm run dev

# Build
build:
  npm run build

# Test
test *args:
  npm test {{args}}

# Lint + format
check:
  npm run lint
  npm run format:check

# CI (called from GitHub Actions)
ci: check build test

# Release
release version:
  git tag -a v{{version}} -m "Release v{{version}}"
  git push origin v{{version}}

# Cleanup
clean:
  rm -rf dist node_modules

References