node-lint について
node-lintは、Node.jsプロジェクトのLintとフォーマットを設定・移行するコーディングスキルです。ツール選定、明示的なルール、スクリプト、検証を整理し、Lintと型チェックの混同を避けます。
主な機能
- 01BiomeまたはESLintとPrettierの選定
- 02Lintとフォーマットの明示的な設定
- 03カスタムルールを保つ既存設定の移行
- 04パッケージスクリプトの設定と検証
活用シーン
- 01新しいTypeScriptプロジェクトのLint設定
- 02旧形式のESLint設定からの移行
- 03フォーマッターとスクリプトの整合性確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ paldom/ node-skills --skill node-lintインストール後、Claude Code で/node-lintを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/lint-playbook.mdscripts/check_lint_setup.py詳細
node-lint
リントとフォーマットを設定し、互いに競合するのではなく、実際の不具合を検出できるようにします。
このスキルで解決する問題:モデルが、現在の ESLint のメジャーバージョンでは読み込めない旧式の .eslintrc 設定を作成する、2 つのフォーマッターを併用する、Biome が型チェックを置き換えると誤って説明する、移行時に意図的なルールのカスタマイズをリセットする、といった問題です。
使用しない場合
- Next.js アプリ →
eslint-config-nextと RSC ルールはnextjs-qualityが担当します。 - 型チェック/tsconfig →
node-typescript(Biome の型を考慮したルールはtscの代替ではありません。そのような説明は決してしないでください)。 - テストのセットアップ →
node-testing、CI ワークフローの作成 →node-ci。
ワークフロー
- 選択前に検出します。 パッケージマネージャー(ロックファイル)、既存の設定(
.eslintrc*、eslint.config.*、biome.json*、.prettierrc*)、フレームワーク、プラグインの要件(アクセシビリティ、インポート、フレームワーク固有など)を確認します。 プラグインの要件によってツールが決まります。references/lint-playbook.mdの判断表を確認してください。- Biome — リントとフォーマットを 1 つのツールで行います。特殊なプラグイン要件のない TS ライブラリ/アプリに最も手早く導入できます。
- ESLint(フラット設定のみ — 現行のメジャーバージョンでは eslintrc は読み込まれません)+ Prettier — プラグインのエコシステムが必要な場合に使用します。
- フォーマッターを 2 つ使わないでください。フォーマッターと ESLint のスタイル規則を併用しないでください。
- プレイブックのスターターブロックを使って明示的な設定を記述します — バージョンによって変わるデフォルトに頼らず、設定をすべて明記してください。
package.jsonのスクリプト(lint、format、lint:fix)を設定し、CI では--max-warnings=0を指定します。 - 移行(既存の古いセットアップがある場合):プレイブックの手順に従います — 公式のフラット設定移行ツール、または
biome migrate eslintを使用します。 実際に適用されるルールセットを差分比較し、意図的なカスタマイズを保持します。古い設定を削除する前に、コードベース全体に対して実行し、新たに見つかった問題をトリアージします。 - 検証します:
さらに、選択したツールをリポジトリ全体で実行し、問題がないことを確認します(python3 "${CLAUDE_SKILL_DIR}/scripts/check_lint_setup.py"npx biome check .またはnpx eslint . --max-warnings=0)。 - 報告します:ツールを選んだ理由、意図的に無効にしたルール、CI でスクリプトを呼び出す場所を報告します(ワークフローの設定は
node-ciに引き継ぎます)。
出力仕様
リンター 1 つ、フォーマッター 1 つ、コミット済みの明示的な設定、設定済みのスクリプト、現在のコードベースでエラー/警告がゼロであること(またはトリアージ一覧が文書化されていること)、古い設定ファイルが残っていないこと、エディター設定が明記されていること。
注意点
- 現行の ESLint メジャーバージョンでは、フラット設定はリント対象ファイルごとにそのファイルのディレクトリを基準に解決されます — モノレポでは、パッケージごとに独自の設定レイヤーを持たせられます。
biome migrate eslintは対応できるルールを移行しますが、Biome に相当するルールがないものは警告なしに削除されます — 必ず差分を確認し、削除されたルールを一覧にしてください。- すべてのバージョン依存の情報を確認してください。ツールのメジャーバージョンは頻繁に変わります。プレイブックでは、使用時に公式ドキュメントで再確認が必要な記述を示しています。
- ルールを無効化して警告を抑えるだけのリント通過は失敗です — 検出結果を活用できるよう、問題を修正して調整してください。
ファイル
references/lint-playbook.md— 判断表、明示的なスターター設定、移行手順、調整の指針。scripts/check_lint_setup.py— 決定論的な健全性チェック(フォーマッターが 1 つであること、古い設定とフラット設定が共存しないこと、スクリプトが設定されていること)。違反があると終了コードが 0 以外になります。
コメント
Markdown 対応