Claude-skill-registry just
Just command runner for saving and running project-specific commands
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/just" ~/.claude/skills/majiayu000-claude-skill-registry-just && rm -rf "$T"
skills/data/just/SKILL.mdJust 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
recipesjustfile - 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:
recipe-name: echo 'This is a recipe!' # Silent recipe (@ suppresses echo) silent-recipe: @echo 'This runs quietly'
Recipe with Parameters:
build target='all': @echo 'Building {{target}}…' # Variadic parameters test *files: pytest {{files}}
Recipe with Dependencies:
build: cc main.c -o main test: build ./test --all
Shebang Recipes (multi-language support):
python: #!/usr/bin/env python3 print('Hello from Python!') node: #!/usr/bin/env node console.log('Hello from Node!');
Variables and Expressions:
compiler := 'gcc' flags := '-Wall -O2' build: {{compiler}} {{flags}} main.c -o main
Common Commands
— Run default recipejust
— Run specific recipejust RECIPE
— List all recipesjust --list
— Display recipe definitionjust --show RECIPE
— Interactive recipe selector (requires fzf)just --choose
— Format justfilejust --fmt
— Output formatted justfilejust --dump
Example Code Patterns
Example 1 (basic justfile):
# 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):
# 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):
# 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
files with.envset 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
declarations needed.PHONY - 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
files.env - 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
(uses fzf)--choose - Recipe attributes:
,[default]
,[private]
, platform-specific[confirm]
Installation
Cargo (Rust):
cargo install just
Homebrew (macOS/Linux):
brew install just
Pre-built binaries:
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:
# Set default shell (Unix-like) set shell := ["bash", "-uc"] # Windows PowerShell set windows-shell := ["powershell.exe", "-Command"]
Common Settings:
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
flag or--unstableset 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:
- Visit https://github.com/casey/just
- Check for new features in the README and changelog
- Update reference files with new content