/configure:justfile
Check and configure project Justfile against project standards.
When to Use This Skill
Use this skill when... Use another approach when...
Setting up a new Justfile for a project Project already uses Make exclusively and migration is not desired — use /configure:makefile
Auditing existing Justfile for missing standard recipes Writing complex custom recipes — use justfile-expert skill
Migrating from Makefile to Justfile Project has no task runner needs (single-file scripts)
Ensuring Justfile follows team conventions (groups, comments, settings) Debugging a specific recipe failure — use direct just commands
Running CI/CD compliance checks on project task runners Only need to list available recipes — run just --list directly
Context
-
Project root: !pwd
-
Justfile: !find . -maxdepth 1 ( -name 'justfile' -o -name 'Justfile' )
-
Makefile: !find . -maxdepth 1 -name 'Makefile'
-
Package files: !find . -maxdepth 1 ( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'go.mod' )
-
Docker files: !find . -maxdepth 1 ( -name 'Dockerfile' -o -name 'docker-compose.yml' )
-
Env file: !find . -maxdepth 1 -name '.env'
-
Project standards: !find . -maxdepth 1 -name '.project-standards.yaml'
Parameters
Parse from command arguments:
-
--check-only : Report compliance status without modifications (CI/CD mode)
-
--fix : Apply fixes automatically without prompting
Execution
Execute this Justfile compliance check:
Step 1: Detect Justfile and project type
-
Check for justfile or Justfile in project root
-
If exists, read and analyze current recipes and settings
-
Detect project type from file indicators:
Indicator Project Type
pyproject.toml or requirements.txt
Python
package.json
Node.js
Cargo.toml
Rust
go.mod
Go
None of the above Generic
Step 2: Analyze required and optional recipes
Check for required recipes:
Recipe Purpose Severity
default
Alias to help (first recipe) FAIL if missing
help
Display available recipes FAIL if missing
test
Run test suite FAIL if missing
lint
Run linters FAIL if missing
build
Build project artifacts WARN if missing
clean
Remove temporary files WARN if missing
Check for context-dependent recipes:
Recipe When Required Severity
format
If project uses auto-formatters WARN
start
If project has runnable service INFO
stop
If project has background service INFO
dev
If project supports watch mode INFO
Step 3: Check compliance settings
Validate Justfile settings:
Check Standard Severity
File exists justfile present FAIL if missing
Default recipe First recipe is default
WARN if missing
Dotenv loading set dotenv-load present INFO
Help recipe Lists all recipes FAIL if missing
Language-specific Commands match project type FAIL if mismatched
Recipe comments Recipes have descriptions INFO
Step 4: Generate compliance report
Print a formatted compliance report:
Justfile Compliance Report
Project Type: python (detected) Justfile: Found
Recipe Status: default ✅ PASS help ✅ PASS (just --list) test ✅ PASS (uv run pytest) lint ✅ PASS (uv run ruff check) build ✅ PASS (docker build) clean ✅ PASS format ✅ PASS (uv run ruff format) start ⚠️ INFO (not applicable) stop ⚠️ INFO (not applicable) dev ✅ PASS (uv run uvicorn --reload)
Settings Status: dotenv-load ✅ PASS positional-arguments ℹ️ INFO (not set)
Missing Recipes: none Issues: 0 found
If --check-only , stop here.
Step 5: Create or update Justfile (if --fix or user confirms)
If --fix flag or user confirms:
-
Missing Justfile: Create from standard template based on project type
-
Missing recipes: Add recipes with appropriate commands
-
Missing settings: Add set dotenv-load if .env exists
-
Missing help: Add help recipe with just --list
Use language-specific commands from the template section below.
Step 6: Update standards tracking
Update .project-standards.yaml :
components: justfile: "2025.1"
Justfile Template
Universal Structure
Justfile for {{PROJECT_NAME}}
Run just or just help to see available recipes
set dotenv-load set positional-arguments
Default recipe - show help
default: @just --list
Show available recipes with descriptions
help: @just --list --unsorted
####################
Development
####################
Run linters
lint: {{LINT_COMMAND}}
Format code
format: {{FORMAT_COMMAND}}
Run tests
test *args: {{TEST_COMMAND}} {{args}}
Development mode with watch
dev: {{DEV_COMMAND}}
####################
Build & Deploy
####################
Build project
build: {{BUILD_COMMAND}}
Clean build artifacts
clean: {{CLEAN_COMMAND}}
Start service
start: {{START_COMMAND}}
Stop service
stop: {{STOP_COMMAND}}
Language-Specific Commands
Python (uv-based):
lint: uv run ruff check .
format: uv run ruff format . uv run ruff check --fix .
test *args: uv run pytest {{args}}
dev: uv run uvicorn app:app --reload
build: docker build -t {{PROJECT_NAME}} .
clean: find . -type f -name "*.pyc" -delete find . -type d -name "pycache" -exec rm -rf {} + 2>/dev/null || true rm -rf .pytest_cache .ruff_cache .coverage htmlcov dist build *.egg-info
Node.js (Bun-based):
lint: bun run lint
format: bun run format
test *args: bun test {{args}}
dev: bun run dev
build: bun run build
clean: rm -rf node_modules dist .next .turbo .cache
Rust:
lint: cargo clippy -- -D warnings
format: cargo fmt
test *args: cargo nextest run {{args}}
dev: cargo watch -x run
build: cargo build --release
clean: cargo clean
Go:
lint: golangci-lint run
format: gofmt -s -w . goimports -w .
test *args: go test ./... {{args}}
dev: air
build: go build -o bin/{{PROJECT_NAME}} ./cmd/{{PROJECT_NAME}}
clean: rm -rf bin dist go clean -cache
Detection Logic
Service detection (start/stop needed):
-
Has docker-compose.yml -> Docker Compose service
-
Has Dockerfile
- HTTP server code -> Container service
- Has src/server.* or src/main.* -> Application service
Dev mode detection:
-
Python: Has FastAPI/Flask/Django -> uvicorn/flask/manage.py with reload
-
Node: Has dev script in package.json
-
Rust: Has cargo-watch in dependencies
-
Go: Has air.toml or main.go
Migration from Makefile
If a Makefile exists but no Justfile:
-
Detect project type from Makefile commands
-
Suggest creating Justfile with equivalent recipes
-
Optionally keep Makefile for backwards compatibility
Agentic Optimizations
Context Command
Quick compliance check /configure:justfile --check-only
Auto-fix all issues /configure:justfile --fix
List existing recipes just --list
Verify specific recipe exists just --summary
Check Justfile syntax just --evaluate 2>&1
Flags
Flag Description
--check-only
Report status without offering fixes
--fix
Apply fixes automatically
Examples
Check current Justfile compliance
/configure:justfile --check-only
Create/update Justfile for Python project
/configure:justfile --fix
Check compliance and prompt for fixes
/configure:justfile
See Also
-
/configure:makefile
-
Makefile configuration (legacy)
-
/configure:all
-
Run all compliance checks
-
/configure:workflows
-
GitHub Actions workflows
-
/configure:dockerfile
-
Docker configuration
-
justfile-expert skill - Comprehensive Just expertise