mcpField
C
configure-linting

configure-linting

github.com/laurigatesテスト・品質5957 回インストール1 日前に更新
リポジトリ

configure-linting について

JavaScript/TypeScript、Python、RustプロジェクトのLint設定を確認・構成するコーディングエージェント向けスキルです。不足をレポートし、LintツールやCI連携を設定できます。

主な機能

  1. 01言語と既存Lintツールの検出
  2. 02ルール、フォーマッター、除外設定の確認
  3. 03準拠レポートと推奨事項の作成
  4. 04Lintツールとnpmスクリプトの設定
  5. 05pre-commitとCIチェックの設定
  6. 06確認のみ、自動修正、Lintツール指定

活用シーン

  1. 01新規プロジェクトのLint設定
  2. 02ESLintやFlake8からの移行
  3. 03フォーマッター、pre-commit、CI連携の確認

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/configure-lintingを入力して読み込まれたか確認します。

同梱ファイルREFERENCE.md

詳細

/configure:linting

最新のベストプラクティスに基づいて、リンティングツールを確認および設定します。

このスキルを使うタイミング

次の場合にこのスキルを使います…次の場合は別の方法を使います…
最新のリンティング(Biome、Ruff、Clippy)をセットアップするときリンターを実行するだけの場合(/lint:check スキルを使います)
ESLint/Prettier から Biome に移行するときリンターがすでに適切に設定されている場合
リンター設定を検証するとき特定の lint エラーを修正するとき(リンターを実行して修正します)
言語固有のベストプラクティスを徹底するときリンティングが不要なシンプルなスクリプトの場合
pre-commit の lint 統合を設定するときリンターの問題をデバッグするとき(リンターのログを確認します)

コンテキスト

  • プロジェクトルート:!pwd
  • Biome 設定:!find . -maxdepth 1 -name 'biome.json' -o -name 'biome.jsonc'
  • Ruff 設定:!grep -l 'tool.ruff' pyproject.toml
  • Clippy 設定:!grep -l 'lints.clippy' Cargo.toml
  • 旧式リンター:!find . -maxdepth 1 \( -name '.eslintrc*' -o -name '.flake8' -o -name '.pylintrc' \)
  • パッケージファイル:!find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' \)
  • pre-commit 設定:!find . -maxdepth 1 -name '.pre-commit-config.yaml'
  • CI ワークフロー:!find .github/workflows -maxdepth 1 -name '*.yml'

パラメーター

$ARGUMENTS から解析します:

  • --check-only:変更せずにリンティングの準拠状況を報告します
  • --fix:確認を求めず、すべての修正を自動で適用します
  • --linter <biome|ruff|clippy>:自動検出を上書きし、指定したリンターを強制的に使用します

最新のリンティングに関する推奨事項:

  • JavaScript/TypeScript:Biome(リンターとフォーマッターを統合、高速)
  • Python:Ruff(flake8、isort、pyupgrade を置き換えます)
  • Rust:ワークスペースの lint 設定を使った Clippy

実行

次のリンティング設定チェックを実行します:

ステップ 1:プロジェクトの言語と既存のリンターを検出する

上記のコンテキスト値を読み取り、次のように判定します:

指標言語検出されたリンター
biome.jsonJavaScript/TypeScriptBiome
pyproject.toml [tool.ruff]PythonRuff
.flake8PythonFlake8(旧式)
Cargo.toml [lints.clippy]RustClippy

--linter フラグが設定されている場合は、検出結果にかかわらず指定されたリンターを使います。

ステップ 2:ツールの最新バージョンを確認する

WebSearch または WebFetch を使って、現在のバージョンを確認します:

  1. Biome:biomejs.dev または GitHub releases を確認します
  2. Ruff:docs.astral.sh/ruff または GitHub releases を確認します
  3. Clippy:Rust releases を確認します
ステップ 3:現在のリンター設定を分析する

検出された各リンターについて、設定が完全かどうかを確認します:

Biome(JS/TS 向け):

  • lint ルールを含む設定ファイルがある
  • フォーマッターが設定されている
  • ファイルパターンと除外設定がある
  • 推奨ルールが有効になっている

Ruff(Python 向け):

  • pyproject.toml に [tool.ruff] セクションがある
  • ルール(E、F、I、N など)が選択されている
  • 行の長さと対象の Python バージョンが設定されている

Clippy:

  • Cargo.toml に [lints.clippy] セクションがある
  • Pedantic lint が有効になっている
  • 該当する場合、ワークスペースレベルの lint が設定されている
ステップ 4:準拠レポートを生成する

次の項目を含む準拠レポートを出力します:

  • 設定ファイルの状態(存在/不足)
  • リンターの有効状態
  • ルール設定(推奨/最小限/不足)
  • フォーマッターの統合
  • 除外パターン
  • package.json / Makefile 内の lint スクリプト
  • pre-commit フックの統合
  • CI/CD チェックの統合

最後に、問題の総数と推奨事項を示します。

--check-only が設定されている場合は、ここで終了します。

ステップ 5:リンティングを設定する(--fix が指定されている場合、またはユーザーが確認した場合)

REFERENCE.md のテンプレートを使って設定を適用します。

Biome(JS/TS)の場合:

  1. 開発依存関係として Biome をインストールする
  2. 推奨ルールを含む biome.json を作成する
  3. npm スクリプト(lint、lint:fix、format、check)を追加する

Ruff(Python)の場合:

  1. uv add --group dev ruff で Ruff をインストールする
  2. pyproject.toml に [tool.ruff] セクションを追加する
  3. ルール、行の長さ、対象バージョンを設定する

Clippy(Rust)の場合:

  1. Cargo.toml に [lints.clippy] セクションを追加する
  2. pedantic lint を有効にする
  3. 該当する場合は、ワークスペースレベルの lint を設定する

レガシーなリンター(ESLint、Flake8 など)が検出された場合は、移行を提案します。REFERENCE.md の移行ガイドを参照してください。

ステップ 6:pre-commit と CI の統合を設定する
  1. リンターの pre-commit フックを .pre-commit-config.yaml に追加する
  2. リンターの CI チェックを GitHub Actions ワークフローに追加する
  3. REFERENCE.md のテンプレートを使う
ステップ 7:標準の追跡を更新する

.project-standards.yaml を更新します。

components:
  linting: "2025.1"
  linting_tool: "[biome|ruff|clippy]"
  linting_pre_commit: true
  linting_ci: true
ステップ 8:最終的な準拠レポートを出力する

適用したすべての変更、追加したスクリプト、設定した統合、およびユーザーの次の手順の概要を出力します。

詳細な設定テンプレート、移行ガイド、CI 統合のパターンについては、REFERENCE.md を参照してください。

エージェント向け最適化

コンテキストコマンド
リンター設定を検出find . -maxdepth 1 \( -name 'biome.json' -o -name 'ruff.toml' -o -name '.eslintrc*' \) 2>/dev/null
Biome 設定を確認test -f biome.json && jq -c '.linter' biome.json 2>/dev/null
pyproject の Ruff を確認grep -A5 '\[tool.ruff\]' pyproject.toml 2>/dev/null
lint スクリプトを一覧表示jq -r '.scripts | to_entries[] | select(.key | contains("lint")) | "\\(.key): \\(.value)"' package.json 2>/dev/null
準拠状況を簡易確認/configure:linting --check-only
設定を自動修正/configure:linting --fix

フラグ

フラグ説明
--check-only修正を提案せずにステータスを報告する
--fix確認を求めずにすべての修正を自動で適用する
--linter <linter>リンターの検出方法を上書きする(biome、ruff、clippy)

例

# Check compliance and offer fixes
/configure:linting

# Check only, no modifications
/configure:linting --check-only

# Auto-fix and migrate to Biome
/configure:linting --fix --linter biome

エラー処理

  • 複数のリンターを検出した場合:競合について警告し、移行を提案する
  • パッケージマネージャーが見つからない場合:リンターをインストールできないため、エラーとする
  • 設定が無効な場合:解析エラーを報告し、テンプレートへの置き換えを提案する
  • 依存関係が不足している場合:必要なパッケージのインストールを提案する

関連項目

コメント