configure-justfile について
configure-justfileは、プロジェクト規約に沿ってJustfileを検査・設定する、開発者やコーディングエージェント向けのスキルです。検出したプロジェクト種別に応じて、レシピや設定を作成・更新できます。
主な機能
- 01プロジェクト種別とタスクファイルの検出
- 02必須・任意レシピの監査
- 03Justfile設定とコメントの確認
- 04レシピの作成・更新
- 05Makefileからの移行に対応
- 06検査のみと自動修正に対応
活用シーン
- 01新規プロジェクト用のJustfile作成
- 02チーム規約に沿ったレシピの監査
- 03Makefileからタスク定義を移行
- 04CIでタスクランナーの準拠を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-justfileインストール後、Claude Code で/configure-justfileを入力して読み込まれたか確認します。
詳細
/configure:justfile
プロジェクトの標準に照らして Justfile を確認し、設定します。
このスキルを使用するタイミング
| 次のような場合にこのスキルを使用します… | 次のような場合は別の方法を使用します… |
|---|---|
| プロジェクト用に新しい Justfile を設定する | プロジェクトで Make のみを使用しており、移行を希望しない場合 — /configure:makefile を使用します |
| 既存の Justfile に標準レシピが不足していないか監査する | 複雑なカスタムレシピを作成する場合 — justfile-expert スキルを使用します |
| Makefile から Justfile に移行する | プロジェクトにタスクランナーが不要な場合(単一ファイルのスクリプト) |
| Justfile がチームの規約(グループ、コメント、設定)に従っているか確認する | 特定のレシピの失敗をデバッグする場合 — just コマンドを直接使用します |
| プロジェクトのタスクランナーに対して CI/CD 準拠チェックを実行する | 使用可能なレシピの一覧だけが必要な場合 — just --list を直接実行します |
コンテキスト
- プロジェクトルート: !
pwd - Justfile: !
find . -maxdepth 1 \( -name 'justfile' -o -name 'Justfile' \) - Makefile: !
find . -maxdepth 1 -name 'Makefile' - パッケージファイル: !
find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' -o -name 'go.mod' \) - Docker ファイル: !
find . -maxdepth 1 \( -name 'Dockerfile' -o -name 'docker-compose.yml' \) - Env ファイル: !
find . -maxdepth 1 -name '.env' - プロジェクト標準: !
find . -maxdepth 1 -name '.project-standards.yaml'
パラメーター
コマンド引数から解析します。
--check-only: 変更を加えず、準拠状況を報告します(CI/CD モード)--fix: 確認を求めず、自動的に修正を適用します
実行
この Justfile 準拠チェックを実行します。
ステップ 1: Justfile とプロジェクトの種類を検出する
- プロジェクトルートに
justfileまたはJustfileがあるか確認します - 存在する場合は、現在のレシピと設定を読み取り、分析します
- ファイルの有無からプロジェクトの種類を検出します。
| 指標 | プロジェクトの種類 |
|---|---|
pyproject.toml または requirements.txt | Python |
package.json | Node.js |
Cargo.toml | Rust |
go.mod | Go |
| 上記のいずれもなし | 汎用 |
ステップ 2: 必須および任意のレシピを分析する
必須レシピを確認します。
| レシピ | 目的 | 重大度 |
|---|---|---|
default | help のエイリアス(最初のレシピ) | 欠落時は FAIL |
help | 使用可能なレシピを表示する | 欠落時は FAIL |
test | テストスイートを実行する | 欠落時は FAIL |
lint | リンターを実行する | 欠落時は FAIL |
build | プロジェクト成果物をビルドする | 欠落時は WARN |
clean | 一時ファイルを削除する | 欠落時は WARN |
コンテキストに応じたレシピを確認します。
| レシピ | 必要となる条件 | 重大度 |
|---|---|---|
format | プロジェクトで自動フォーマッターを使用している場合 | WARN |
start | プロジェクトに実行可能なサービスがある場合 | INFO |
stop | プロジェクトにバックグラウンドサービスがある場合 | INFO |
dev | プロジェクトがウォッチモードに対応している場合 | INFO |
ステップ 3: 準拠設定を確認する
Justfile の設定を検証します。
| 確認項目 | 標準 | 重大度 |
|---|---|---|
| ファイルの存在 | justfile が存在する | 欠落時は FAIL |
| デフォルトレシピ | 最初のレシピが default である | 欠落時は WARN |
| dotenv の読み込み | set dotenv-load がある | 欠落時は INFO |
| help レシピ | すべてのレシピを一覧表示する | 欠落時は FAIL |
| 言語固有の設定 | コマンドがプロジェクトの種類に一致する | 不一致時は FAIL |
| レシピのコメント | レシピに説明がある | 欠落時は INFO |
ステップ 4: 準拠レポートを生成する
書式設定された準拠レポートを出力します。
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
--check-only の場合は、ここで終了します。
ステップ 5: Justfile を作成または更新する(--fix またはユーザーの確認がある場合)
--fix フラグが指定されている場合、またはユーザーが確認した場合:
- Justfile がない場合: プロジェクトの種類に応じた標準テンプレートから作成します
- レシピが不足している場合: 適切なコマンドを含むレシピを追加します
- 設定が不足している場合:
.envが存在すればset dotenv-loadを追加します - help がない場合:
just --listを使った help レシピを追加します
以下のテンプレートセクションに記載された、言語固有のコマンドを使用します。
ステップ 6: 標準の追跡情報を更新する
.project-standards.yaml を更新します。
components:
justfile: "2025.1"
Justfile テンプレート
共通構造
# 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}}
言語別コマンド
Python(uv ベース):
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 ベース):
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
検出ロジック
サービスの検出(起動/停止が必要):
docker-compose.ymlがある場合 -> Docker Compose サービスDockerfileと HTTP サーバーコードがある場合 -> コンテナサービスsrc/server.*またはsrc/main.*がある場合 -> アプリケーションサービス
開発モードの検出:
- Python:FastAPI/Flask/Django がある場合 -> reload に対応した uvicorn/flask/manage.py
- Node:package.json に
devスクリプトがある場合 - Rust:依存関係に
cargo-watchがある場合 - Go:
air.tomlまたはmain.goがある場合
Makefile からの移行
Makefile があり、Justfile がない場合:
- Makefile のコマンドからプロジェクトの種類を検出します
- 同等のレシピを含む Justfile の作成を提案します
- 必要に応じて、後方互換性のために Makefile を残します
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| コンプライアンスをすばやく確認 | /configure:justfile --check-only |
| すべての問題を自動修正 | /configure:justfile --fix |
| 既存のレシピを一覧表示 | just --list |
| 特定のレシピがあるか確認 | just --summary |
| Justfile の構文を確認 | just --evaluate 2>&1 |
フラグ
| フラグ | 説明 |
|---|---|
--check-only | 修正を提案せずにステータスを報告します |
--fix | 修正を自動的に適用します |
例
# 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
関連項目
/configure:makefile- Makefile の設定(レガシー)/configure:all- すべてのコンプライアンスチェックを実行/configure:workflows- GitHub Actions ワークフロー/configure:dockerfile- Docker の設定justfile-expertスキル - Just に関する包括的な専門知識
コメント
Markdown 対応