mcpField
L
lint-and-validate

lint-and-validate

github.com/sickn33テスト・品質48.7k1.3k 回インストール今日更新
リポジトリ

lint-and-validate について

コードや設定の変更後に、リポジトリで設定済みの lint と型チェックを選んで実行するスキルです。コマンドの事前確認、自動修正やツールのダウンロード回避、実行結果と未確認項目の報告を重視します。

主な機能

  1. 01設定済みスクリプトとツールの確認
  2. 02読み取り専用の lint・型チェック
  3. 03不足チェッカーの取得回避
  4. 04結果と制限事項の報告
  5. 05範囲を限定したソース注釈の一覧化

活用シーン

  1. 01完了前の変更検証
  2. 02開発中の関連ファイルの確認
  3. 03実行できない必須ツールの報告

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill lint-and-validate

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

同梱ファイルscripts/lint_runner.pyscripts/type_coverage.py

詳細

リントと検証

使用するタイミング

リポジトリに関連するリントまたは型チェックがある場合に、動作や設定の変更後に使用します。まずリポジトリの指示とパッケージスクリプトを確認してください。開発中は焦点を絞ったチェックを実行し、完了前に必要なチェックを実行します。

手順

  1. 変更された言語、設定されたコマンド、インストール済みのツールを特定します。パッケージスクリプトを実行する前に検査してください。lint という名前のスクリプトがファイルを変更したり、任意のプロジェクトコードを実行したりする可能性があります。
  2. プロジェクトの読み取り専用のリント/型チェックコマンドを実行します。Node プロジェクトでは、npm run lint や npm run typecheck など、宣言されたスクリプトを優先してください。存在しないチェッカーを暗黙的に取得するために npx を使用しないでください。
  3. Python では、ruff check . や mypy . など、設定済みで既にインストールされているツールを使用します。すべての pyproject.toml が両方を設定していると想定しないでください。提案された変更とタスクの承認を確認せずに --fix を追加しないでください。
  4. ユーザーの作業を削除したり、ルールを弱めたり、合格するためだけにタイムアウトを延ばしたりすることなく、関連する失敗を修正します。必要なツールが利用できない場合は、実行されなかった正確なチェックを報告してください。
  5. コマンド、終了結果、スコープ、残っている制限を報告します。リントに合格しても、実行時やセキュリティ上の欠陥が存在しないことを証明するものではありません。

例

TypeScript の動作を修正した後、package.json を確認し、設定された焦点を絞った回帰テストを実行してから、それらのスクリプトが存在する場合は npm run lint と npm run typecheck を実行します。TypeScript が宣言されているがインストールされていない場合は、ローカルチェッカーが存在しないことを報告してください。ダウンロードしたパッケージで代用したり、その結果を合格と呼んだりしないでください。

同梱のヘルパー

  • python scripts/lint_runner.py /absolute/project: 候補チェックの保守的なセットを実行します。Node のフォールバックチェッカーはローカルの node_modules/.bin に存在する必要があり、Python の候補はインストールされている必要があります。まずプロジェクトスクリプトを検査してください。コマンドが見つからないかチェックが失敗した場合は終了コード 1、設定されたチェックがないかプロジェクトメタデータが無効な場合は終了コード 2 で終了します。終了コード 0 は、呼び出されたチェックが合格したことを意味するものであり、必要なすべてのチェックが検出されたことを意味するものではありません。Python の検出はヒューリスティックであり、設定されていない Ruff/MyPy コマンドを提案する可能性があります。
  • python scripts/type_coverage.py /absolute/project: 互換性のためにファイル名が保持されていますが、読み取り専用のアノテーションインベントリです。言語ごとに最大 30 ファイルをサンプリングし、リンクやビルド/依存関係ディレクトリをスキップし、ファイル読み取りを制限します。Python は AST ノードを使用して関数の二重カウントを回避します。TypeScript は字句上の : any の出現を報告します(コメントや文字列内の可能性を含みます)。品質のパーセンテージや合否のしきい値は推測されません。終了コード 2 は該当するファイルがないことを意味し、解析/読み取りエラーは終了コード 1 で終了します。

制限事項

ランナーは信頼されたプロジェクトコマンドを実行するため、ファイルを変更したりネットワークにアクセスしたりする可能性があります。依存関係のインストール、すべてのモノレポ設定の検出、プロジェクトの CI 契約の代替は行いません。インベントリは制限付きのソースサンプルであり、意味的な型カバレッジではありません。推論された型、ジェネリクス、デコレータの動作、正当性には実際の型チェッカーが必要です。実行されていないチェックを成功として扱わないでください。

コメント