just
just - Command Runner
just is a command runner that lets you save and run project-specific commands (called recipes) in a justfile. It's similar to make but focused purely on running commands, not building software.
Documentation Files
This skill includes the complete official documentation from the just repository:
- README.md - Comprehensive documentation including installation, syntax reference, features, and examples (this is the primary reference)
- GRAMMAR.md - Formal grammar specification for justfile syntax
- CHANGELOG.md - Version history and release notes
- CONTRIBUTING.md - Contribution guidelines
- LICENSE - CC0 1.0 Universal license
- examples/ - Example justfiles for various use cases
Quick Reference
Basic Justfile Structure
# This is a comment
variable := "value"
# Recipe with no dependencies
recipe-name:
echo "Running recipe"
# Recipe with dependencies
build: clean compile
echo "Build complete"
# Recipe with parameters
greet name:
echo "Hello, {{name}}!"
# Recipe with default parameter
serve port="8080":
python -m http.server {{port}}
Running Recipes
just # Run default recipe (first in file)
just recipe-name # Run specific recipe
just recipe arg1 arg2 # Run recipe with arguments
just --list # List available recipes
just --show recipe # Show recipe source
just --dry-run recipe # Show what would run without executing
just --choose # Interactive recipe selection (requires fzf)
Key Features
- Recipe Parameters - Pass arguments to recipes
- Variables - Define and use variables with
:= - String Interpolation - Use
{{variable}}in recipes - Dotenv Support - Automatically loads
.envfiles - Shebang Recipes - Write recipes in Python, Node, Ruby, etc.
- Conditional Logic - Use
ifexpressions and functions - Dependencies - Recipes can depend on other recipes
- Private Recipes - Prefix with
_to hide from listing - Documentation - Add doc comments with
# commentabove recipes - Cross-Platform - Works on Linux, macOS, Windows, BSD
Common Settings
# Load .env file
set dotenv-load
# Use different shell
set shell := ["bash", "-c"]
# Export all variables as environment variables
set export
# Allow recipes with same name as built-in functions
set allow-duplicate-recipes
# Fail immediately on error
set shell := ["bash", "-uc"]
Built-in Functions
# Path functions
home_dir := home_directory()
current := justfile_directory()
parent := parent_directory(current)
# String functions
upper := uppercase("hello")
lower := lowercase("HELLO")
replaced := replace("hello", "l", "x")
trimmed := trim(" spaces ")
# Environment
value := env_var("HOME")
value_or_default := env_var_or_default("VAR", "default")
# OS detection
os := os()
arch := arch()
# Conditionals
result := if os() == "linux" { "Linux" } else { "Other" }
Shebang Recipes (Other Languages)
# Python recipe
python-example:
#!/usr/bin/env python3
import sys
print(f"Python version: {sys.version}")
# Node.js recipe
node-example:
#!/usr/bin/env node
console.log("Hello from Node!");
# Bash with strict mode
bash-example:
#!/usr/bin/env bash
set -euxo pipefail
echo "Strict bash mode"
Common Use Cases
When the user asks to:
- Create a justfile - Reference README.md for syntax and examples
- Add a recipe - Check README.md for recipe syntax patterns
- Use variables/interpolation - See README.md variable section
- Set up for different OS - Check cross-platform and shell settings
- Write recipes in Python/Node/etc - See shebang recipes section
- Understand grammar - Reference GRAMMAR.md for formal specification
- Check version changes - Reference CHANGELOG.md
Tips
- Start recipe names with
_to make them private (hidden fromjust --list) - Use
@at start of line to suppress command echoing - Use
-at start of line to continue on error - Recipes are run from the justfile's directory by default
- Use
just --fmtto format your justfile - Shell completion scripts are available for bash, zsh, fish, powershell, and more
Resources
- Homepage: https://just.systems/
- GitHub: https://github.com/casey/just
- Book (latest release docs): https://just.systems/man/en/
- Discord: https://discord.gg/ezYScXR
- Crates.io: https://crates.io/crates/just
More from seckatie/katies-ai-skills
jj-vcs
Jujutsu (jj) is a powerful Git-compatible version control system with innovative features like automatic rebasing, working-copy-as-a-commit, operation log with undo, and first-class conflict tracking. This skill is triggered when the user says things like "use jj", "run jj commands", "jujutsu version control", "migrate from git to jj", "jj rebase", "jj squash", "jj log", or "help with jj workflow".
36mermaid
Generate diagrams and flowcharts from mermaid definitions using the mermaid-cli (mmdc). Supports themes, custom CSS, and various output formats including SVG, PNG, and PDF. Mermaid supports 20+ diagram types including flowcharts, sequence diagrams, class diagrams, state diagrams, entity relationship diagrams, user journeys, Gantt charts, pie charts, quadrant charts, requirement diagrams, GitGraph, C4 diagrams, mindmaps, timelines, ZenUML, Sankey diagrams, XY charts, block diagrams, packet diagrams, Kanban boards, architecture diagrams, radar charts, and treemaps. This skill is triggered when the user says things like "create a diagram", "make a flowchart", "generate a sequence diagram", "create a mermaid chart", "visualize this as a diagram", "render mermaid code", or "create an architecture diagram".
10piper
Convert text to speech using Piper TTS. This skill is triggered when the user says things like "convert text to speech", "text to audio", "read this aloud", "create audio from text", "generate speech from text", "make an audio file from this text", or "use piper TTS".
10yt-dlp
Download audio and video from thousands of websites using yt-dlp. Feature-rich command-line tool supporting format selection, subtitle extraction, playlist handling, metadata embedding, and post-processing. This skill is triggered when the user says things like "download this video", "download from YouTube", "extract audio from video", "download this playlist", "get the mp3 from this video", "download subtitles", or "save this video locally".
9parakeet
Convert audio files to text using parakeet-mlx, NVIDIA's Parakeet automatic speech recognition model optimized for Apple's MLX framework. Run via uvx for on-device speech-to-text processing with high-quality timestamped transcriptions. Ideal for podcasts, interviews, meetings, and other audio content. This skill is triggered when the user says things like "transcribe this audio", "convert audio to text", "transcribe this podcast", "get text from this recording", "speech to text", or "transcribe this wav/mp3/m4a file".
8llm
Access and interact with Large Language Models from the command line using Simon Willison's llm CLI tool. Supports OpenAI, Anthropic, Gemini, Llama, and dozens of other models via plugins. Features include chat sessions, embeddings, structured data extraction with schemas, prompt templates, conversation logging, and tool use. This skill is triggered when the user says things like "run a prompt with llm", "use the llm command", "call an LLM from the command line", "set up llm API keys", "install llm plugins", "create embeddings", or "extract structured data from text".
8