mcpField
C
configure-justfile

configure-justfile

github.com/laurigatesDevelopment5953 installsUpdated 1d ago
Repository

About configure-justfile

configure-justfile is a project skill for developers and coding agents that checks and configures Justfiles against project conventions. It can create or update recipes and settings, with checks tailored to detected project types.

Key features

  1. 01Detects project type and task files
  2. 02Audits required and optional recipes
  3. 03Checks Justfile settings and comments
  4. 04Creates or updates recipes
  5. 05Supports Makefile migration
  6. 06Offers check-only and automatic fixes

Use cases

  1. 01Create a Justfile for a new project
  2. 02Audit recipes against team conventions
  3. 03Migrate task definitions from Makefile
  4. 04Check task-runner compliance in CI

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-justfile

After installing, type/configure-justfilein Claude Code to confirm it loaded.

Details

From the project README

/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 projectProject already uses Make exclusively and migration is not desired — use /configure:makefile
Auditing existing Justfile for missing standard recipesWriting complex custom recipes — use justfile-expert skill
Migrating from Makefile to JustfileProject 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 runnersOnly 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
  1. Check for justfile or Justfile in project root
  2. If exists, read and analyze current recipes and settings
  3. Detect project type from file indicators:
IndicatorProject Type
pyproject.toml or requirements.txtPython
package.jsonNode.js
Cargo.tomlRust
go.modGo
None of the aboveGeneric
Step 2: Analyze required and optional recipes

Check for required recipes:

RecipePurposeSeverity
defaultAlias to help (first recipe)FAIL if missing
helpDisplay available recipesFAIL if missing
testRun test suiteFAIL if missing
lintRun lintersFAIL if missing
buildBuild project artifactsWARN if missing
cleanRemove temporary filesWARN if missing

Check for context-dependent recipes:

RecipeWhen RequiredSeverity
formatIf project uses auto-formattersWARN
startIf project has runnable serviceINFO
stopIf project has background serviceINFO
devIf project supports watch modeINFO
Step 3: Check compliance settings

Validate Justfile settings:

CheckStandardSeverity
File existsjustfile presentFAIL if missing
Default recipeFirst recipe is defaultWARN if missing
Dotenv loadingset dotenv-load presentINFO
Help recipeLists all recipesFAIL if missing
Language-specificCommands match project typeFAIL if mismatched
Recipe commentsRecipes have descriptionsINFO
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:

  1. Missing Justfile: Create from standard template based on project type
  2. Missing recipes: Add recipes with appropriate commands
  3. Missing settings: Add set dotenv-load if .env exists
  4. 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:

  1. Detect project type from Makefile commands
  2. Suggest creating Justfile with equivalent recipes
  3. Optionally keep Makefile for backwards compatibility

Agentic Optimizations

ContextCommand
Quick compliance check/configure:justfile --check-only
Auto-fix all issues/configure:justfile --fix
List existing recipesjust --list
Verify specific recipe existsjust --summary
Check Justfile syntaxjust --evaluate 2>&1

Flags

FlagDescription
--check-onlyReport status without offering fixes
--fixApply 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

Comments

Markdown supported