Skip to content
Back to skills

Just

CSecurity

Just command runner for saving and running project-specific commands

  • 666 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 9, 2026
developmentpythonrustgorubyshellbashnodeexpressdockergit

Security analysis

C63/100
  • criticalPipes output to a shell interpreter
  • criticalExfiltrates credentials via HTTP — exact pattern from Snyk ToxicSkills study
  • criticalDownloads and executes remote scripts — classic supply chain attack

Pro shows the line behind each finding and how to fix it

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill just --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Just?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Just
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-just/badge)](https://www.skillsdirectory.com/skills/majiayu000-just)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: just
description: Just command runner for saving and running project-specific commands
---

# Just Command Runner Skill

Comprehensive assistance with Just, a handy command runner for saving and running project-specific commands. Just uses a `justfile` with `make`-inspired syntax but designed as a general-purpose task executor rather than a build system.

## When to Use This Skill

This skill should be triggered when:
- Creating or managing `justfile` recipes
- Setting up project task automation
- Replacing Make or shell scripts with Just
- Working with cross-platform command execution
- Organizing project-specific commands
- Implementing task dependencies and workflows

## Quick Reference

### Common Patterns

**Basic Recipe**:
```just
recipe-name:
  echo 'This is a recipe!'

# Silent recipe (@ suppresses echo)
silent-recipe:
  @echo 'This runs quietly'
```

**Recipe with Parameters**:
```just
build target='all':
  @echo 'Building {{target}}…'

# Variadic parameters
test *files:
  pytest {{files}}
```

**Recipe with Dependencies**:
```just
build:
  cc main.c -o main

test: build
  ./test --all
```

**Shebang Recipes** (multi-language support):
```just
python:
  #!/usr/bin/env python3
  print('Hello from Python!')

node:
  #!/usr/bin/env node
  console.log('Hello from Node!');
```

**Variables and Expressions**:
```just
compiler := 'gcc'
flags := '-Wall -O2'

build:
  {{compiler}} {{flags}} main.c -o main
```

### Common Commands

- `just` — Run default recipe
- `just RECIPE` — Run specific recipe
- `just --list` — List all recipes
- `just --show RECIPE` — Display recipe definition
- `just --choose` — Interactive recipe selector (requires fzf)
- `just --fmt` — Format justfile
- `just --dump` — Output formatted justfile

### Example Code Patterns

**Example 1** (basic justfile):
```just
# Default recipe runs when you type 'just'
[default]
build:
  cargo build --release

# Recipe with confirmation prompt
[confirm]
deploy:
  kubectl apply -f deployment.yaml

# Platform-specific recipes
[linux]
install:
  apt-get install my-package

[macos]
install:
  brew install my-package
```

**Example 2** (with variables and .env):
```just
# Load .env file
set dotenv-load

# Variables
app_name := env('APP_NAME', 'myapp')
version := `git describe --tags`

# Recipe using variables
build:
  docker build -t {{app_name}}:{{version}} .

# Conditional logic
deploy environment='staging':
  #!/usr/bin/env bash
  if [ "{{environment}}" = "production" ]; then
    echo "Deploying to production..."
  else
    echo "Deploying to staging..."
  fi
```

**Example 3** (modules and imports):
```just
# Import external justfile
import 'tasks/docker.just'

# Use module system
mod database 'tasks/db.just'

# Call module recipe
migrate: database::migrate
```

## Reference Files

This skill includes comprehensive documentation in `references/`:

- **just-full-reference.md** - Complete Just documentation covering all features
- **index.md** - Quick reference guide

Use `view` to read specific reference files when detailed information is needed.

## Working with This Skill

### For Beginners
Start with the basic recipe patterns above. A simple `justfile` with a few recipes is all you need to get started. Just provides helpful error messages that point to specific issues in your justfile.

### For Specific Features
- **Task Automation**: Create recipes for common project tasks
- **Cross-Platform**: Use platform-specific attributes `[linux]`, `[macos]`, `[windows]`
- **Dependencies**: Chain recipes with dependency syntax `recipe: dep1 dep2`
- **Multi-Language**: Use shebang recipes for Python, Node, Ruby, etc.
- **Environment**: Load `.env` files with `set dotenv-load`

### For Code Examples
The quick reference section contains common patterns. For complete syntax and advanced features, consult the reference files.

## Key Features

### Core Strengths
- **Simpler than Make**: No `.PHONY` declarations needed
- **Cross-platform**: Linux, macOS, Windows, BSD support
- **Clear errors**: Specific error messages with source context
- **Static validation**: Unknown recipes and circular dependencies caught early
- **Auto .env loading**: Environment variables from `.env` files
- **Subdirectory execution**: Run from any subdirectory containing justfile

### Advanced Capabilities
- **50+ built-in functions**: Path manipulation, string operations, hashing, system info
- **Multi-language support**: Python, Node.js, Perl, Ruby, Nushell, and more
- **Module system**: Organize complex projects with submodules
- **Imports**: Include external justfiles
- **Interactive chooser**: Select recipes with `--choose` (uses fzf)
- **Recipe attributes**: `[default]`, `[private]`, `[confirm]`, platform-specific

## Installation

**Cargo** (Rust):
```bash
cargo install just
```

**Homebrew** (macOS/Linux):
```bash
brew install just
```

**Pre-built binaries**:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
```

**Package managers**: Available via apt, pacman, dnf, chocolatey, scoop, and 15+ others

## Configuration

**Shell Settings**:
```just
# Set default shell (Unix-like)
set shell := ["bash", "-uc"]

# Windows PowerShell
set windows-shell := ["powershell.exe", "-Command"]
```

**Common Settings**:
```just
set dotenv-load          # Auto-load .env files
set export               # Export all variables as environment vars
set positional-arguments # Pass args as positional ($1, $2, etc.)
```

## Resources

### references/
Organized documentation extracted from official Just documentation and README:
- Complete syntax reference
- All built-in functions
- Recipe attributes and features
- Examples and patterns

### scripts/
Add helper scripts here for common Just automation tasks.

### assets/
Add example justfiles or templates here.

## Editor Support

Syntax highlighting available for:
- Vim/Neovim (built-in since version 9.1.1042/0.11)
- VS Code (community extension)
- Emacs (`just-mode`)
- JetBrains IDEs
- Helix (built-in since 23.05)
- Zed, Sublime Text, Kakoune, Micro

## Notes

- Just version 1.0+ guarantees backwards compatibility
- Unstable features require `--unstable` flag or `set unstable`
- Official documentation: https://just.systems/man/en/
- Examples: https://github.com/casey/just/tree/master/examples

## Updating

To refresh this skill with updated documentation:
1. Visit https://github.com/casey/just
2. Check for new features in the README and changelog
3. Update reference files with new content

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.